using System.Collections.Generic; using System.Data; using System.Linq; using System.Threading.Tasks; using Dapper; using GCAS.Model; namespace GCAS.Code { public class OperatorRepository { public async Task Insert(OperatorModel entity) { string exitSql = "Select count(1) from operator where name=@Name"; string insertSql = "INSERT INTO operator (name,pwd,truename,time,role) VALUES (@Name,@Pwd,@TrueName,NOW(),@Role)"; using (IDbConnection conn = DataBaseConfig.GetSqlConnection()) { var count = await conn.QueryFirstAsync(exitSql, new { entity.Name }); if (count > 0) { return -1; } return await conn.ExecuteAsync(insertSql, entity); } } public async Task Update(OperatorModel entity) { string exitSql = "Select count(1) from operator where name=@Name and id<>@Id"; string updateSql = "Update operator set name=@Name,truename=@TrueName,pwd=@Pwd,time=@Time,role=@Role where id=@Id"; using (IDbConnection conn = DataBaseConfig.GetSqlConnection()) { var count = await conn.QueryFirstAsync(exitSql, entity); if (count > 0) { return -1; } return await conn.ExecuteAsync(updateSql, entity); } } public async Task Delete(int id) { string deleteSql = "Delete from operator where id=@Id"; using (IDbConnection conn = DataBaseConfig.GetSqlConnection()) { return await conn.ExecuteAsync(deleteSql, new { Id = id }); } } public async Task> GetList(string language) { string selectSql = "SELECT id, name,truename,pwd,time,role,@Language as language from operator ORDER BY id ASC"; using (IDbConnection conn = DataBaseConfig.GetSqlConnection()) { return await Task.Run(() => conn.Query(selectSql, new { Language = language }).ToList()); } } public async Task Get(string name, string pwd) { string selectSql = "SELECT id,name,pwd,truename,time,role FROM operator WHERE name=@name AND pwd=@pwd"; using (IDbConnection conn = DataBaseConfig.GetSqlConnection()) { return await Task.Run(() => conn.QueryFirstOrDefault(selectSql, new { name, pwd })); } } public async Task Get(int id) { string selectSql = "SELECT id,name,pwd,truename,time,role FROM operator WHERE id=@Id"; using (IDbConnection conn = DataBaseConfig.GetSqlConnection()) { return await Task.Run(() => conn.QueryFirstOrDefault(selectSql, new { Id = id })); } } } }