using Infrastructure; using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities; using OpenAuth.App.Base; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OpenAuth.App.BaseApp.Base; namespace OpenAuth.App { public class WFStampApp : SqlSugarBaseApp { public WFStampApp(ISugarUnitOfWork unitWork, ISimpleClient repository, IAuth auth) : base(unitWork, repository, auth) { } #region 获取数据 /// /// 获取签章列表 /// /// 用户id /// public async Task> GetList(string userId) { return await base.Repository.GetListAsync(t => t.UserIds.Contains(userId) && t.EnabledMark == 1); } /// /// 获取管理分页列表 /// /// 分页参数 /// 查询参数 /// public async Task>> GetPageList(PageReq pageReq, WFStamp queryParams) { RefAsync totalCount = 0; var expression = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(queryParams.StampName), t => t.StampName.Contains(queryParams.StampName)) .AndIF(queryParams.EnabledMark != null, (t => t.EnabledMark == queryParams.EnabledMark)) .AndIF(!string.IsNullOrEmpty(queryParams.StampType), t => t.StampType == queryParams.StampType); var list = await base.Repository .GetPageListAsync(expression.ToExpression(), new PageModel { PageIndex = pageReq.page, PageSize = pageReq.limit, TotalCount = totalCount }); return new PageInfo> { Items = list, Total = totalCount }; } #endregion #region 提交数据 /// /// 保存印章信息(新增/编辑) /// /// 主键 /// 实体 public async Task> SaveEntity(string keyValue, WFStamp entity) { var flag = false; entity.User = _auth.GetUserId(); entity.CreateDate = DateTime.Now; if (string.IsNullOrEmpty(keyValue)) { entity.StampId = Guid.NewGuid().ToString(); //产生印章编号 flag = await base.Repository.InsertAsync(entity); } else { entity.StampId = keyValue; flag = await base.Repository.UpdateAsync(entity); } return new Response { Result = flag, Message = flag == true ? "success" : "error" }; } /// /// 删除印章信息 /// /// 主键 public async Task> DeleteEntity(string keyVlaue) { var flag = await base.Repository.DeleteByIdAsync(keyVlaue);//删除操作 return new Response { Result = flag, Message = flag == true ? "success" : "error" }; } #endregion #region 扩展方法 /// /// 更新数据状态 /// /// 主键 /// 状态 1启用 0禁用 public async Task> UpdateState(string keyValue, int state) { var flag = await base.Repository .UpdateSetColumnsTrueAsync( a => new WFStamp { EnabledMark = state }, a => a.StampId == keyValue );//删除操作 return new Response { Result = flag, Message = flag == true ? "success" : "error" }; } public async Task GetEntity(string keyValue) { return await base.Repository.GetByIdAsync(keyValue); } /// /// 密码匹配 /// /// 主键 /// 密码 /// public async Task> EqualPassword(string keyValue, string password) { var reponse = new Response(); WFStamp entity = await GetEntity(keyValue); if (entity.Password.Equals(password))//加密后进行对比 { reponse.Result = true; reponse.Message = "success"; } else { reponse.Result = false; reponse.Message = "error"; } return reponse; } /// /// 签章图片归档并验证密码 /// /// 主键 /// 密码 /// public Task ToWfImg(string keyValue, string password) { return null; } #endregion } }