public ActionResult SaveReceiptItem(ReceiptItemModel model) { if (ModelState.IsValid) { var receiptItem = _receiptItemRepository.GetById(model.Id); //always set IsNew to false when saving receiptItem.IsNew = false; receiptItem = model.ToEntity(receiptItem); // unit conversion var item = _itemRepository.GetById(model.ItemId); if (item.UnitOfMeasureId != model.ReceiptUnitOfMeasureId) { var uc = _unitConversionService.GetUnitConversion(model.ReceiptUnitOfMeasureId.Value, item.UnitOfMeasureId.Value); receiptItem.Quantity = receiptItem.ReceiptQuantity * uc.ConversionFactor; receiptItem.UnitPrice = receiptItem.ReceiptUnitPrice / uc.ConversionFactor; } else { receiptItem.Quantity = receiptItem.ReceiptQuantity; receiptItem.UnitPrice = receiptItem.ReceiptUnitPrice; } _receiptItemRepository.UpdateAndCommit(receiptItem); return(new NullJsonResult()); } else { return(Json(new { Errors = ModelState.Errors().ToHtmlString() })); } }
private void EvaluateItem(ReceiptItemModel receiptItem) { receiptItem.Taxes.ForEach(x => { receiptItem.SalesTaxes += ((receiptItem.Price * x) / 100).Round(); }); receiptItem.Total = (receiptItem.Price + receiptItem.SalesTaxes) * receiptItem.Qty; }
private void PrepareReceiptItemModel(ReceiptItemModel model) { model.CurrentQuantity = _storeService.GetTotalQuantity(null, model.StoreLocatorId, model.ItemId); var uoms = _unitConversionService.GetFromUOMs(model.ItemUnitOfMeasureId.Value); model.AvailableUnitOfMeasures.Add(new SelectListItem { Value = model.ItemUnitOfMeasureId.ToString(), Text = model.ItemUnitOfMeasureName }); foreach (var c in uoms) { model.AvailableUnitOfMeasures.Add(new SelectListItem { Value = c.Id.ToString(), Text = c.Name, Selected = model.ReceiptUnitOfMeasureId == c.Id }); } }
public ActionResult CreateReceiptItem(long receiptId) { //need to get receipt here to assign to new receiptItem //so when mapping to Model, we will have StoreId as defined //in AutoMapper configuration var receipt = _receiptRepository.GetById(receiptId); var receiptItem = new ReceiptItem { IsNew = true, Receipt = receipt }; _receiptItemRepository.Insert(receiptItem); this._dbContext.SaveChanges(); var model = new ReceiptItemModel(); model = receiptItem.ToModel(); var html = this.ReceiptItemPanel(model); return(Json(new { Id = receiptItem.Id, Html = html })); }
public string ReceiptItemPanel(ReceiptItemModel model) { var html = this.RenderPartialViewToString("_ReceiptItemDetails", model); return(html); }