public async Task <IActionResult> Create(Guid id, int amount) { bool success = false; if (Guid.Empty == id) { throw new ArgumentNullException(); } BrewModel brew = await brewService.GetByIdAsync(id, true); if (brew == null) { throw new ArgumentNullException(); } ResourceModel model = new ResourceModel(); if (amount > 0) { foreach (var recipe in brew.Recipes) { ResourceModel resource = await resourceService.GetByIdAsync(recipe.ResourceId); resource.AmountInStock -= (amount * (int)recipe.Amount); if (model != null) { model = resourceService.UpdateResourceAmount(resource.ResourceId, resource.AmountInStock); } } if (model != null) { DateTime today = DateTime.Today; ProducedModel producedModel = new ProducedModel() { Amount = amount, BrewId = brew.BrewId, CreateDate = today.Date, ExprireDate = today.AddMonths(6) }; ProducedModel produced = await producedGoodsService.InsertAsync(producedModel); success = produced != null; } else { throw new ArgumentNullException(nameof(model)); } } ProducedModel[] producedModels = producedGoodsService.GetProducedGoods().ToArray(); return(Json(new { success = success, producedGoods = producedModels })); }
public async Task <ProducedModel> InsertAsync(ProducedModel produced) { ProducedModel newProduced = new ProducedModel(); if (produced != null) { newProduced = await producedGoodsRepository.AddAsync(produced); producedGoodsRepository.SaveAsync(); } return(newProduced); }