public async Task <ActionResult <ProductInstanceDto> > Put([FromBody] ProductInstanceEditDto value) { if (value.Id == Guid.Empty) { throw new Exception("Unable to edit a ProductInstance without ID"); } var res = await _service.Save(value); return(res); }
public static ProductInstance ToEntity(this ProductInstanceEditDto e) { if (e == null) { return(null); } var res = new ProductInstance(); res.Id = e.Id; res.Description = e.Description; res.Name = e.Name; res.IdProduct = e.IdProduct; res.Months = e.Months; res.Price = e.Price; res.Weeks = e.Weeks; res.Years = e.Years; res.Days = e.Days; return(res); }
public async Task <ProductInstanceDto> Save(ProductInstanceEditDto itemToEdit) { ProductInstance res; if (itemToEdit.Id != Guid.Empty) { _logger.LogDebug($"Calling Update ProductInstance for id=[{itemToEdit.Id}]"); //edit res = await this.GetInner(itemToEdit.Id); if (res == null) { throw new NotFoundException($"ProductInstance with id={itemToEdit.Id} not exists!"); } res.Description = itemToEdit.Description; res.Name = itemToEdit.Name; res.IdProduct = itemToEdit.IdProduct; res.Months = itemToEdit.Months; res.Price = itemToEdit.Price; res.Weeks = itemToEdit.Weeks; res.Years = itemToEdit.Years; res.Days = itemToEdit.Days; _dbCtx.ProductInstances.Update(res); _dbCtx.SaveChanges(); } else { //insert res = itemToEdit.ToEntity(); res.Id = Guid.NewGuid(); _logger.LogDebug($"Calling Insert ProductInstance for id=[{res.Id}] (temp id, not created yet!)"); await _dbCtx.ProductInstances.AddAsync(res); _dbCtx.SaveChanges(); } return(res.ToDto()); }
public async Task <ActionResult <ProductInstanceDto> > Post([FromBody] ProductInstanceEditDto value) { var res = await _service.Save(value); return(res); }