Ejemplo n.º 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();
        }
Ejemplo n.º 2
0
        public void DeleteItemFromShipmentItemsList()
        {
            if (Toolbar.IsNullOrNoneAction())
            {
                return;
            }

            SaleOrderShipmentEntities entity = (SaleOrderShipmentEntities)CurrentModuleEntity;

            entity.ShipmentItemsList.RemoveSelectedRowObjectFromList();
            entity.UpdateTotalAmount();
        }
Ejemplo n.º 3
0
        public void ChangeTaxAmount()
        {
            SaleOrderShipmentEntities entity     = (SaleOrderShipmentEntities)CurrentModuleEntity;
            ICShipmentsInfo           mainObject = (ICShipmentsInfo)entity.MainObject;

            if (mainObject.ICShipmentSubTotalAmount - mainObject.ICShipmentDiscountAmount != 0)
            {
                mainObject.ICShipmentTaxPercent = 100 * mainObject.ICShipmentTaxAmount / (mainObject.ICShipmentSubTotalAmount - mainObject.ICShipmentDiscountAmount);
            }
            else
            {
                mainObject.ICShipmentTaxPercent = 0;
            }
            mainObject.ICShipmentTaxPercent = Math.Round(mainObject.ICShipmentTaxPercent, 2, MidpointRounding.AwayFromZero);
            entity.UpdateTotalAmount();
        }
Ejemplo n.º 4
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();
        }
Ejemplo n.º 5
0
        public void AddItemFromSaleOrderShipmentItemsList(int productID)
        {
            if (Toolbar.IsNullOrNoneAction() || productID == 0)
            {
                return;
            }

            ICProductsController objProductsController = new ICProductsController();
            ICProductsInfo       objProductsInfo       = (ICProductsInfo)objProductsController.GetObjectByID(productID);

            if (objProductsInfo == null)
            {
                return;
            }

            SaleOrderShipmentEntities entity = CurrentModuleEntity as SaleOrderShipmentEntities;

            entity.ShipmentItemsList.Add(objProductsInfo.ToShipmentItem());
            entity.ShipmentItemsList.GridControl.RefreshDataSource();
            entity.UpdateTotalAmount();
        }
Ejemplo n.º 6
0
        public void ChangeExchangeRate()
        {
            SaleOrderShipmentEntities entity     = (SaleOrderShipmentEntities)CurrentModuleEntity;
            ICShipmentsInfo           mainObject = (ICShipmentsInfo)entity.MainObject;

            entity.ShipmentItemsList.ForEach(o =>
            {
                if (mainObject.ICShipmentExchangeRate != 0)
                {
                    o.ICShipmentItemProductUnitPrice = o.ICShipmentItemProductBasicPrice / mainObject.ICShipmentExchangeRate;
                }
                else
                {
                    o.ICShipmentItemProductUnitPrice = 0;
                }

                ChangeItemFromShipmentItemsList(o);
            });
            entity.ShipmentItemsList.GridControl.RefreshDataSource();
            entity.UpdateTotalAmount();
        }
Ejemplo n.º 7
0
        public override int ActionSave()
        {
            SaleOrderShipmentEntities entity     = CurrentModuleEntity as SaleOrderShipmentEntities;
            ICShipmentsInfo           mainobject = entity.MainObject as ICShipmentsInfo;

            entity.ShipmentItemsList.EndCurrentEdit();
            entity.UpdateTotalAmount();
            List <string> errorMessages = new List <string>();

            if (mainobject.FK_ICStockID == 0)
            {
                errorMessages.Add("Kho không được bỏ trống!");
            }
            if (mainobject.FK_GECurrencyID == 0 || mainobject.ICShipmentExchangeRate == 0)
            {
                errorMessages.Add("Vui lòng chọn loại tiền tề và tỷ giá!");
            }
            ICProductsController objProductsController = new ICProductsController();
            ICProductsInfo       objProductsInfo       = new ICProductsInfo();

            entity.ShipmentItemsList.ForEach(o =>
            {
                objProductsInfo = (ICProductsInfo)objProductsController.GetObjectByID(o.FK_ICProductID);
                if (objProductsInfo.ICPriceCalculationMethodType == PriceCalculationMethod.Specific && string.IsNullOrWhiteSpace(o.ICShipmentItemStockLotNo))
                {
                    errorMessages.Add("Vui lòng nhập mã lô cho sản phẩm: " + o.ICShipmentItemProductNo);
                }
            });
            if (errorMessages.Count() > 0)
            {
                GuiErrorMessage guiError = new GuiErrorMessage(errorMessages);
                guiError.Module = this;
                guiError.ShowDialog();
                return(0);
            }

            SetDefaultShipmentName();
            return(base.ActionSave());
        }
Ejemplo n.º 8
0
        public void ChangeTaxPercent()
        {
            SaleOrderShipmentEntities entity = (SaleOrderShipmentEntities)CurrentModuleEntity;

            entity.UpdateTotalAmount();
        }