public async Task <Item> CreateItem(ItemDtoCreate dtoCreate) { await using var transaction = await Context.Database.BeginTransactionAsync(); var item = new Item { Name = dtoCreate.Name, Description = dtoCreate.Description, Price = dtoCreate.Price }; await Context.Items.AddAsync(item); var doneCount = await Context.SaveChangesAsync(); if (doneCount > 0) { MemoryCache.Set(item.Id, item, new MemoryCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(5) }); MemoryCache.Remove("items"); } await transaction.CommitAsync(); return(item); }
public async Task <IActionResult> Create([FromBody] ItemDtoCreate dtoCreate) { _logger.LogDebug($"Method {nameof(Create)}"); var response = await _shopService.CreateItem(dtoCreate); return(Ok(response)); }
public async Task <ItemDto> Post(ItemDtoCreate Item) { var entity = _mapper.Map <ItemEntity>(Item); entity = await _repository.Post(entity); return(_mapper.Map <ItemDto>(entity)); }
public async Task <ActionResult> Post([FromBody] ItemDtoCreate item) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = await _service.Post(item); if (result == null) { return(BadRequest()); } return(Created(new Uri(Url.Link("Get", new { result.Codigo })), result)); } catch (ArgumentException ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }