using NFine.Code; using NFine.Domain.Entity.SystemManage; using NFine.Domain.IRepository.SystemManage; using NFine.Repository.SystemManage; using System; using System.Collections.Generic; using System.Linq; namespace NFine.Application.SystemManage { public class ModuleButtonApp { private IModuleButtonRepository service = new ModuleButtonRepository(); public List GetList(string moduleId = "") { var expression = ExtLinq.True(); if (!string.IsNullOrEmpty(moduleId)) { expression = expression.And(t => t.F_ModuleId == moduleId); } return service.IQueryable(expression).OrderBy(t => t.F_SortCode).ToList(); } public ModuleButtonEntity GetForm(string keyValue) { return service.FindEntity(keyValue); } public void DeleteForm(string keyValue) { if (service.IQueryable().Count(t => t.F_ParentId.Equals(keyValue)) > 0) { throw new Exception("删除失败!操作的对象包含了下级数据。"); } else { service.Delete(t => t.F_Id == keyValue); } } public void SubmitForm(ModuleButtonEntity moduleButtonEntity, string keyValue) { if (!string.IsNullOrEmpty(keyValue)) { moduleButtonEntity.Modify(keyValue); service.Update(moduleButtonEntity); } else { moduleButtonEntity.Create(); service.Insert(moduleButtonEntity); } } public void SubmitCloneButton(string moduleId, string Ids) { string[] ArrayId = Ids.Split(','); var data = this.GetList(); List entitys = new List(); foreach (string item in ArrayId) { ModuleButtonEntity moduleButtonEntity = data.Find(t => t.F_Id == item); moduleButtonEntity.F_Id = Common.GuId(); moduleButtonEntity.F_ModuleId = moduleId; entitys.Add(moduleButtonEntity); } service.SubmitCloneButton(entitys); } } }