Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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."
            }));
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }