Пример #1
0
        private void BindData()
        {
            if (BillId != null && !BillId.Equals(Guid.Empty))
            {
                PurchaseInvoiceBO purchaseInvoiceBO = new PurchaseInvoiceBO();
                //Bind data to purchase invoice information
                Bill bill = purchaseInvoiceBO.GetBillById(session, BillId);
                lblCode.Text           = bill.Code;
                lblIssuedDate.Text     = bill.IssuedDate.ToString();
                lblSumOfPromotion.Text =
                    bill.SumOfPromotion != 0 ? String.Format("{0:#,###}", bill.SumOfPromotion) : "0";
                lblSumOfTax.Text        = bill.SumOfTax != 0 ? String.Format("{0:#,###}", bill.SumOfTax) : "0";
                lblSumOfTotalPrice.Text = bill.SumOfItemPrice != 0 ? String.Format("{0:#,###}", bill.SumOfItemPrice) : "0";
                lblTotal.Text           = bill.Total != 0 ? String.Format("{0:#,###}", bill.Total) : "0";
                lblOrganization.Text    = String.Format("{0} - {1}",
                                                        bill.SourceOrganizationId.Code,
                                                        bill.SourceOrganizationId.Name);
                if (bill.RowStatus.Equals(Utility.Constant.ROWSTATUS_BOOKED_ENTRY))
                {
                    lblBookingStatus.Text = "Đã ghi sổ";
                }
                else
                {
                    lblBookingStatus.Text = "Chưa ghi sổ";
                }

                //Bind data to booking entries gridview
                PurchaseInvoiceTransactionBO purchaseInvoiceTransactionBO = new PurchaseInvoiceTransactionBO();
                var datasource = //session.GetObjectByKey<NAS.DAL.Invoice.PurchaseInvoice>(BillId).PurchaseInvoiceTransactions;
                                 purchaseInvoiceTransactionBO.GetTransactionsAndRelatedTransactions(session, BillId);
                gridviewBookingEntriesForm.SetDataSource(datasource);
            }
        }
Пример #2
0
        protected void txtCode_Validation(object sender, ValidationEventArgs e)
        {
            string code = e.Value.ToString().Trim();

            //New mode
            if (GUIContext.State is PurchaseInvoiceCreating)
            {
                bool isExist = Util.isExistXpoObject <Bill>("Code", code,
                                                            Constant.ROWSTATUS_ACTIVE, Constant.ROWSTATUS_DEFAULT,
                                                            Constant.ROWSTATUS_INACTIVE, Constant.ROWSTATUS_BOOKED_ENTRY);
                txtCode_SetExistValidation(e, isExist);
            }
            //Edit mode
            else
            {
                PurchaseInvoiceBO purchaseInvoiceBO = new PurchaseInvoiceBO();
                //Validate if new code not equal old code
                if (!code.Equals(purchaseInvoiceBO.GetBillById(session, BillId).Code))
                {
                    bool isExist = Util.isExistXpoObject <Bill>("Code", code,
                                                                Constant.ROWSTATUS_ACTIVE, Constant.ROWSTATUS_DEFAULT,
                                                                Constant.ROWSTATUS_INACTIVE, Constant.ROWSTATUS_BOOKED_ENTRY);
                    txtCode_SetExistValidation(e, isExist);
                }
            }
        }
Пример #3
0
        protected void grdPurchase_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e)
        {
            string[]   args       = e.Parameters.Split('|');
            string     command    = args[0];
            Guid       billId     = Guid.Empty;
            BillBOBase billBOBase = new PurchaseInvoiceBO();

            switch (command)
            {
            case "Delete":
                if (args.Length < 2)
                {
                    throw new Exception("Invalid parameter");
                }
                billId = Guid.Parse(args[1]);
                using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork())
                {
                    billBOBase.Delete(uow, billId);
                    uow.CommitChanges();
                    grdPurchase.DataBind();
                }
                break;

            case "Copy":
                if (args.Length < 2)
                {
                    throw new Exception("Invalid parameter");
                }
                billId = Guid.Parse(args[1]);
                using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork())
                {
                    billBOBase.Clone(uow, billId);
                    uow.CommitChanges();
                    grdPurchase.DataBind();
                }
                break;

            default:
                break;
            }
        }
Пример #4
0
        protected void panelInvoiceEditingForm_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
        {
            string[]          args              = e.Parameter.Split('|');
            string            command           = args[0];
            PurchaseInvoiceBO purchaseInvoiceBO = new PurchaseInvoiceBO();
            Bill bill = null;

            switch (command)
            {
            case "Create":
                GUIContext.State = new PurchaseInvoiceCreating(this);

                billDetails.InitState();
                break;

            case "Edit":
                if (args.Length < 2)
                {
                    throw new Exception("Invalid parameters");
                }
                BillId = Guid.Parse(args[1]);
                //Determine bill status
                hfBillId["BillId"] = BillId.ToString();
                bill = purchaseInvoiceBO.GetBillById(session, BillId);
                if (bill.RowStatus.Equals(Utility.Constant.ROWSTATUS_BOOKED_ENTRY))
                {
                    GUIContext.State = new PurchaseInvoiceLocked(this);
                }
                else
                {
                    GUIContext.State = new PurchaseInvoiceEditing(this);
                }

                billDetails.InitState();
                break;

            case "Save":
                GUIContext.Request(command, this);

                bill = purchaseInvoiceBO.GetBillById(session, BillId);
                if (bill.RowStatus.Equals(Utility.Constant.ROWSTATUS_BOOKED_ENTRY))
                {
                    GUIContext.State = new PurchaseInvoiceLocked(this);
                }
                break;

            case "Cancel":
                GUIContext.Request(command, this);
                panelInvoiceEditingForm.JSProperties["cpEvent"] = "Closing";
                break;

            case "Refresh":
                bill = purchaseInvoiceBO.GetBillById(session, BillId);
                if (bill.RowStatus.Equals(Utility.Constant.ROWSTATUS_BOOKED_ENTRY))
                {
                    GUIContext.State = new PurchaseInvoiceLocked(this);
                }
                else
                {
                    GUIContext.State = new PurchaseInvoiceEditing(this);
                }
                break;

            default:
                break;
            }

            uEdittingInputInventoryCommand1.SettingInit <NAS.DAL.Invoice.PurchaseInvoice>(BillId, ButtonCreateInventoryCommand);
        }
        public override void DeleteBillItem(DevExpress.Xpo.Session session, Guid billItemId)
        {
            PurchaseInvoiceBO purchaseInvoiceBO = new PurchaseInvoiceBO();

            purchaseInvoiceBO.DeleteBillItem(session, billItemId);
        }
        public override void UpdateBillItem(DevExpress.Xpo.Session session, Guid billItemId, Guid itemId, Guid unitId, double quantity, double price, double promotionInPercentage, string comment)
        {
            PurchaseInvoiceBO purchaseInvoiceBO = new PurchaseInvoiceBO();

            purchaseInvoiceBO.UpdateBillItem(session, billItemId, itemId, unitId, quantity, price, promotionInPercentage, comment);
        }