using System; using System.Linq; using System.Threading.Tasks; using Infrastructure; using Microsoft.Extensions.Options; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using OpenAuth.Repository.Interface; namespace OpenAuth.App { public class FormApp : BaseApp { private IAuth _auth; private IOptions _appConfiguration; /// /// 加载列表 /// public async Task Load(QueryFormListReq request) { var result = new TableData(); var forms = GetDataPrivilege("u"); if (!string.IsNullOrEmpty(request.key)) { forms = forms.Where(u => u.Name.Contains(request.key) || u.Id.Contains(request.key)); } result.data = forms.OrderByDescending(u => u.CreateDate) .Skip((request.page - 1) * request.limit) .Take(request.limit).ToList(); result.count = forms.Count(); return result; } public void Add(Form obj) { var user = _auth.GetCurrentUser().User; obj.CreateUserId = user.Id; obj.CreateUserName = user.Name; UnitWork.Add(obj); if (!string.IsNullOrEmpty(obj.DbName)) { UnitWork.ExecuteSql(FormUtil.GetSql(obj, _appConfiguration.Value.DbType)); } UnitWork.Save(); } public void Update(Form obj) { Repository.Update(u => u.Id == obj.Id, u => new Form { ContentData = obj.ContentData, Content = obj.Content, ContentParse = obj.ContentParse, Name = obj.Name, Disabled = obj.Disabled, DbName = obj.DbName, SortCode = obj.SortCode, Description = obj.Description, OrgId = obj.OrgId, ModifyDate = DateTime.Now }); if (!string.IsNullOrEmpty(obj.DbName)) { UnitWork.ExecuteSql(FormUtil.GetSql(obj, _appConfiguration.Value.DbType)); } } public FormResp FindSingle(string id) { var form = Get(id); return form.MapTo(); } public FormApp(IUnitWork unitWork, IRepository repository, IAuth auth, IOptions appConfiguration) : base(unitWork, repository, auth) { _auth = auth; _appConfiguration = appConfiguration; } } }