private async Task <bool> SetDepartmentAvatarImage(int accountId, CoverImageVM coverData) { var department = await _organizationService.GetDepartmentById(coverData.ItemId); if (department == null) { return(false); } ImgSaveResult httpResult; if (!Helpers.IsProperString(department.Avatar)) { httpResult = await _photoService.SendSavePhotosRequestToRoutinizeStorageApi( new ImgUploadVM { AccountId = accountId, TokenId = coverData.TokenId, UploadedFile = coverData.UploadedFile } ); } else { httpResult = await _photoService.SendReplacePhotosRequestToRoutinizeStorageApi( new ImgReplaceVM { AccountId = accountId, TokenId = coverData.TokenId, FileToSave = coverData.UploadedFile, CurrentImage = Helpers.ExtractImageNameFromPath(department.Avatar) } ); } if (httpResult.Error) { return(false); } var savedImageName = $"{ httpResult.Result.Location }{ httpResult.Result.Name }"; department.Avatar = savedImageName; var updateResult = await _organizationService.UpdateDepartment(department); if (updateResult.HasValue && updateResult.Value) { return(true); } await _photoService.SendDeletePhotosRequestToRoutinizeStorageApi(coverData.TokenId, accountId, httpResult.Result.Name); return(false); }
private async Task <bool> SetTodoCoverImage(int accountId, CoverImageVM coverData) { var todo = await _todoService.GetTodoById(coverData.ItemId); if (todo == null) { return(false); } ImgSaveResult httpResult; if (!Helpers.IsProperString(todo.CoverImage)) { httpResult = await _photoService.SendSavePhotosRequestToRoutinizeStorageApi( new ImgUploadVM { AccountId = accountId, TokenId = coverData.TokenId, UploadedFile = coverData.UploadedFile } ); } else { httpResult = await _photoService.SendReplacePhotosRequestToRoutinizeStorageApi( new ImgReplaceVM { AccountId = accountId, TokenId = coverData.TokenId, FileToSave = coverData.UploadedFile, CurrentImage = Helpers.ExtractImageNameFromPath(todo.CoverImage) } ); } if (httpResult.Error) { return(false); } var savedImageName = $"{ httpResult.Result.Location }{ httpResult.Result.Name }"; todo.CoverImage = savedImageName; if (await _todoService.UpdateTodo(todo)) { return(true); } await _photoService.SendDeletePhotosRequestToRoutinizeStorageApi(coverData.TokenId, accountId, httpResult.Result.Name); return(false); }
public async Task <JsonResult> SetCoverImage([FromHeader] int accountId, [FromBody] CoverImageVM coverData) { var imageUpdateExpression = coverData.ItemType switch { nameof(Todo) when coverData.TaskType.Equals(SharedConstants.TaskUpdate) => (Func <Task <bool> >)(async() => await SetTodoCoverImage(accountId, coverData)), nameof(Todo) when coverData.TaskType.Equals(SharedConstants.TaskDelete) => async() => await RemoveTodoCoverImage(accountId, coverData), nameof(Organization) when coverData.TaskType.Equals(SharedConstants.TaskUpdate) => async() => await SetOrganizationLogoImage(accountId, coverData), nameof(Organization) when coverData.TaskType.Equals(SharedConstants.TaskDelete) => async() => await RemoveOrganizationLogoImage(accountId, coverData), nameof(Department) when coverData.TaskType.Equals(SharedConstants.TaskUpdate) => async() => await SetDepartmentAvatarImage(accountId, coverData), nameof(Department) when coverData.TaskType.Equals(SharedConstants.TaskDelete) => async() => await RemoveDepartmentAvatarImage(accountId, coverData), }; var isSavingDataSuccess = imageUpdateExpression.Invoke().Result; return(isSavingDataSuccess ? new JsonResult(new JsonResponse { Result = SharedEnums.RequestResults.Success }) : new JsonResult(new JsonResponse { Result = SharedEnums.RequestResults.Failed, Message = "An issue happened while updating data." })); }
private async Task <bool> RemoveDepartmentAvatarImage(int accountId, CoverImageVM coverData) { var department = await _organizationService.GetDepartmentById(coverData.ItemId); if (department == null) { return(false); } department.Avatar = null; var updateResult = await _organizationService.UpdateDepartment(department); if (!updateResult.HasValue || !updateResult.Value) { return(false); } var coverImgName = Helpers.ExtractImageNameFromPath(department.Avatar); var httpResult = await _photoService.SendDeletePhotosRequestToRoutinizeStorageApi(coverData.TokenId, accountId, coverImgName); return(httpResult.Error); }
private async Task <bool> RemoveOrganizationLogoImage(int accountId, CoverImageVM coverData) { var organization = await _organizationService.GetOrganizationById(coverData.ItemId); if (organization == null) { return(false); } organization.LogoName = null; var updateResult = await _organizationService.UpdateOrganization(organization); if (!updateResult.HasValue || !updateResult.Value) { return(false); } var coverImgName = Helpers.ExtractImageNameFromPath(organization.LogoName); var httpResult = await _photoService.SendDeletePhotosRequestToRoutinizeStorageApi(coverData.TokenId, accountId, coverImgName); return(httpResult.Error); }
private async Task <bool> RemoveTodoCoverImage(int accountId, CoverImageVM coverData) { var todo = await _todoService.GetTodoById(coverData.ItemId); if (todo == null) { return(false); } todo.CoverImage = null; var updateResult = await _todoService.UpdateTodo(todo); if (!updateResult) { return(false); } var coverImgName = Helpers.ExtractImageNameFromPath(todo.CoverImage); var httpResult = await _photoService.SendDeletePhotosRequestToRoutinizeStorageApi(coverData.TokenId, accountId, coverImgName); return(httpResult.Error); }