public async Task UpdateOrderItem(UpdateOrderItem model, int corpClientId) { var item = await orderItemApp.Get(model.OrderItemId, corpClientId); var prod = await productApp.Get(corpClientId, model.ProductId); model.ProductPrice = item.ProductPrice; var units = await measureUnitApp.GetAll(); var pType = units.FirstOrDefault(u => u.MeasureUnitId == prod.MeasureUnitId).MeasureUnitTypeId; var qType = units.FirstOrDefault(u => u.MeasureUnitId == model.MeasureUnitId).MeasureUnitTypeId; if (model.OrderItemStatusId == OrderItemStatusEnum.Cancelado) { model.Cost = null; model.Profit = null; } else { await CalculateItem(model, prod.MeasureUnitId, pType, qType, corpClientId); } await orderItemApp.Update(model, corpClientId); var nextStatus = await GetNextOrderStatus(item.Order.OrderNumber, corpClientId); await orderApp.ChangeStatus(new UpdateOrderStatus { OrderNumber = item.Order.OrderNumber, OrderStatusId = nextStatus }, corpClientId); }
public async Task Update(UpdateOrderItem model, int corpClientId) { var data = await context.OrderItems .Where(i => i.OrderItemId == model.OrderItemId && i.Order.Customer.CorpClientId == corpClientId) .FirstOrDefaultAsync(); if (model.OrderItemStatusId != data.OrderItemStatusId) data.LastStatusDate = DateTimeOffset.UtcNow; data.MeasureUnitId = model.MeasureUnitId; data.Quantity = model.Quantity; data.Discount = model.Discount; data.AdditionalInfo = model.AdditionalInfo; data.OrderItemStatusId = model.OrderItemStatusId; data.OriginalPrice = model.OriginalPrice; data.PriceAfterDiscount = model.PriceAfterDiscount; data.Cost = model.Cost; data.Profit = model.Profit; data.ProfitPercentage = model.ProfitPercentage; context.OrderItems.Update(data); await context.SaveChangesAsync(); }
public async Task Update(UpdateOrderItem model, int corpClientId) { await repository.Update(model, corpClientId); }
public async Task <ActionResult> UpdateItem(UpdateOrderItem model) { await service.UpdateOrderItem(model, UserData.CorpClientId.Value); return(Ok()); }