示例#1
0
        public void NewFromSaleOrder()
        {
            base.ActionNew();
            SaleOrderShipmentEntities entity     = CurrentModuleEntity as SaleOrderShipmentEntities;
            ICShipmentsInfo           mainobject = entity.MainObject as ICShipmentsInfo;

            ARSaleOrderItemsController  objSaleOrderItemsController = new ARSaleOrderItemsController();
            List <ARSaleOrderItemsInfo> saleOrderItems = objSaleOrderItemsController.GetSaleOrderItemForSaleOrderShipment();

            guiChooseSaleOrderItem guiFind = new guiChooseSaleOrderItem(saleOrderItems);

            guiFind.Module = this;
            DialogResult rs = guiFind.ShowDialog();

            if (rs != DialogResult.OK)
            {
                ActionCancel();
                return;
            }
            saleOrderItems = guiFind.SelectedObjects;
            ARSaleOrderItemsInfo objSaleOrderItemsInfo = saleOrderItems.FirstOrDefault();

            if (objSaleOrderItemsInfo == null)
            {
                objSaleOrderItemsInfo = new ARSaleOrderItemsInfo();
            }

            ARSaleOrdersController objSaleOrdersController = new ARSaleOrdersController();
            ARSaleOrdersInfo       objSaleOrdersInfo       = (ARSaleOrdersInfo)objSaleOrdersController.GetObjectByID(objSaleOrderItemsInfo.FK_ARSaleOrderID);

            if (objSaleOrdersInfo == null)
            {
                objSaleOrdersInfo = new ARSaleOrdersInfo();
            }

            mainobject.FK_ARSaleOrderID          = objSaleOrdersInfo.ARSaleOrderID;
            mainobject.FK_ARCustomerID           = objSaleOrdersInfo.FK_ARCustomerID;
            mainobject.ICShipmentDiscountPercent = objSaleOrdersInfo.ARSaleOrderDiscountPercent;
            mainobject.ICShipmentTaxPercent      = objSaleOrdersInfo.ARSaleOrderTaxPercent;
            mainobject.FK_GECurrencyID           = objSaleOrdersInfo.FK_GECurrencyID;
            mainobject.ICShipmentExchangeRate    = objSaleOrdersInfo.ARSaleOrderExchangeRate;
            mainobject.ICShipmentDeliveryDate    = objSaleOrdersInfo.ARSaleOrderDeliveryDate;
            List <ICShipmentItemsInfo> shipmentItemList     = new List <ICShipmentItemsInfo>();
            ICShipmentItemsInfo        objShipmentItemsInfo = new ICShipmentItemsInfo();

            saleOrderItems.ForEach(o =>
            {
                objShipmentItemsInfo = new ICShipmentItemsInfo();
                objShipmentItemsInfo = o.ToShipmentItem();
                shipmentItemList.Add(objShipmentItemsInfo);
            });
            entity.ShipmentItemsList.Invalidate(shipmentItemList);
            entity.UpdateMainObjectBindingSource();
            entity.UpdateTotalAmount();
        }
示例#2
0
        public void ChangeItemFromShipmentItemsList(ICShipmentItemsInfo objShipmentItemsInfo)
        {
            SaleOrderShipmentEntities entity = (SaleOrderShipmentEntities)CurrentModuleEntity;

            if (objShipmentItemsInfo == null)
            {
                return;
            }

            objShipmentItemsInfo.ICShipmentItemProductExchangeQty = objShipmentItemsInfo.ICShipmentItemProductQty * objShipmentItemsInfo.ICShipmentItemProductFactor;
            objShipmentItemsInfo.ICShipmentItemDiscountAmount     = (objShipmentItemsInfo.ICShipmentItemDiscountPercent / 100) * (objShipmentItemsInfo.ICShipmentItemProductExchangeQty * objShipmentItemsInfo.ICShipmentItemProductUnitPrice);
            objShipmentItemsInfo.ICShipmentItemTaxAmount          = (objShipmentItemsInfo.ICShipmentItemTaxPercent / 100) * (objShipmentItemsInfo.ICShipmentItemProductExchangeQty * objShipmentItemsInfo.ICShipmentItemProductUnitPrice - objShipmentItemsInfo.ICShipmentItemDiscountAmount);
            objShipmentItemsInfo.ICShipmentItemTotalAmount        = objShipmentItemsInfo.ICShipmentItemProductExchangeQty * objShipmentItemsInfo.ICShipmentItemProductUnitPrice - objShipmentItemsInfo.ICShipmentItemDiscountAmount + objShipmentItemsInfo.ICShipmentItemTaxAmount;
            entity.ShipmentItemsList.GridControl.RefreshDataSource();
            entity.UpdateTotalAmount();
        }
示例#3
0
        public void ActionNewFromSaleOrederShipment()
        {
            base.ActionNew();
            InvoiceEntities entity     = CurrentModuleEntity as InvoiceEntities;
            ARInvoicesInfo  mainObject = entity.MainObject as ARInvoicesInfo;

            ICShipmentItemsController  objShipmentItemsController = new ICShipmentItemsController();
            List <ICShipmentItemsInfo> shipmentItems = objShipmentItemsController.GetShipmentItemForInvoice();

            guiChooseShipmentItem guiFind = new guiChooseShipmentItem(shipmentItems);

            guiFind.Module = this;
            DialogResult rs = guiFind.ShowDialog();

            if (rs != DialogResult.OK)
            {
                ActionCancel();
                return;
            }
            shipmentItems = guiFind.SelectedObjects as List <ICShipmentItemsInfo>;

            ICShipmentItemsInfo    objShipmentItemsInfo    = shipmentItems.FirstOrDefault();
            ARSaleOrdersController objSaleOrdersController = new ARSaleOrdersController();
            ARSaleOrdersInfo       objSaleOrdersInfo       = objSaleOrdersController.GetObjectByID(objShipmentItemsInfo.FK_ARSaleOrderID) as ARSaleOrdersInfo;

            mainObject.FK_ARSaleOrderID                 = objSaleOrdersInfo.ARSaleOrderID;
            mainObject.ARInvoiceCustomerAddress         = objSaleOrdersInfo.ARSaleOrderCustomerAddress;
            mainObject.ARInvoiceCustomerDeliveryAddress = objSaleOrdersInfo.ARSaleOrderCustomerDeliveryAddress;
            mainObject.ARInvoiceCustomerDeliveryName    = objSaleOrdersInfo.ARSaleOrderCustomerDeliveryName;
            mainObject.ARInvoiceCustomerDeliveryPhone   = objSaleOrdersInfo.ARSaleOrderCustomerDeliveryPhone;
            mainObject.ARInvoiceCustomerName            = objSaleOrdersInfo.ARSaleOrderCustomerName;
            mainObject.ARInvoiceCustomerPhone           = objSaleOrdersInfo.ARSaleOrderCustomerPhone;
            mainObject.ARInvoiceCustomerTaxCode         = objSaleOrdersInfo.ARSaleOrderCustomerTaxCode;
            mainObject.ARInvoiceDiscountPercent         = objSaleOrdersInfo.ARSaleOrderDiscountPercent;
            mainObject.ARInvoiceTaxPercent              = objSaleOrdersInfo.ARSaleOrderTaxPercent;
            mainObject.ARInvoiceExchangeRate            = objSaleOrdersInfo.ARSaleOrderExchangeRate;
            mainObject.ARInvoiceDeliveryDate            = objSaleOrdersInfo.ARSaleOrderDeliveryDate;
            mainObject.ARInvoiceInternalComment         = objSaleOrdersInfo.ARSaleOrderInternalComment;
            mainObject.ARInvoiceComment                 = objSaleOrdersInfo.ARSaleOrderComment;
            mainObject.FK_GECurrencyID       = objSaleOrdersInfo.FK_GECurrencyID;
            mainObject.FK_ARCustomerID       = objSaleOrdersInfo.FK_ARCustomerID;
            mainObject.FK_HRSellerEmployeeID = objSaleOrdersInfo.FK_HRSellerEmployeeID;

            entity.GenerateInvoiceItemList(shipmentItems);
            UpdateTotalAmount();
            entity.UpdateMainObjectBindingSource();
        }
示例#4
0
        public void ChangeItemMeasureUnit()
        {
            SaleOrderShipmentEntities entity = (SaleOrderShipmentEntities)CurrentModuleEntity;
            ICShipmentItemsInfo       objShipmentItemsInfo = entity.ShipmentItemsList[entity.ShipmentItemsList.CurrentIndex];

            if (objShipmentItemsInfo == null)
            {
                return;
            }

            ICProductMeasureUnitsController controller  = new ICProductMeasureUnitsController();
            ICProductMeasureUnitsInfo       measureUnit = controller.GetProductMeasureUnitByProductIDAndMeasureUnitID(objShipmentItemsInfo.FK_ICProductID, objShipmentItemsInfo.FK_ICMeasureUnitID);

            objShipmentItemsInfo.ICShipmentItemProductFactor      = measureUnit.ICProductMeasureUnitFactor;
            objShipmentItemsInfo.ICShipmentItemProductExchangeQty = objShipmentItemsInfo.ICShipmentItemProductQty * objShipmentItemsInfo.ICShipmentItemProductFactor;
            entity.ShipmentItemsList.GridControl.RefreshDataSource();
        }
示例#5
0
        private void rpMeasureUnitt_QueryPopUp(object sender, System.ComponentModel.CancelEventArgs e)
        {
            GridView            gridView   = (GridView)MainView;
            ICShipmentItemsInfo item       = (ICShipmentItemsInfo)gridView.GetRow(gridView.FocusedRowHandle);
            LookUpEdit          lookUpEdit = (LookUpEdit)sender;

            if (item != null)
            {
                ICMeasureUnitsController  objMeasureUnitsController = new ICMeasureUnitsController();
                List <ICMeasureUnitsInfo> measureUnits = objMeasureUnitsController.GetMeasureUnitByProductID(item.FK_ICProductID);
                if (measureUnits != null)
                {
                    lookUpEdit.Properties.DataSource    = measureUnits;
                    lookUpEdit.Properties.DisplayMember = "ICMeasureUnitName";
                    lookUpEdit.Properties.ValueMember   = "ICMeasureUnitID";
                }
            }
        }
示例#6
0
        public void ChangeItemDiscountAmount()
        {
            SaleOrderShipmentEntities entity = (SaleOrderShipmentEntities)CurrentModuleEntity;
            ICShipmentItemsInfo       objShipmentItemsInfo = entity.ShipmentItemsList[entity.ShipmentItemsList.CurrentIndex];

            if (objShipmentItemsInfo == null)
            {
                return;
            }

            if (objShipmentItemsInfo.ICShipmentItemDiscountAmount != 0 && (objShipmentItemsInfo.ICShipmentItemProductExchangeQty * objShipmentItemsInfo.ICShipmentItemProductUnitPrice) != 0)
            {
                objShipmentItemsInfo.ICShipmentItemDiscountPercent = 100 * objShipmentItemsInfo.ICShipmentItemDiscountAmount / (objShipmentItemsInfo.ICShipmentItemProductExchangeQty * objShipmentItemsInfo.ICShipmentItemProductUnitPrice);
            }
            else
            {
                objShipmentItemsInfo.ICShipmentItemDiscountPercent = 0;
            }
            objShipmentItemsInfo.ICShipmentItemDiscountPercent = Math.Round(objShipmentItemsInfo.ICShipmentItemDiscountPercent, 2, MidpointRounding.AwayFromZero);
            entity.ShipmentItemsList.GridControl.RefreshDataSource();
        }
示例#7
0
        protected override void GridView_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e)
        {
            GridView            gridView = (GridView)sender;
            ICShipmentItemsInfo item     = (ICShipmentItemsInfo)gridView.GetRow(gridView.FocusedRowHandle);

            if (e.Value != null)
            {
                if (gridView.FocusedColumn.FieldName == "ICShipmentItemProductFactor")
                {
                    if (!string.IsNullOrEmpty(e.Value.ToString()))
                    {
                        ICProductMeasureUnitsController controller  = new ICProductMeasureUnitsController();
                        ICProductMeasureUnitsInfo       measureUnit = controller.GetProductMeasureUnitByProductIDAndMeasureUnitID(item.FK_ICProductID, item.FK_ICMeasureUnitID);
                        if (measureUnit != null && measureUnit.ICProductMeasureUnitIsEdit)
                        {
                            return;
                        }

                        e.ErrorText = "Hệ số không được phép thay đổi.";
                        e.Valid     = false;
                    }
                }
            }
        }
示例#8
0
        protected override void GridView_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            base.GridView_CellValueChanged(sender, e);
            GridView gridView = (GridView)sender;
            SaleOrderShipmentEntities entity = (SaleOrderShipmentEntities)(this.Screen.Module as BaseModuleERP).CurrentModuleEntity;

            if (entity.ShipmentItemsList.CurrentIndex >= 0)
            {
                ICShipmentItemsInfo item = (ICShipmentItemsInfo)gridView.GetRow(gridView.FocusedRowHandle);
                if (e.Column.FieldName == "FK_ICMeasureUnitID")
                {
                    ((SaleOrderShipmentModule)Screen.Module).ChangeItemMeasureUnit();
                }
                else if (e.Column.FieldName == "ICShipmentItemDiscountAmount")
                {
                    ((SaleOrderShipmentModule)Screen.Module).ChangeItemDiscountAmount();
                }
                else if (e.Column.FieldName == "ICShipmentItemTaxAmount")
                {
                    ((SaleOrderShipmentModule)Screen.Module).ChangeItemTaxAmount();
                }
                ((SaleOrderShipmentModule)Screen.Module).ChangeItemFromShipmentItemsList(item);
            }
        }