Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public async void DeleteFile(string uniqueFileName)
 {
     await defaultProvider.DeleteFileAsync(uniqueFileName);
 }