init project

This commit is contained in:
2021-02-23 09:51:50 +08:00
commit f7384b9afc
35 changed files with 938 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace QRCodeService.Application.Queries
{
public class GetLinkQueryHandler
{
}
}

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace QRCodeService.Application.Queries
{
public interface ILinkQueries
{
Task<Link> GetLinkAsync(string shortCode);
}
}

View File

@@ -0,0 +1,32 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dapper;
using MySqlConnector;
namespace QRCodeService.Application.Queries
{
public class LinkQueries : ILinkQueries
{
readonly string _connectionString;
public LinkQueries(string connectionString)
{
_connectionString = connectionString;
}
public async Task<Link> GetLinkAsync(string shortCode)
{
using(var connection = new MySqlConnection(_connectionString))
{
connection.Open();
var link = await connection.QueryAsync<Link>(
@"SELECT A FROM B WHERE ShortCode = @shortCode",new {shortCode });
return link.Single();
}
}
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace QRCodeService.Application.Queries
{
public class Link
{
public string ShortCode { get; set; }
public string FullUrl { get; set; }
}
}