public async Task <OperationResult <bool> > Handle(UpdateUserCommand request, CancellationToken cancellationToken) { string fileName = null; var getUser = await unitOfWork.UsersRepository.GetUserByIdAsync(request.Id, cancellationToken); if (getUser.Result != null) { if (request.Photo != null) { var uploadFile = await UploadUtiltie.UploadInCustomePath(request.Photo, ".png", request.Username, UploadFolderPath.PathUserUploadFolder(), UploadFolderPath.PathAvatarUserUploadFolder()); fileName = uploadFile.Result; } getUser.Result.UpdateProperties(request.Username, request.Name, request.Family, request.Email, fileName); var addUser = unitOfWork.UsersRepository.Update(getUser.Result, cancellationToken); if (addUser.Success) { try { unitOfWork.CommitSaveChange(); return(OperationResult <bool> .BuildSuccessResult(true)); } catch (Exception ex) { return(OperationResult <bool> .BuildFailure(ex.Message)); } } } return(OperationResult <bool> .BuildFailure(getUser.ErrorMessage)); }
public async Task <OperationResult <string> > Handle(CreatePostMagazineCommands request, CancellationToken cancellationToken) { ///Upload Poster var uploadFile = await UploadUtiltie.UploadInCustomePath(request.Photo, ".png", request.Title, UploadFolderPath.PathPosterUploadFolder(), UploadFolderPath.PathPosterUpload()); if (uploadFile.Success) { /// Add New Post PostMagazine postMagazine = new PostMagazine(request.Title, request.Description, uploadFile.Result, request.PostContent, request.DownloadLink, request.SubTitleLink, request.CategoryId, request.WriterId); var add = await unitOfWork.PostMagazineRepository.AddPostManagazinAsync(postMagazine, cancellationToken); if (add.Success) { try { await unitOfWork.CommitSaveChangeAsync(); return(OperationResult <string> .BuildSuccessResult("Add Success")); } catch (Exception ex) { return(OperationResult <string> .BuildSuccessResult(ex.Message)); } } } return(OperationResult <string> .BuildSuccessResult(uploadFile.ErrorMessage)); }
public async Task <OperationResult <string> > Handle(CreateUserCommand request, CancellationToken cancellationToken) { string fileName = null; if (request.Photo != null) { var uploadFile = await UploadUtiltie.UploadInCustomePath(request.Photo, ".png", request.Username, UploadFolderPath.PathUserUploadFolder(), UploadFolderPath.PathAvatarUserUploadFolder()); fileName = uploadFile.Result; } /// Register User var user = new User(request.Username, request.Password, request.Name, request.Family, request.PhoneNumber, request.Email, fileName); var addUser = await unitOfWork.UsersRepository.AddAsync(user, cancellationToken); if (addUser.Success) { try { var registerSetting = await unitOfWork.SettingRepository.Get <RegisterUserSetting>(SettingEnum.RegisterUserSetting.EnumToString(), cancellationToken); if (registerSetting.Result != null) { /// Add User Role var addUserRole = await mediator.Send(new CreateUserRoleCommand(registerSetting.Result.RegisterRoleByAdmin, user.Id)); if (addUserRole.Success) { /// Add User Generation Code ActivationCode acCode = new ActivationCode(user.Id, CodeTypes.PhoneConfirmed, Utility.Hash(user.Username)); var gerateActivationCode = await unitOfWork.UsersRepository.ActivationCodeRepository.AddAsync(acCode, cancellationToken); if (gerateActivationCode.Success) { /// Send Registration Code SendNotif sendNotif = sendNotifs.Where(x => x.SendCodeType == registerSetting.Result.SendCodeVerifications) .FirstOrDefault(); var sendCode = await sendNotif.SendCodeAsync(gerateActivationCode.Result.Item2.ToString(), user.PhoneNumber, cancellationToken); if (sendCode.Success) { /// Save to Database await unitOfWork.CommitSaveChangeAsync(); return(OperationResult <string> .BuildSuccessResult(gerateActivationCode.Result.Item1)); } } } } } catch (Exception ex) { return(OperationResult <string> .BuildFailure(ex.Message)); } } return(OperationResult <string> .BuildFailure(addUser.ErrorMessage)); }
public async Task <OperationResult <string> > Handle(UpdatePostMagazineCommands request, CancellationToken cancellationToken) { string fileName = ""; var findPost = await unitOfWork.PostMagazineRepository.GetPostById(request.Id, cancellationToken); if (findPost.Result != null) { ///Upload Poster if (request.Photo != null) { var uploadFile = await UploadUtiltie.UploadInCustomePath(request.Photo, ".png", request.Title, UploadFolderPath.PathPosterUploadFolder(), UploadFolderPath.PathPosterUpload()); if (uploadFile.Success) { fileName = uploadFile.Result; } } /// Add New Post findPost.Result.SetProperties(request.Title, request.Description, request.Photo != null ? fileName : findPost.Result.Photo, request.PostContent, request.DownloadLink, request.SubTitleLink, request.CategoryId, request.WriterId); var add = unitOfWork.PostMagazineRepository.Update(findPost.Result, cancellationToken); if (add.Success) { try { await unitOfWork.CommitSaveChangeAsync(); return(OperationResult <string> .BuildSuccessResult("Add Success")); } catch (Exception ex) { return(OperationResult <string> .BuildSuccessResult(ex.Message)); } } } return(OperationResult <string> .BuildSuccessResult(findPost.ErrorMessage)); }