/// <summary> /// 创建一个人员 /// </summary> /// <param name="db">实体数据</param> /// <param name="entity">将要创建的一个人员</param> public void Create(SysEntities db, SysPerson entity) { if (entity != null) { db.SysPerson.AddObject(entity); } }
/// <summary> /// 创建一个人员 /// </summary> /// <param name="entity">一个对象</param> /// <returns></returns> public int Create(SysPerson entity) { using (SysEntities db = new SysEntities()) { Create(db, entity); return(this.Save(db)); } }
/// <summary> /// 删除一个人员 /// </summary> /// <param name="db">实体数据</param> /// <param name="id">一条人员的主键</param> public void Delete(SysEntities db, string id) { SysPerson deleteItem = GetById(db, id); if (deleteItem != null) { db.SysPerson.DeleteObject(deleteItem); } }
/// <summary> /// 验证用户名是否改变 /// </summary> /// <param name="name">用户名</param> /// <returns></returns> public bool CheckName(SysPerson sysPerson) { using (SysEntities dbCheckName = new SysEntities()) { SysPerson person = dbCheckName.SysPerson.FirstOrDefault(f => f.Id == sysPerson.Id); if (person != null) { if (sysPerson.Name == person.Name) { return false;//没有修改用户名 } else { return CheckName(sysPerson.Name); } } } return true; }
/// <summary> /// 创建一个人员 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="db">数据库上下文</param> /// <param name="entity">一个人员</param> /// <returns></returns> public bool Create(ref ValidationErrors validationErrors, SysEntities db, SysPerson entity) { int count = 1; if (CheckName(entity.Name)) { validationErrors.Add("用户名已被占用,请换一个新的用户名"); return false; } foreach (string item in entity.SysRoleId.GetIdSort()) { SysRole sys = new SysRole { Id = item }; db.SysRole.Attach(sys); entity.SysRole.Add(sys); count++; } repository.Create(db, entity); if (count == repository.Save(db)) { return true; } else { validationErrors.Add("创建出错了"); } return false; }
/// <summary> /// 编辑一个人员 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="entity">一个人员</param> /// <returns>是否编辑成功</returns> public bool Edit(ref ValidationErrors validationErrors, SysPerson entity) { try { using (TransactionScope transactionScope = new TransactionScope()) { if (Edit(ref validationErrors, db, entity)) { transactionScope.Complete(); return true; } else { Transaction.Current.Rollback(); } } } catch (Exception ex) { validationErrors.Add(ex.Message); ExceptionsHander.WriteExceptions(ex); } return false; }
/// <summary> /// 编辑一个人员 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="db">数据上下文</param> /// <param name="entity">一个人员</param> /// <returns>是否编辑成功</returns> public bool Edit(ref ValidationErrors validationErrors, SysEntities db, SysPerson entity) { /* * 不操作 原有 现有 * 增加 原没 现有 * 删除 原有 现没 */ if (entity == null) { return false; } if (CheckName(entity)) { validationErrors.Add("用户名已被占用,请换一个新的用户名"); return false; } int count = 1; SysPerson editEntity = repository.Edit(db, entity); List<string> addSysRoleId = new List<string>(); List<string> deleteSysRoleId = new List<string>(); DataOfDiffrent.GetDiffrent(entity.SysRoleId.GetIdSort(), entity.SysRoleIdOld.GetIdSort(), ref addSysRoleId, ref deleteSysRoleId); if (addSysRoleId != null && addSysRoleId.Count() > 0) { foreach (var item in addSysRoleId) { SysRole sys = new SysRole { Id = item }; db.SysRole.Attach(sys); editEntity.SysRole.Add(sys); count++; } } if (deleteSysRoleId != null && deleteSysRoleId.Count() > 0) { List<SysRole> listEntity = new List<SysRole>(); foreach (var item in deleteSysRoleId) { SysRole sys = new SysRole { Id = item }; listEntity.Add(sys); db.SysRole.Attach(sys); } foreach (SysRole item in listEntity) { editEntity.SysRole.Remove(item);//查询数据库 count++; } } if (count == repository.Save(db)) { return true; } else { validationErrors.Add("编辑人员出错了"); } return false; }
/// <summary> /// 编辑一个人员对象 /// </summary> /// <param name="db">实体数据</param> /// <param name="entity">将要编辑的一个人员对象</param> public SysPerson Edit(SysEntities db, SysPerson entity) { db.SysPerson.Attach(entity); db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified); return(entity); }