public override void SetDefaultMainObject() { base.SetDefaultMainObject(); GEPaymentTermsInfo mainObject = (GEPaymentTermsInfo)MainObject; mainObject.GEPaymentTermDate = DateTime.Now; mainObject.FK_HREmployeeID = VinaApp.CurrentUserInfo.FK_HREmployeeID; UpdateMainObjectBindingSource(); }
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(); }); }
public override void InitMainObject() { MainObject = new GEPaymentTermsInfo(); SearchObject = new GEPaymentTermsInfo(); }