Пример #1
0
        public async Task <IHttpActionResult> UpdatePhoto(int id, [FromBody] PhotoUpdateModel photoUpdate)
        {
            if (ModelState.IsValid)
            {
                if (id != photoUpdate.Id)
                {
                    return(BadRequest("Ids doesn't match."));
                }
                if (PhotoService.GetOwnerId(id) != User.Identity.GetUserId())
                {
                    return(Unauthorized());
                }
                var result = await PhotoService.UpdateInfo(photoUpdate);

                if (result.Succedeed)
                {
                    return(Ok());
                }
                else
                {
                    return(BadRequest(result.Message));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Пример #2
0
        public async Task <OperationDetails> UpdateInfo(PhotoUpdateModel updateModel)
        {
            if (updateModel == null || updateModel.CategoriesIds == null)
            {
                return(new OperationDetails(false, "Input is not valid.", ""));
            }
            Photo photo = Database.PhotoManager.GetInfo(updateModel.Id);

            if (photo == null)
            {
                return(new OperationDetails(false, "Photo not found.", ""));
            }

            List <Category> categories = new List <Category>();

            foreach (var catId in updateModel.CategoriesIds)
            {
                Category category = Database.CategoryManager.Read(catId);
                if (category == null)
                {
                    return(new OperationDetails(false, "Category not found.", catId.ToString()));
                }
                categories.Add(category);
            }

            photo.Description = updateModel.Description;
            photo.IsPrivate   = updateModel.IsPrivate;
            photo.Categories  = categories;
            Database.PhotoManager.Update(photo);
            await Database.SaveAsync();

            return(new OperationDetails(true, "Photo updated.", ""));
        }
Пример #3
0
        public async Task <ActionResult> PutPhoto([FromRoute] int photoId, [FromBody] PhotoUpdateModel photoUpdateModel)
        {
            var photoUpdateDTO = mapper.Map <PhotoUpdateDTO>(photoUpdateModel,
                                                             opt => { opt.Items["photoId"] = photoId; opt.Items["userId"] = UserId; });

            await photoService.UpdatePhotoAsync(photoUpdateDTO);

            return(Ok());
        }
Пример #4
0
        public void PutPhoto_Should_ReturnOk()
        {
            var photoId    = 1;
            var photoModel = new PhotoUpdateModel {
                Name = "name"
            };

            mockService.Setup(s => s.UpdatePhotoAsync(It.Is <PhotoUpdateDTO>(dto =>
                                                                             dto.Name == photoModel.Name))).Verifiable();

            controller.PutPhoto(photoId, photoModel).Result.Should().BeOfType <OkResult>();
            mockService.Verify();
        }
Пример #5
0
        public IActionResult Update(Guid photoid, [FromBody] PhotoUpdateModel model)
        {
            var photo = _mapper.Map <Photo>(model);

            photo.PhotoRowguid = photoid;

            try
            {
                _photoService.Update(photo);
                return(Ok());
            }
            catch (AppException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }