Exemplo n.º 1
0
 public CreatePictureVM(int userId, MainVM main) : base(main)
 {
     Model = new CreatePictureDTO {
         UserId = userId
     };
     LoadData();
 }
Exemplo n.º 2
0
        public async Task <PictureDTO> AddPicture(CreatePictureDTO data)
        {
            string fileName = GenerateRandomFileName(data.Extension);
            await _storageService.AddAsync(fileName, data.Picture);

            Picture picData = new Picture()
            {
                Date        = DateTime.UtcNow,
                Description = data.Description,
                PicIdentity = fileName,
                UserId      = _userService.GetUserId()
            };

            await _pictureRepository.AddAsync(picData);

            return(_mapper.Map <Picture, PictureDTO>(picData));
        }
Exemplo n.º 3
0
        public async Task <OperationResult <PictureInfoDTO> > CreatePictureAsync(CreatePictureDTO model)
        {
            try
            {
                var operRes = new OperationResult <PictureInfoDTO>(true);
                if (!_file.IsExist(model.ImagePath))
                {
                    operRes.AddErrorMessage("ImagePath", "Не удалось загрузить файл");
                }
                var user = await _userManager.FindByIdAsync(model.UserId.ToString());

                if (user == null)
                {
                    operRes.AddErrorMessage("UserId", $"Не удалось найти пользователя с id = {model.UserId}");
                }
                var entity = _mapper.Map <Picture>(model);
                entity.DateOfCreation = DateTime.Now;
                using (var connection = _factory.CreateConnection())
                {
                    await Connect(connection);

                    entity = await uow.Pictures.CreateAsync(connection, entity, model.TagIds);
                }
                var result = _mapper.Map <PictureInfoDTO>(entity);
                result.Avatar   = user.Avatar;
                result.UserName = user.UserName;
                operRes.Results.Add(result);
                return(operRes);
            }
            catch (NotFoundException)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new DatabaseException("Не удалось добавить данные", ex.Message);
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> SaveUploadedFile()
        {
            bool   isSavedSuccessfully = true;
            string fName = "";

            try
            {
                foreach (IFormFile file in Request.Form.Files)
                {
                    //Save file content goes here
                    fName = file.FileName;

                    CreatePictureDTO dto = new CreatePictureDTO();
                    dto.Description = fName;

                    using (Stream fs = file.OpenReadStream())
                    {
                        dto.Picture = file.OpenReadStream();
                    }

                    await _profileService.AddPicture(dto);;
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error trying to process {nameof(SaveUploadedFile)} method. Exception --> {ex.Message}");
                isSavedSuccessfully = false;
            }

            if (isSavedSuccessfully)
            {
                return(Ok(new { Message = fName }));
            }
            else
            {
                return(Ok(new { Message = "Error in saving file" }));
            }
        }
Exemplo n.º 5
0
 public Task <HttpResponseMessage> UpdatePicture(int id, CreatePictureDTO model)
 {
     return(_client.PutAsJsonAsync($"/api/picture/{id}", model));
 }
Exemplo n.º 6
0
 public Task <HttpResponseMessage> CreatePicture(CreatePictureDTO model)
 {
     return(_client.PostAsJsonAsync("/api/picture", model));
 }
Exemplo n.º 7
0
        public async Task <OperationResult <PictureInfoDTO> > UpdatePictureAsync(int id, CreatePictureDTO model)
        {
            try
            {
                var operRes = new OperationResult <PictureInfoDTO>(true);
                var user    = await _userManager.FindByIdAsync(model.UserId.ToString());

                if (user == null)
                {
                    operRes.AddErrorMessage("userId", $"Не удалось найти пользователя с id = {model.UserId}");
                }
                using (var connection = _factory.CreateConnection())
                {
                    await Connect(connection);

                    var pic = await uow.Pictures.FindByIdAsync(connection, id);

                    if (pic == null)
                    {
                        operRes.AddErrorMessage("id", $"Не удалось найти картину с id = {id}");
                    }


                    if (!operRes.Succeeded)
                    {
                        return(operRes);
                    }

                    var entity = _mapper.Map <Picture>(model);
                    entity.Id             = id;
                    entity.DateOfCreation = pic.DateOfCreation;
                    await uow.Pictures.UpdateAsync(connection, entity, model.TagIds);

                    var result = _mapper.Map <PictureInfoDTO>(entity);
                    result.UserName = user.UserName;
                    result.Avatar   = user.Avatar;
                    operRes.Results.Add(result);
                    return(operRes);
                }
            }
            catch (NotFoundException ex)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw new DatabaseException("Не удалось удалить данные", ex.Message);
            }
        }
Exemplo n.º 8
0
        public async Task <IActionResult> UpdatePicture(int id, [FromBody] CreatePictureDTO model)
        {
            var result = await _service.UpdatePictureAsync(id, model);

            return(this.GetResult(result, true));
        }