public BaseModule Add(BaseModule entity) { using (var db = new Entities()) { if (!CheckModule(entity, db)) { entity.CreateDate = DateTime.Now; entity.CreateUserID = CurrentUserBiz.CurrentUser == null ? 0 : CurrentUserBiz.CurrentUser.ID; entity.ModifyDate = DateTime.Now; entity.ModifyUserID = CurrentUserBiz.CurrentUser == null ? 0 : CurrentUserBiz.CurrentUser.ID; db.BaseModule.Add(entity); Errors = db.GetErrors(); if (!HasError) { try { db.SaveChanges(); } catch (Exception e) { ParseErrors(e); } } } return entity; } }
public BaseModule Edit(BaseModule entity) { using (var db = new Entities()) { if (!CheckModule(entity, db)) { entity.ModifyDate = DateTime.Now; entity.ModifyUserID = CurrentUserBiz.CurrentUser == null ? 0 : CurrentUserBiz.CurrentUser.ID; var oldEntity = db.BaseModule.FirstOrDefault(q => q.ID == entity.ID && q.Valid); if (oldEntity != null) { entity.CopyToExcept(oldEntity, q => q.ID, q => q.CreateDate, q => q.CreateUserID); if (!HasError) { db.SaveChanges(); } } } return entity; } }
/// <summary> /// 检查模块的数据有效性 /// </summary> /// <param name="entity"></param> /// <param name="db"></param> /// <returns></returns> private bool CheckModule(BaseModule entity, Entities db) { if (db.BaseModule.Any(q => q.ModuleName.Equals(entity.ModuleName, StringComparison.OrdinalIgnoreCase) && q.Valid && q.ID != entity.ID && q.ParentID == entity.ParentID)) { Errors.Set("repeat", String.Format("模块名称{0}已经存在!", entity.ModuleName)); return true; } if (db.BaseModule.Any(q => q.ModuleCode.Equals(entity.ModuleCode, StringComparison.OrdinalIgnoreCase) && q.Valid && q.ID != entity.ID && q.ParentID == entity.ParentID)) { Errors.Set("repeat", String.Format("模块代码{0}已经存在!", entity.ModuleCode)); return true; } if (entity.ParentID != 0 && !db.BaseModule.Any(q => q.ID == entity.ParentID && q.Valid)) { Errors.Set("not exists", String.Format("父模块不存在!")); return true; } return false; }