private async void SavePurchaseItem() { IRestDataMapper mapper = containerExtension.Resolve <IRestDataMapper>(); CurrentPurchaseItem.recordState = ConstValues.RCS_FINE; CurrentPurchaseItem.purchaseType = GetPurchaseType(); decimal rq = (CurrentPurchaseItem.reorderLevel * SelectedUom.baseRatioToPurchase * SelectedUom.purchaseQuantifyValue); PurchaseItem pi = PurchaseItems.Where(i => i.item.id == SelectedItem.id).FirstOrDefault(); if (pi != null) { SelectedStore.reorderLevel += rq; CurrentPurchaseItem.reorderLevel = rq; CurrentPurchaseItem = CurrentPurchaseItem.Merge(pi); _ = await PurchaseRestService.UpdatePurchaseItemAsync(mapper, CurrentPurchaseItem); _ = await ItemRestService.UpdateStoreInforAsync(mapper, SelectedStore); PurchaseItem np = CurrentPurchaseItem.CloneObject(); PurchaseItems.Remove(pi); PurchaseItems.Add(np); SelectedStore = null; SelectedUom = null; SelectedItem = null; SelectedItmCt = null; CurrentPurchaseItem = null; } else { CurrentPurchaseItem.reorderLevel = rq; SelectedStore.reorderLevel = rq; CurrentPurchaseItem = await PurchaseRestService.CreatePurchaseItemAsync(mapper, CurrentPurchaseItem); if (CurrentPurchaseItem.id > 0) { _ = await ItemRestService.UpdateStoreInforAsync(mapper, SelectedStore); PurchaseItems.Add(CurrentPurchaseItem.CloneObject()); SelectedStore = null; SelectedUom = null; SelectedItem = null; SelectedItmCt = null; CurrentPurchaseItem = null; } else { _ = ShowMessageDialg("Saving Purchase Item", "Can't Savae Purchase Item, found Some problems.", MsgDialogType.error); } } CurrenPurchase.CalaculatePurchase(PurchaseItems); _ = await PurchaseRestService.UpdatePurchaseAsync(mapper, CurrenPurchase); }
// Adds item and increases sales tax and total with item details public void AddPurchaseItem(IPurchaseItem purchaseItem) { PurchaseItems.Add(purchaseItem); SalesTaxes += purchaseItem.GetPrice() - purchaseItem.OriginalPrice; Total += purchaseItem.GetPrice(); }