/// <summary> /// 删除权限分组 /// </summary> /// <param name="deleteInfo">删除信息</param> /// <returns>执行结果</returns> public Result DeleteAuthorityGroup(DeleteAuthorityGroupCmdDto deleteInfo) { using (var businessWork = WorkFactory.Create()) { #region 参数判断 if (deleteInfo == null || deleteInfo.AuthorityGroupIds.IsNullOrEmpty()) { return(Result.FailedResult("没有指定要删除的权限分组")); } #endregion var result = AuthorityGroupDomainService.RemoveAuthorityGroup(deleteInfo.AuthorityGroupIds); if (!result.Success) { return(result); } var exectVal = businessWork.Commit(); return(exectVal.ExecutedSuccess ? Result.SuccessResult("删除成功") : Result.FailedResult("删除失败")); } }
/// <summary> /// 修改密码 /// </summary> /// <param name="modifyInfo">修改信息</param> /// <returns></returns> public Result ModifyPassword(ModifyPasswordCmdDto modifyInfo) { using (var businessWork = WorkFactory.Create()) { #region 参数判断 if (modifyInfo == null) { return(Result.FailedResult("没有指定任何修改信息")); } #endregion var modifyResult = userService.ModifyPassword(modifyInfo.MapTo <ModifyUserPassword>()); if (!modifyResult.Success) { return(modifyResult); } var execValue = businessWork.Commit(); return(execValue.ExecutedSuccess ? Result.SuccessResult("修改成功") : Result.FailedResult("修改失败")); } }
/// <summary> /// 修改角色排序 /// </summary> /// <param name="sortInfo">排序修改信息</param> /// <returns></returns> public Result ModifyRoleSort(ModifyRoleSortCmdDto sortInfo) { using (var businessWork = WorkFactory.Create()) { #region 参数判断 if (sortInfo == null || sortInfo.RoleSysNo <= 0) { return(Result.FailedResult("没有指定要修改的角色")); } #endregion var modifyResult = roleService.ModifyRoleSort(sortInfo.RoleSysNo, sortInfo.NewSort); if (!modifyResult.Success) { return(modifyResult); } var executeVal = businessWork.Commit(); return(executeVal.ExecutedSuccess ? Result.SuccessResult("排序修改成功") : Result.FailedResult("排序修改失败")); } }
public IEnumerable <IFound> Search(SearchArguments searchArguments) { var result = new List <AlbumFound>(); IEnumerable <string> searchWords = searchArguments.SearchQuery.SplitSearchString(); using (IUnitOfWork unitOfWork = WorkFactory.GetUnitOfWork()) { IEnumerable <AlbumModel> avialableAlbums = secureService.GetAvailableAlbums(searchArguments.UserId, unitOfWork); if (searchArguments.IsSearchAlbumsByName) { IEnumerable <AlbumFound> found = SearchByCondition(searchWords, avialableAlbums, model => searchWords.Any(searchWord => model.Name.Contains(searchWord)), CalculateRelevanceByName); result.AddRange(found); } if (searchArguments.IsSearchAlbumsByDescription) { IEnumerable <AlbumFound> found = SearchByCondition(searchWords, avialableAlbums, model => searchWords.Any(searchWord => model.Description.Contains(searchWord)), CalculateRelevaceByDescription); result.AddRange(found); } if (searchArguments.IsSearchAlbumsByTags) { IEnumerable <AlbumFound> found = SearchByTags(avialableAlbums, searchWords); result.AddRange(found); } } return(Group(result)); }
public void DeleteAlbum(int userId, int albumId) { using (IUnitOfWork unitOfWork = WorkFactory.GetUnitOfWork()) { UserModel user = GetUser(userId, unitOfWork); AlbumModel album = GetAlbum(userId, albumId, unitOfWork); if (IsAlbumSystem(album)) { throw new AlbumNotFoundException(string.Format("Can't delete system album with id={0}", albumId)); } if (album.OwnerId != userId && !user.IsAdmin) { throw new AlbumNotFoundException( string.Format("You have no permissions for deleting album with id={0}", albumId)); } album.IsDeleted = true; unitOfWork.SaveChanges(); } }
/// <summary> /// 修改用户绑定角色 /// </summary> /// <param name="bindInfo">绑定信息</param> public Result ModifyUserBindRole(ModifyUserBindRoleCmdDto bindInfo) { if (bindInfo == null || (bindInfo.Binds.IsNullOrEmpty() && bindInfo.UnBinds.IsNullOrEmpty())) { return(Result.FailedResult("没有指定任何要修改的绑定信息")); } using (var businessWork = WorkFactory.Create()) { //解绑 if (!bindInfo.UnBinds.IsNullOrEmpty()) { userRoleService.UnBindUserAndRole(bindInfo.UnBinds.Select(c => new Tuple <User, Role>(User.CreateUser(c.Item1?.SysNo ?? 0), Role.CreateRole(c.Item2?.SysNo ?? 0))).ToArray()); } //绑定 if (!bindInfo.Binds.IsNullOrEmpty()) { userRoleService.BindUserAndRole(bindInfo.Binds.Select(c => new Tuple <User, Role>(User.CreateUser(c.Item1?.SysNo ?? 0), Role.CreateRole(c.Item2?.SysNo ?? 0))).ToArray()); } var commitResult = businessWork.Commit(); return(commitResult.ExecutedSuccess ? Result.SuccessResult("修改成功") : Result.FailedResult("修改失败")); } }
/// <summary> /// 删除任务工作文件 /// </summary> /// <param name="deleteInfo">删除信息</param> /// <returns>执行结果</returns> public Result DeleteJobFile(DeleteJobFileCmdDto deleteInfo) { #region 参数判断 if (deleteInfo == null || deleteInfo.JobFileIds.IsNullOrEmpty()) { return(Result.FailedResult("没有指定要删除的任务工作文件")); } #endregion using (var businessWork = WorkFactory.Create()) { var jobFiles = deleteInfo.JobFileIds.Select(c => JobFile.CreateJobFile(c)); var deleteResult = JobFileDomainService.DeleteJobFile(jobFiles); if (!deleteResult.Success) { return(deleteResult); } var commitResult = businessWork.Commit(); return(commitResult.ExecutedSuccess ? Result.SuccessResult("删除成功") : Result.FailedResult("删除失败")); } }
public IEnumerable <int> AddPhotos(int userId, int albumId, IEnumerable <PhotoModel> photos) { using (IUnitOfWork unitOfWork = WorkFactory.GetUnitOfWork()) { AlbumModel album = GetAlbum(userId, albumId); var notAllowed = !_secureService.CanUserAddPhoto(userId, album.Id); if (notAllowed) { throw new NoEnoughPrivilegesException("User can't get access to photos"); } IEnumerable <PhotoModel> photoModels = photos as IList <PhotoModel> ?? photos.ToList(); foreach (PhotoModel photo in photoModels) { album.Photos.Add(photo); } unitOfWork.SaveChanges(); return(photoModels.Select(photo => photo.Id).ToList()); } }
/// <summary> /// Remove Objects /// </summary> /// <param name="objDatas">objects</param> public sealed override async Task RemoveAsync(params DT[] objDatas) { #region Verify Parameters if (objDatas == null || objDatas.Length <= 0) { throw new Exception("objDatas is null or empty"); } foreach (var obj in objDatas) { if (obj == null) { throw new Exception("remove object data is null"); } if (!obj.CanBeRemove) { throw new Exception("object data cann't to be remove"); } } #endregion var records = new List <IActivationRecord>(objDatas.Length); foreach (var data in objDatas) { var record = await ExecuteRemoveAsync(data).ConfigureAwait(false);//execute remove if (record == null) { continue; } records.Add(record); } RepositoryEventBus.PublishRemove(GetType(), objDatas); WorkFactory.RegisterActivationRecord(records.ToArray()); }
/// <summary> /// save datas /// </summary> /// <param name="datas">datas</param> /// <param name="activationOption">activation option</param> public sealed override async Task SaveAsync(IEnumerable <T> datas, ActivationOption activationOption = null) { #region verify parameters if (datas.IsNullOrEmpty()) { throw new Exception($"{nameof(datas)} is null or empty"); } foreach (var obj in datas) { if (obj == null) { continue; } if (!obj.CanBeSave) { throw new Exception("data cann't to be save"); } } #endregion var records = new List <IActivationRecord>(datas.Count()); foreach (var data in datas) { var record = await ExecuteSaveAsync(data, activationOption).ConfigureAwait(false);//execute save if (record == null) { continue; } records.Add(record); } RepositoryEventBus.PublishSave(GetType(), datas, activationOption); WorkFactory.RegisterActivationRecord(records.ToArray()); }
public int PhotoCount(int userId) { using (IUnitOfWork unitOfWork = WorkFactory.GetUnitOfWork()) return(unitOfWork.Photos.Filter(model => model.OwnerId == userId && !model.IsDeleted).Count()); }