/// <summary> /// 添加用户 /// </summary> /// <param name="sysUser"></param> /// <returns></returns> public async Task <bool> AddUser(SysUser sysUser) { sysUser.Id = Guid.NewGuid(); var str = sysUser.RoleIds; var RoleIds = JsonConvert.DeserializeObject <List <Guid> >(sysUser.RoleIds); var Rolelist = new List <SysUserRole>(); Rolelist.AddRange(RoleIds.Select(x => new SysUserRole { RoleId = x, CreatedId = sysUser.CreatedId, CreatedName = sysUser.CreatedName, UserIdOrDepId = sysUser.Id, })); try { _unitofWork.BeginTransaction(); await _userRepositoty.InsertAsync(sysUser); await _userRoleRepository.InsertAsync(Rolelist); _unitofWork.Commit(); return(true); } catch (Exception) { throw; } }
public async Task <int> CreateProductAsync(ProductEntity argProductEntity) { var itemData = _mapper.Map <Products>(argProductEntity); using (var transaction = _unitOfWork.BeginTransaction()) { await _genericRepository.InsertAsync(itemData).ConfigureAwait(false); await _unitOfWork.SaveChangesAsync().ConfigureAwait(false); transaction.Commit(); } return(itemData.Id); }
public async Task <bool> SaveRoleByUser(UpdateUserRoleVo updateUserRole) { try { var RoleIds = new List <Guid>(); if (!updateUserRole.RoleIds.IsNullOrEmpty()) { RoleIds.AddRange(JsonConvert.DeserializeObject <List <Guid> >(updateUserRole.RoleIds)); } var Rolelist = new List <SysUserRole>(); var deletelist = await _userRoleRepository.GetAllListAsync(x => x.UserIdOrDepId == updateUserRole.userId); Rolelist.AddRange(RoleIds.Select(x => new SysUserRole { RoleId = x, CreatedId = updateUserRole.CreateId, CreatedName = updateUserRole.CreateName, UserIdOrDepId = updateUserRole.userId, })); _unitofWork.BeginTransaction(); await _userRoleRepository.Delete(deletelist); await _userRoleRepository.InsertAsync(Rolelist); _unitofWork.Commit(); return(true); } catch (Exception) { throw; } }
/// <summary> /// 保存权限方法 /// </summary> /// <param name="saveRoleAssigView"></param> /// <returns></returns> public async Task <bool> SaveRoleAssig(SaveRoleAssigViewModel saveRoleAssigView) { List <Guid> BtnIdlist = new List <Guid>(); BtnIdlist.AddRange(JsonConvert.DeserializeObject <List <Guid> >(saveRoleAssigView.BtnIds));//获取选中的按钮ID List <RoleAssigMenuViewModel> roleAssigMenuViews = new List <RoleAssigMenuViewModel>(); roleAssigMenuViews.AddRange(JsonConvert.DeserializeObject <List <RoleAssigMenuViewModel> >(saveRoleAssigView.menuIds));//获取选中的按钮ID try { var sysButtonlist = await _buttonRepositoty.GetAllListAsync(x => BtnIdlist.Contains(x.Id));//根据按钮ID获取所有的按钮及对应的菜单 var DeleteroleRight = await _roleRightAssigRepository.GetAllListAsync(x => x.RoleId == saveRoleAssigView.RoleId); List <SysRoleRight> SysRoleRightList = new List <SysRoleRight>(); var menuIds = sysButtonlist.Select(x => new { x.MenuId }).Distinct().ToList(); //根据按钮ID获取所有的按钮及对应的菜单,并且根据菜单ID去重 foreach (var item in menuIds) //将去重的菜单ID添加到角色权限List容器中 { SysRoleRightList.Add(new SysRoleRight { MenuId = item.MenuId, RoleId = saveRoleAssigView.RoleId, CreatedId = saveRoleAssigView.CreatedId, CreatedName = saveRoleAssigView.CreatedName, }); } var ReadMenulist = SysRoleRightList.ToSelectList(x => x.MenuId); var MenuList = roleAssigMenuViews.Where(x => !ReadMenulist.Contains(x.Id)).ToList(); //获取到还未选中的菜单 SysRoleRightList.AddRange(MenuList.Select(x => new SysRoleRight //将未选中的菜单添加到角色权限对象中 { MenuId = x.Id, RoleId = saveRoleAssigView.RoleId, CreatedId = saveRoleAssigView.CreatedId, CreatedName = saveRoleAssigView.CreatedName, }).ToList()); SysRoleRightList.ForEach(item =>//根据菜单ID获取菜单下面所有的按钮 { var BtnList = sysButtonlist.Where(x => x.MenuId == item.MenuId).ToList(); item.ButtonIds = string.Join(",", BtnList.Select(x => x.Id)); }); _unitofWork.BeginTransaction(); await _roleRightAssigRepository.Delete(DeleteroleRight); await _roleRightAssigRepository.InsertAsync(SysRoleRightList); _unitofWork.Commit(); return(true); } catch (Exception ex) { throw new Exception($"Commit 异常:{ex.InnerException}/r{ ex.Message}"); } }
public void SaveData(mstCar data) { try { _uow.Open(DBConnection.BMIERP); _uow.BeginTransaction(); var repo = new mstCarRepository(_uow); repo.Add(data); _uow.CommitTransaction(); } catch (Exception) { _uow.RollbackTransaction(); throw; } finally { _uow.Dispose(); } }
public void Save() { try { _uow.Open(DBConnection.BMIERP); _uow.BeginTransaction(); var repo = new mstLogRepository(_uow); repo.Add(_mstLog); _uow.CommitTransaction(); } catch (Exception) { _uow.RollbackTransaction(); } finally { _uow.Dispose(); } }
public ActionResult Insert(EPostDTO post) { try { _uow.BeginTransaction(); post.Slug = _postService.GetSlugAnyPost(StringManager.ToSlug(post.Title)); post.UserId = ((SessionContext)Session["SessionContext"]).Id; post.PostContent = HttpUtility.HtmlEncode(post.PostContent); if (Session["TempImage"] != null) { post.Image = (byte[])Session["TempImage"]; } _postService.Insert(post); _uow.SaveChanges(); _uow.Commit(); return(Json(true, JsonRequestBehavior.AllowGet)); } catch (Exception) { _uow.Rollback(); return(Json(false, JsonRequestBehavior.AllowGet)); } }
public void Save(CarViewModel vm) { try { _uow.Open(DBConnection.BMIERP); _uow.BeginTransaction(); _carDomain.SaveDataFacade(vm.car, _uow); vm.sparepart.CarID = vm.car.AutoID; _SparePartDomain.SaveDataFacade(vm.sparepart, _uow); _uow.CommitTransaction(); } catch (Exception) { _uow.RollbackTransaction(); throw; } finally { _uow.Dispose(); } }
public void BeginTransaction() { _uow = ServiceLocator.Current.GetInstance <IUnitofWork>(); _uow.BeginTransaction(); }