/// <summary> /// Updates the story. /// </summary> /// <param name="details">The details.</param> /// <param name="request">The request.</param> /// <returns></returns> public async Task <APIResponse> UpdateStory(StoryIdDetails details, UpdateStoryRequest request) { try { string filename = ""; var folderName = Path.Combine("EventStories"); var pathToSave = Path.Combine("D:", "HappyWedding", folderName); if (request.CoverPhotoVideo.Length > 0) { string format = System.IO.Path.GetExtension(request.CoverPhotoVideo.FileName); filename = request.VendorId + "_Event_" + DateTime.Now + format; string filenme = filename.Replace(":", "."); var filePath = Path.Combine(pathToSave, filenme); using var fileStream = new FileStream(filePath, FileMode.Create); request.CoverPhotoVideo.CopyTo(fileStream); request.CoverPhotoOrVideo = filePath; request.CoverPhotoOrVideo = null; } var client = httpClientFactory.CreateClient(BlogServiceOperation.serviceName); var param = JsonConvert.SerializeObject(request); HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json"); var response = await client.PutAsync(servicesConfig.Blog + BlogServiceOperation.UpdateStory(details.StoryId), contentPost); return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'UpdateStory()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
public async Task <IActionResult> UpdateStory(int storyId, [FromBody] UpdateStoryRequest request) { var updateStoryCommand = new UpdateStoryCommand(storyId, request); var result = await mediator.Send(updateStoryCommand); return(StatusCode((int)result.Code, result.Value)); }
/// <summary> /// Updates the story. /// </summary> /// <param name="details">The details.</param> /// <param name="request">The request.</param> /// <returns></returns> public async Task <APIResponse> UpdateStory(StoryIdDetails details, UpdateStoryRequest request) { try { var client = httpClientFactory.CreateClient(BlogServiceOperation.serviceName); var param = JsonConvert.SerializeObject(request); HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json"); var response = await client.PutAsync(servicesConfig.Blog + BlogServiceOperation.UpdateStory(details.StoryId), contentPost); return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'UpdateStory()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
//[Authorize(Roles = "Admin, Vendor")] public async Task <IActionResult> UpdateStory(int storyId, [FromBody] UpdateStoryRequest request) { var result = await storyService.UpdateStory(new StoryIdDetails(storyId), request); return(StatusCode((int)result.Code, result.Value)); }
/// <summary> /// Initializes a new instance of the <see cref="UpdateStoryCommand" /> class. /// </summary> /// <param name="storyId">The story identifier.</param> /// <param name="Request">The request.</param> public UpdateStoryCommand(int storyId, UpdateStoryRequest request) { StoryId = storyId; Request = request; }
public async Task UpdateStoryRequestHandler_Handle_Returns_NotFound() { StoryContext.OpenInMemoryConnection(); try { var charity = new Charity { CharityKey = Guid.NewGuid() }; var image1 = new Image { Base64 = "image1" }; var image2 = new Image { Base64 = "image2" }; var story = new Story { StoryKey = Guid.NewGuid(), Title = "title", CoverImage = "cover", Charity = charity, Images = new List <Image> { image1, image2 } }; using (var context = StoryContext.GetInMemoryContext()) { context.Stories.Add(story); context.SaveChanges(); } var request = new UpdateStoryRequest { StoryKey = Guid.NewGuid(), Title = "newTitle", Images = new List <string> { "image3" }, StoryImage = "storyImage" }; UpdateStoryResponse response; using (var context = StoryContext.GetInMemoryContext()) { var handler = new UpdateStoryRequestHandler(context); response = await handler.Handle(request); } using (var context = StoryContext.GetInMemoryContext()) { Assert.IsFalse(response.IsSuccess); Assert.AreEqual(ErrorType.NotFound, response.ErrorType); Assert.AreEqual(story.StoryImage, context.Stories.Single().StoryImage); Assert.AreEqual(story.Title, context.Stories.Single().Title); Assert.AreEqual(story.CoverImage, story.CoverImage); Assert.AreEqual(story.CoreText, story.CoreText); Assert.AreEqual(2, context.Images.Count()); Assert.AreEqual(1, context.Images.Count(i => i.Base64 == image1.Base64)); Assert.AreEqual(1, context.Images.Count(i => i.Base64 == image2.Base64)); } } finally { StoryContext.CloseInMemoryConnection(); } }