public async Task <IServiceResult> PutPublisher([FromRoute] Guid id, [FromBody] SavedPublisherDTOs savedPublisherDTOs) { if (id != savedPublisherDTOs.Id) { throw new NotFoundException(nameof(savedPublisherDTOs), id); } try { var publisher = _mapper.Map <SavedPublisherDTOs, Publisher>(savedPublisherDTOs); _context.Entry(publisher).State = EntityState.Modified; if (!await _unitOfWork.CompleteAsync()) { throw new SaveFailedException(nameof(publisher)); } _context.Entry(publisher).State = EntityState.Modified; // return value publisher = await _context.Publishers.Include(p => p.Games).SingleOrDefaultAsync(g => g.Id == publisher.Id); var publisherDto = _mapper.Map <Publisher, PublisherDTOs>(publisher); _logger.LogInformation($"Publisher {publisherDto.Name} modified."); return(new ServiceResult(payload: publisherDto)); } catch (DbUpdateConcurrencyException e) { if (!PublisherExists(id)) { throw new NotFoundException(nameof(savedPublisherDTOs), id); } _logger.LogError($"Can't post pubisher {id} because {e.Message}"); return(new ServiceResult(false, message: e.Message)); } }
public void TestPostNewPublisherController(string name, int money, int reliability) { Init(49914); SavedPublisherDTOs savedPublisherDTOs = new SavedPublisherDTOs() { Name = name, Money = money, Reliability = reliability }; using (HttpClient client = new HttpClient()) { client.BaseAddress = BASE_URI; HttpResponseMessage result = client.PostAsJsonAsync($"api/publishers", savedPublisherDTOs).GetAwaiter().GetResult(); var content = result.Content.ReadAsStringAsync().GetAwaiter().GetResult(); Response <PublisherDTOs> freeCodeResponse = JsonConvert.DeserializeObject <Response <PublisherDTOs> >(content); Assert.Equal(HttpStatusCode.OK, result.StatusCode); Assert.True(freeCodeResponse.IsSuccess); } }
public async Task <IServiceResult> PostPublisher([FromBody] SavedPublisherDTOs savedPublisherDTOs) { try { var publisher = _mapper.Map <SavedPublisherDTOs, Publisher>(savedPublisherDTOs); _context.Publishers.Add(publisher); if (!await _unitOfWork.CompleteAsync()) { throw new SaveFailedException(nameof(publisher)); } publisher = await _context.Publishers.Include(p => p.Games).SingleOrDefaultAsync(g => g.Id == publisher.Id); var publisherDto = _mapper.Map <Publisher, PublisherDTOs>(publisher); _logger.LogInformation($"Publisher {publisherDto.Name} created."); return(new ServiceResult(payload: publisherDto)); } catch (Exception e) { _logger.LogError($"Can't add {savedPublisherDTOs.Name} because {e.Message}"); return(new ServiceResult(false, message: e.Message)); } }
public void PostNewPublisherController(string name, int money, int reliability) { SavedPublisherDTOs savedPublisherDTOs = new SavedPublisherDTOs() { Name = name, Money = money, Reliability = reliability }; using (HttpClient client = new HttpClient()) { if (BASE_URI != null) { client.BaseAddress = BASE_URI; } else { client.BaseAddress = new Uri("http://localhost:49911/"); } HttpResponseMessage result = client.PostAsJsonAsync($"api/publishers", savedPublisherDTOs).Result; var content = result.Content.ReadAsStringAsync().Result; Response <PublisherDTOs> freeCodeResponse = JsonConvert.DeserializeObject <Response <PublisherDTOs> >(content); } }