Beispiel #1
0
        public override void SetDefaultMainObject()
        {
            base.SetDefaultMainObject();
            GEPaymentTermsInfo mainObject = (GEPaymentTermsInfo)MainObject;

            mainObject.GEPaymentTermDate = DateTime.Now;
            mainObject.FK_HREmployeeID   = VinaApp.CurrentUserInfo.FK_HREmployeeID;

            UpdateMainObjectBindingSource();
        }
Beispiel #2
0
        public void GeneratePaymentTime(int paymentTermID)
        {
            if (Toolbar.IsNullOrNoneAction())
            {
                return;
            }

            SaleOrderEntities entity     = (SaleOrderEntities)CurrentModuleEntity;
            ARSaleOrdersInfo  mainObject = (ARSaleOrdersInfo)entity.MainObject;

            GEPaymentTermsController objPaymentTermsController = new GEPaymentTermsController();
            GEPaymentTermsInfo       objPaymentTermsInfo       = objPaymentTermsController.GetObjectByID(paymentTermID) as GEPaymentTermsInfo;

            if (objPaymentTermsInfo == null)
            {
                return;
            }

            GEPaymentTermItemsController  objPaymentTermItemsController = new GEPaymentTermItemsController();
            List <GEPaymentTermItemsInfo> paymentTermItems = objPaymentTermItemsController.GetListItemByPaymentTermID(paymentTermID);

            if (paymentTermItems.Count() <= 0)
            {
                return;
            }

            mainObject.FK_GEPaymentTermID = paymentTermID;
            if (entity.SaleOrderPaymentTimeList.Count() > 0)
            {
                entity.SaleOrderPaymentTimeList.Clear();
            }

            if (mainObject.ARSaleOrderTotalAmount == 0)
            {
                return;
            }

            ARSaleOrderPaymentTimesInfo objPayment;

            paymentTermItems.ForEach(o =>
            {
                objPayment = new ARSaleOrderPaymentTimesInfo();
                objPayment.ARSaleOrderPaymentTimePaymentType = o.GEPaymentTermItemPaymentType;
                objPayment.ARSaleOrderPaymentTimeStatus      = "New";
                objPayment.ARSaleOrderPaymentTimeAmount      = mainObject.ARSaleOrderTotalAmount * o.GEPaymentTermItemPaymentPercent / 100;
                objPayment.ARSaleOrderPaymentTimeDueAmount   = mainObject.ARSaleOrderTotalAmount * o.GEPaymentTermItemPaymentPercent / 100;
                objPayment.FK_GEPaymentTermID = paymentTermID;
                objPayment.ARSaleOrderPaymentTimePaymentMethod = mainObject.ARSaleOrderPaymentMethodType;
                objPayment.FK_ARSaleOrderID = mainObject.ARSaleOrderID;
                objPayment.ARSaleOrderPaymentTimePaymentTermItemPaymentTime    = o.GEPaymentTermItemPaymentTime;
                objPayment.ARSaleOrderPaymentTimePaymentTermItemDay            = o.GEPaymentTermItemDay;
                objPayment.ARSaleOrderPaymentTimePaymentTermItemPercentPayment = o.GEPaymentTermItemPaymentPercent;
                objPayment.ARSaleOrderPaymentTimePaymentTermItemPaymentType    = o.GEPaymentTermItemPaymentType;
                objPayment.ARSaleOrderPaymentTimePaymentTermItemType           = o.GEPaymentTermItemPaymentType;
                objPayment.FK_GEPaymentTermItemID = o.GEPaymentTermItemID;
                if (o.GEPaymentTermItemPaymentTime == "IsContract")
                {
                    if (mainObject.ARSaleOrderDate.Date != DateTime.MaxValue.Date && mainObject.ARSaleOrderDate.Date != DateTime.MinValue.Date)
                    {
                        objPayment.ARSaleOrderPaymentTimeDate    = mainObject.ARSaleOrderDate;
                        objPayment.ARSaleOrderPaymentTimeDueDate = mainObject.ARSaleOrderDate;
                    }
                }
                if (o.GEPaymentTermItemPaymentTime == "IsBeforeDelivery")
                {
                    if (mainObject.ARSaleOrderDeliveryDate.Date != DateTime.MaxValue.Date && mainObject.ARSaleOrderDeliveryDate.Date != DateTime.MinValue.Date)
                    {
                        objPayment.ARSaleOrderPaymentTimeDate    = mainObject.ARSaleOrderDeliveryDate.AddDays(-o.GEPaymentTermItemDay);
                        objPayment.ARSaleOrderPaymentTimeDueDate = mainObject.ARSaleOrderDeliveryDate.AddDays(-o.GEPaymentTermItemDay);
                    }
                }
                if (o.GEPaymentTermItemPaymentTime == "IsAfterDelivery")
                {
                    if (mainObject.ARSaleOrderDeliveryDate.Date != DateTime.MaxValue.Date && mainObject.ARSaleOrderDeliveryDate.Date != DateTime.MinValue.Date)
                    {
                        objPayment.ARSaleOrderPaymentTimeDate    = mainObject.ARSaleOrderDeliveryDate.AddDays(o.GEPaymentTermItemDay);
                        objPayment.ARSaleOrderPaymentTimeDueDate = mainObject.ARSaleOrderDeliveryDate.AddDays(o.GEPaymentTermItemDay);
                    }
                }
                if (o.GEPaymentTermItemPaymentTime == "IsSaleOrder")
                {
                    if (mainObject.ARSaleOrderDeliveryDate.Date != DateTime.MaxValue.Date && mainObject.ARSaleOrderDeliveryDate.Date != DateTime.MinValue.Date)
                    {
                        objPayment.ARSaleOrderPaymentTimeDate    = mainObject.ARSaleOrderDeliveryDate.AddDays(o.GEPaymentTermItemDay);
                        objPayment.ARSaleOrderPaymentTimeDueDate = mainObject.ARSaleOrderDeliveryDate.AddDays(o.GEPaymentTermItemDay);
                    }
                }
                VinaApp.RoundByCurrency(objPayment, mainObject.FK_GECurrencyID);
                entity.SaleOrderPaymentTimeList.Add(objPayment);
                entity.SaleOrderPaymentTimeList.GridControl.RefreshDataSource();
            });
        }
Beispiel #3
0
 public override void InitMainObject()
 {
     MainObject   = new GEPaymentTermsInfo();
     SearchObject = new GEPaymentTermsInfo();
 }