public async Task <bool> UpdateEntityByIdAsync(UserUpdateRequest request, string id) { var entity = _mapper.Map <UserUpdateRequest, User>(request); entity.Id = id; var existingEntity = await GetEntityByIdAsync(id); if (string.IsNullOrWhiteSpace(existingEntity.PhotoURL)) { entity.PhotoURL = existingEntity.PhotoURL; } else if (!existingEntity.PhotoURL.Equals(entity.PhotoURL)) { if (await _fileStorageProvider.IsExist(existingEntity.PhotoURL)) { await _fileStorageProvider.DeleteFileAsync(existingEntity.PhotoURL); } entity.PhotoURL = await _fileStorageProvider.UploadFileBase64Async(entity.PhotoURL, request.PhotoType); // TODO: change here for real image type } // In returns updated entity, you could do smth with it or just leave as it is var updated = await _uow.UsersRepository.UpdateAsync(entity); var result = await _uow.SaveAsync(); return(result); }
public async Task <bool> DeleteEntityAsync(int id) { var entity = await _uow.CollectorAppVersionRepository.GetFirstOrDefaultAsync(i => i.Id == id); if (entity.IsActive) { return(false); } await _uow.CollectorAppVersionRepository.DeleteAsync(id); var result = await _uow.SaveAsync(); if (result) { await _fileStorageProvider.DeleteFileAsync(entity.ExeLink); await _fileStorageProvider.DeleteFileAsync(entity.DebLink); await _fileStorageProvider.DeleteFileAsync(entity.TgzLink); } return(result); }
public async Task <bool> DeleteComplexString(int identifier) { ComplexString toDelete = await _complexStringRepository.GetAsync(identifier); int projectId = toDelete.ProjectId; if (toDelete.PictureLink != null) { await _fileStorageProvider.DeleteFileAsync(toDelete.PictureLink); } await _unitOfWork.GetRepository <Polyglot.DataAccess.Entities.ComplexString>().DeleteAsync(identifier); await _unitOfWork.SaveAsync(); await _complexStringRepository.DeleteAsync(identifier); await this._signalRWorkspaceService.ComplexStringRemoved($"{Group.project}{projectId}", identifier); return(true); }
public async void DeleteFile(string uniqueFileName) { await defaultProvider.DeleteFileAsync(uniqueFileName); }