public void Edit(OrganizationViewModel viewModel) { if (Organizations.FirstOrDefault(o => o.Id == viewModel.Id) == null) { throw new Exception("can't load by id: " + viewModel.Id.ToString()); } var model = OrganizationRespository.Entities.First(o => o.Id == viewModel.Id); //viewModel中Parent为null,所以model的ParentID不能被赋值 //if (viewModel.ParentID != model.ParentID) //{ // AutoMapper.Mapper.Map(viewModel, model); // model.Parent = null; //} //else //{ // AutoMapper.Mapper.Map(viewModel, model); //} model.Name = viewModel.Name; var isUpdate = OrganizationRespository.Update(model) > 0; if (isUpdate) { CleanCache(); LoadOrganizations(); } }
public List <OrganizationViewModel> LoadOrganizations() { List <Organization> data = OrganizationRespository.GetInclude(o => o.Parent).ToList(); List <OrganizationViewModel> vm = AutoMapper.Mapper.Map <List <OrganizationViewModel> >(data); return(vm); }
public void RemoeMemberForOrganiations(int organizationId, AppUser user) { Organization org = OrganizationRespository.Entities .Where(o => o.Id == organizationId).SingleOrDefault(); if (org == null) { throw new Exception("当前组织信息错误"); } org.Members.Remove(user); OrganizationRespository.Update(org); }
public void AddMemberForOrganiations(int organizationId, List <AppUser> users) { Organization org = OrganizationRespository.Entities .Where(o => o.Id == organizationId).SingleOrDefault(); if (org == null) { throw new Exception("当前组织信息错误"); } users.AddRange(org.Members.ToList()); org.Members = users; OrganizationRespository.Update(org); }
public void Delete(int id) { UnitOfWork.TransactionEnabled = true; // clear OrganizationUser table var model = OrganizationRespository.Entities.First(o => o.Id == id); model.Members.Clear(); OrganizationRespository.Update(model); int records = OrganizationRespository.Delete(r => r.ParentID.Value.Equals(id)); records = OrganizationRespository.Delete(id); UnitOfWork.SaveChanges(); CleanCache(); }
public void Add(OrganizationViewModel org) { Organization o = AutoMapper.Mapper.Map <Organization>(org); if (String.IsNullOrEmpty(o.Name)) { throw new Exception("Name is empty"); } if (o.ParentID.HasValue && Organizations.FirstOrDefault(m => m.Id == o.ParentID.Value) == null) { throw new Exception("can't find the parent node by id: " + o.ParentID.Value); } OrganizationRespository.Insert(o); CleanCache(); }