Esempio n. 1
0
        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();
 }