Exemple #1
0
        private async void SearchOldPurChase()
        {
            IRestDataMapper mapper = containerExtension.Resolve <IRestDataMapper>();
            Purchase        p      = await PurchaseRestService.GetAllPurchaseByInvoiceNoAndRecordStAsync(mapper, branch.id, CurrenPurchase.invoiceNo, ConstValues.RCS_NEW);

            if (p != null)
            {
                string msg = "Found Exist Purchase Invoice, Do you want to Continue it?";
                if (ShowMessageDialg("Find Exist Purchase", msg, MsgDialogButtonType.YesNo, MsgDialogType.Confirmation))
                {
                    CurrenPurchase   = p;
                    IsNew            = false;
                    SelectedSupCt    = CurrenPurchase.supplier.ToSupplierCriterita();
                    SelectedSupplier = CurrenPurchase.supplier;
                    PurchaseItems    = await PurchaseRestService.GetAllPurchaseItemByParamAsync(mapper, branch.id, PurchaseRestService.PI_PID_FLAG, p.id);

                    aggregator.GetEvent <UIElementFocusEvent>().Publish("pdt");
                }
                else
                {
                    CurrenPurchase.invoiceNo = string.Empty;
                    aggregator.GetEvent <UIElementFocusEvent>().Publish("inv");
                }
            }
            else
            {
                aggregator.GetEvent <UIElementFocusEvent>().Publish("sup");
            }
        }
Exemple #2
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);
        }
Exemple #3
0
        private async void EndPurchase()
        {
            IRestDataMapper mapper = containerExtension.Resolve <IRestDataMapper>();

            CurrenPurchase.recordState = ConstValues.RCS_FINE;
            _ = await PurchaseRestService.UpdatePurchaseAsync(mapper, CurrenPurchase);

            if (CurrenPurchase.creditAmount > 0.00m)
            {
                CurrenPurchase.invoiceType = ConstValues.INVT_CREDIT;
                CreditInvoice = CreditInvoice.CreateNewCreditInvoice(branch, loggedUser.LoggedUser, CurrenPurchase);
                SelectedSupplier.supplierCreditAccount.totalCredit += CurrenPurchase.creditAmount;
                _ = await SupplierCreditRestService.updateSupplierCreditAccountAsync(mapper, SelectedSupplier.supplierCreditAccount);

                _ = await SupplierCreditRestService.CreateSupplierCreditInvoiceAsync(mapper, CreditInvoice);
            }
            if (CurrenPurchase.payAmount > 0.00m)
            {
                CurrenCashBook = CurrenCashBook.CreateNewCashBook(branch, loggedUser.LoggedUser, CurrenPurchase);
                CurrenCashBook.branchAccount = SelectedBac;
                _ = await FinancialRestService.CreateCashBookAsync(mapper, CurrenCashBook);
            }
            if (CurrenPurchase.chqAmount > 0.00m)
            {
                CurrenChqueBook = CurrenChqueBook.CreateNewChequeBook(branch, loggedUser.LoggedUser, CurrenPurchase);
                CurrenChqueBook.branchAccount = SelectedBac;
                _ = await FinancialRestService.CreateChequeBookAsync(mapper, CurrenChqueBook);
            }
            SelectedStore       = null;
            SelectedUom         = null;
            SelectedItem        = null;
            SelectedItmCt       = null;
            CurrentPurchaseItem = null;
            CurrenPurchase      = null;
            SelectedSupCt       = null;
            SelectedSupplier    = null;
            CreditInvoice       = null;
            CurrenCashBook      = null;
            CurrenChqueBook     = null;
            PurchaseItems.Clear();
            Initialize();
        }
Exemple #4
0
        private async void CreatePurchase()
        {
            if (IsNew)
            {
                IRestDataMapper mapper = containerExtension.Resolve <IRestDataMapper>();
                CurrenPurchase.branch    = branch;
                CurrenPurchase.supplier  = SelectedSupplier;
                CurrenPurchase.user      = loggedUser.LoggedUser;
                CurrenPurchase.payMethod = ConstValues.INVT_CASH;
                CurrenPurchase           = await PurchaseRestService.CreatePurchaseAsync(mapper, CurrenPurchase);

                if (CurrenPurchase.id == 0)
                {
                    if (ShowMessageDialg("Purchase Creating", "Found some problem, Can't Create Purchase", MsgDialogType.error))
                    {
                        Initialize();
                        return;
                    }
                }
            }
        }