public void SetDefaultInvoiceName() { InvoiceEntities entity = (InvoiceEntities)CurrentModuleEntity; ARInvoicesInfo mainObject = (ARInvoicesInfo)entity.MainObject; if (!String.IsNullOrWhiteSpace(mainObject.ARInvoiceName)) { return; } if (mainObject.FK_ARCustomerID == 0) { return; } if (mainObject.FK_ARSaleOrderID == 0) { return; } ARSaleOrdersController objSaleOrdersController = new ARSaleOrdersController(); ARSaleOrdersInfo objSaleOrdersInfo = objSaleOrdersController.GetObjectByID(mainObject.FK_ARSaleOrderID) as ARSaleOrdersInfo; if (objSaleOrdersInfo == null) { return; } mainObject.ARInvoiceName = string.Format("Hóa đơn bán hàng của {0} cho đơn bán hàng {1}", mainObject.ARInvoiceCustomerName, objSaleOrdersInfo.ARSaleOrderNo); }
public void ChangeCustomer(int customerID) { if (Toolbar.IsNullOrNoneAction() || customerID <= 0) { return; } SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)CurrentModuleEntity.MainObject; ARCustomersController objCustomersController = new ARCustomersController(); ARCustomersInfo objCustomersInfo = objCustomersController.GetObjectByID(customerID) as ARCustomersInfo; if (objCustomersInfo == null) { return; } if (objCustomersInfo.ARCustomerActiveCheck == false) { MessageBox.Show("Khách hàng này đã bỏ hoạt động!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } mainObject.FK_ARCustomerID = customerID; mainObject.ARSaleOrderCustomerName = objCustomersInfo.ARCustomerName; mainObject.ARSaleOrderCustomerPhone = string.IsNullOrEmpty(objCustomersInfo.ARCustomerContactPhone1) ? (string.IsNullOrEmpty(objCustomersInfo.ARCustomerContactPhone2) ? string.Empty : objCustomersInfo.ARCustomerContactPhone2) : objCustomersInfo.ARCustomerContactPhone1; mainObject.FK_GECurrencyID = objCustomersInfo.FK_GECurrencyID; mainObject.FK_GEPaymentTermID = objCustomersInfo.FK_GEPaymentTermID; mainObject.ARSaleOrderPaymentMethodType = string.IsNullOrEmpty(objCustomersInfo.ARCustomerPaymentMethod) ? string.Empty : objCustomersInfo.ARCustomerPaymentMethod; mainObject.ARSaleOrderCustomerTaxCode = objCustomersInfo.ARCustomerTaxNumber; mainObject.ARSaleOrderCustomerAddress = objCustomersInfo.ARCustomerContactAddress; mainObject.ARSaleOrderCustomerDeliveryName = objCustomersInfo.ARCustomerName; mainObject.ARSaleOrderCustomerDeliveryPhone = mainObject.ARSaleOrderCustomerPhone; mainObject.ARSaleOrderCustomerDeliveryAddress = mainObject.ARSaleOrderCustomerAddress; mainObject.ARSaleOrderCustomerDeliveryAddress = mainObject.ARSaleOrderCustomerAddress; entity.UpdateMainObjectBindingSource(); }
public void SetDefaultShipmentName() { SaleOrderShipmentEntities entity = CurrentModuleEntity as SaleOrderShipmentEntities; ICShipmentsInfo mainObject = entity.MainObject as ICShipmentsInfo; if (!String.IsNullOrWhiteSpace(mainObject.ICShipmentName)) { return; } if (mainObject.FK_ARSaleOrderID == 0) { return; } ARSaleOrdersController objSaleOrdersController = new ARSaleOrdersController(); ARSaleOrdersInfo objSaleOrdersInfo = objSaleOrdersController.GetObjectByID(mainObject.FK_ARSaleOrderID) as ARSaleOrdersInfo; if (objSaleOrdersInfo == null) { return; } mainObject.ICShipmentName = string.Format("Chứng từ xuất kho của đơn bán hàng {0}", objSaleOrdersInfo.ARSaleOrderNo); }
public bool IsValidInventoryStockQty(List <ARSaleOrderItemsInfo> saleOrderItemList) { bool isValid = true; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)CurrentModuleEntity.MainObject; List <ARSaleOrderItemsInfo> mergeList = MergeSaleOrderItemSameProduct(saleOrderItemList); ICTransactionsController objTransactionsController = new ICTransactionsController(); decimal inventoryStockQty = 0; List <string> errorMessagesList = new List <string>(); mergeList.ForEach(o => { inventoryStockQty = objTransactionsController.GetAvailabilityQtyForSale(o.FK_ICProductID, o.FK_ICStockID, o.ARSaleOrderItemStockLotNo, mainObject.ARSaleOrderDate); if (inventoryStockQty >= o.ARSaleOrderItemProductQty) { return; } errorMessagesList.Add(string.Format("Sản phẩm {0} không đủ tồn kho. Vui lòng kiểm tra lại!", o.ARSaleOrderItemProductNo)); }); if (errorMessagesList.Count() > 0) { GuiErrorMessage guiErrorMessage = new GuiErrorMessage(errorMessagesList); guiErrorMessage.Module = this; guiErrorMessage.ShowDialog(); return(false); } return(isValid); }
public void ActionNewFromProposal() { ActionNew(); SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; ARProposalsController objProposalsController = new ARProposalsController(); List <ARProposalsInfo> proposalList = objProposalsController.GetAllProposalForOderring(); guichooseProposal guiFind = new guichooseProposal(proposalList); guiFind.Module = this; guiFind.ShowDialog(); if (guiFind.DialogResult != DialogResult.OK) { return; } ARProposalsInfo objProposalsInfo = (ARProposalsInfo)guiFind.SelectedObjects[0]; if (objProposalsInfo != null) { mainObject.FK_ARCustomerID = objProposalsInfo.FK_ARCustomerID; mainObject.FK_ARProposalID = objProposalsInfo.ARProposalID; mainObject.FK_GECurrencyID = objProposalsInfo.FK_GECurrencyID; mainObject.ARSaleOrderDesc = objProposalsInfo.ARProposalDesc; mainObject.ARSaleOrderExchangeRate = objProposalsInfo.ARProposalExchangeRate; mainObject.ARSaleOrderPaymentMethodType = objProposalsInfo.ARProposalPaymentMethod; mainObject.ARSaleOrderSubTotalAmount = objProposalsInfo.ARProposalSubTotalAmount; mainObject.ARSaleOrderDiscountPercent = objProposalsInfo.ARProposalDiscountPerCent; mainObject.ARSaleOrderDiscountAmount = objProposalsInfo.ARProposalDiscountAmount; mainObject.ARSaleOrderTaxPercent = objProposalsInfo.ARProposalTaxPercent; mainObject.ARSaleOrderTaxAmount = objProposalsInfo.ARProposalTaxAmount; mainObject.ARSaleOrderTotalAmount = objProposalsInfo.ARProposalTotalAmount; } proposalList.Clear(); proposalList = (List <ARProposalsInfo>)guiFind.SelectedObjects; proposalList.ForEach(o => { ARProposalItemsController objProposalItemsController = new ARProposalItemsController(); List <ARProposalItemsInfo> proposalItems = objProposalItemsController.GetAllItemByProopsalID(o.ARProposalID); proposalItems.ForEach(p => { ARSaleOrderItemsInfo objSaleOrderItemsInfo = new ARSaleOrderItemsInfo(); objSaleOrderItemsInfo.FK_ICProductID = p.FK_ICProductID; objSaleOrderItemsInfo.FK_ICMeasureUnitID = p.FK_ICMeasureUnitID; objSaleOrderItemsInfo.ARSaleOrderItemProductNo = p.ARProposalItemProductNo; objSaleOrderItemsInfo.ARSaleOrderItemProductName = p.ARProposalItemProductName; objSaleOrderItemsInfo.ARSaleOrderItemProductDesc = p.ARProposalItemDesc; objSaleOrderItemsInfo.ARSaleOrderItemProductUnitPrice = p.ARProposalItemPrice; objSaleOrderItemsInfo.ARSaleOrderItemProductQty = p.ARProposalItemQty; objSaleOrderItemsInfo.ARSaleOrderItemDiscountPercent = p.ARProposalItemDiscountPercent; objSaleOrderItemsInfo.ARSaleOrderItemDiscountAmount = p.ARProposalItemDiscountAmount; objSaleOrderItemsInfo.ARSaleOrderItemTaxPercent = p.ARProposalItemTaxPercent; objSaleOrderItemsInfo.ARSaleOrderItemTaxAmount = p.ARProposalItemTaxAmount; objSaleOrderItemsInfo.ARSaleOrderItemTotalAmount = p.ARProposalItemTotalAmount; entity.SaleOrderItemsList.Add(objSaleOrderItemsInfo); }); }); ChangeCustomer(mainObject.FK_ARCustomerID); entity.UpdateMainObjectBindingSource(); entity.SaleOrderItemsList.GridControl.RefreshDataSource(); }
public override void ActionApproved() { base.ActionApproved(); SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; List <ARSaleOrderItemsInfo> invetoryCheckList = new List <ARSaleOrderItemsInfo>(); ICProductsController objProductsController = new ICProductsController(); ICProductsInfo objProductsInfo = new ICProductsInfo(); entity.SaleOrderItemsList.ForEach(o => { objProductsInfo = (ICProductsInfo)objProductsController.GetObjectByID(o.FK_ICProductID); if (objProductsInfo == null) { return; } if (o.ARSaleOrderItemGrantedFrom == ProductGrantedFrom.Inventory) { invetoryCheckList.Add((ARSaleOrderItemsInfo)o.Clone()); } }); if (!IsValidInventoryStockQty(invetoryCheckList)) { return; } ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; ARSaleOrdersController objSaleOrdersController = new ARSaleOrdersController(); mainObject.ARSaleOrderStatus = "Approved"; entity.UpdateMainObject(); GLHelper.PostedTransactions(CurrentModuleName, mainObject.ARSaleOrderID, ModulePostingType.SaleOrder); InvalidateToolbar(); }
public void UpdateTotalAmount() { SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)CurrentModuleEntity.MainObject; entity.UpdateTotalAmount(); GeneratePaymentTime(mainObject.FK_GEPaymentTermID); }
public void InitializeSaleOrderReport(ARSaleOrder report) { SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; ARSaleOrderItemsController objSaleOrderItemsController = new ARSaleOrderItemsController(); List <ARSaleOrderItemsInfo> soItemList = objSaleOrderItemsController.GetItemForSaleOrderReport(mainObject.ARSaleOrderID); report.bsARSaleOrderItems.DataSource = soItemList; }
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(); }
public override void SetDefaultMainObject() { base.SetDefaultMainObject(); ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)MainObject; mainObject.ARSaleOrderDate = DateTime.Now; mainObject.ARSaleOrderDeliveryDate = DateTime.Now; mainObject.FK_HREmployeeID = VinaApp.CurrentUserInfo.FK_HREmployeeID; UpdateMainObjectBindingSource(); }
public void ChangeCurrency(int currencyID) { SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; mainObject.FK_GECurrencyID = currencyID; GECurrenciesInfo objCurrenciesInfo = VinaApp.CurrencyList.Where(o => o.GECurrencyID == currencyID).FirstOrDefault(); mainObject.ARSaleOrderExchangeRate = objCurrenciesInfo == null ? 1 : objCurrenciesInfo.GECurrencyTransferRate; entity.UpdateMainObjectBindingSource(); ChangeExchangeRate(); }
public void ChangeDiscountAmount() { SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; if (mainObject.ARSaleOrderSubTotalAmount != 0) { mainObject.ARSaleOrderDiscountPercent = 100 * mainObject.ARSaleOrderDiscountAmount / mainObject.ARSaleOrderSubTotalAmount; } else { mainObject.ARSaleOrderDiscountPercent = 0; } mainObject.ARSaleOrderDiscountPercent = Math.Round(mainObject.ARSaleOrderDiscountPercent, 2, MidpointRounding.AwayFromZero); UpdateTotalAmount(); }
public void SaleOrderPaymentMethod(string paymentMethod) { if (Toolbar.IsNullOrNoneAction()) { return; } SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; entity.SaleOrderPaymentTimeList.ForEach(o => { o.ARSaleOrderPaymentTimePaymentMethod = mainObject.ARSaleOrderPaymentMethodType; }); entity.SaleOrderPaymentTimeList.GridControl.RefreshDataSource(); }
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(); }
public void SetDefaultSaleOrderName() { SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)CurrentModuleEntity.MainObject; if (!String.IsNullOrWhiteSpace(mainObject.ARSaleOrderName)) { return; } if (mainObject.FK_ARCustomerID == 0) { return; } mainObject.ARSaleOrderName = string.Format("Bán hàng cho {0}", mainObject.ARSaleOrderCustomerName); }
public void UpdateTotalAmount() { ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)MainObject; mainObject.ARSaleOrderSubTotalAmount = SaleOrderItemsList.Sum(o => o.ARSaleOrderItemTotalAmount); VinaApp.RoundByCurrency(mainObject, "ARSaleOrderSubTotalAmount", mainObject.FK_GECurrencyID); mainObject.ARSaleOrderDiscountAmount = mainObject.ARSaleOrderDiscountPercent / 100 * mainObject.ARSaleOrderSubTotalAmount; VinaApp.RoundByCurrency(mainObject, "ARSaleOrderDiscountAmount", mainObject.FK_GECurrencyID); mainObject.ARSaleOrderTaxAmount = mainObject.ARSaleOrderTaxPercent / 100 * (mainObject.ARSaleOrderSubTotalAmount - mainObject.ARSaleOrderDiscountAmount); VinaApp.RoundByCurrency(mainObject, "ARSaleOrderTaxAmount", mainObject.FK_GECurrencyID); mainObject.ARSaleOrderTotalAmount = mainObject.ARSaleOrderSubTotalAmount - mainObject.ARSaleOrderDiscountAmount + mainObject.ARSaleOrderTaxAmount; VinaApp.RoundByCurrency(mainObject, "ARSaleOrderTotalAmount", mainObject.FK_GECurrencyID); UpdateMainObjectBindingSource(); }
public override void InvalidateToolbar() { base.InvalidateToolbar(); SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; ParentScreen.SetEnableOfToolbarButton("Approved", false); ParentScreen.SetEnableOfToolbarButton(BaseToolbar.ToolbarButtonEdit, true); if (mainObject.ARSaleOrderID > 0) { ParentScreen.SetEnableOfToolbarButton("Approved", true); if (mainObject.ARSaleOrderStatus == "Approved") { ParentScreen.SetEnableOfToolbarButton(BaseToolbar.ToolbarButtonEdit, false); ParentScreen.SetEnableOfToolbarButton("Approved", false); } } }
public void ChangeExchangeRate() { SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; entity.SaleOrderItemsList.ForEach(o => { if (mainObject.ARSaleOrderExchangeRate != 0) { o.ARSaleOrderItemProductUnitPrice = o.ARSaleOrderItemProductBasicPrice / mainObject.ARSaleOrderExchangeRate; } else { o.ARSaleOrderItemProductUnitPrice = 0; } ChangeItemFromSaleOrderItemsList(o); }); entity.SaleOrderItemsList.GridControl.RefreshDataSource(); UpdateTotalAmount(); }
public void ChangeTaxAmount() { if (Toolbar.IsNullOrNoneAction()) { return; } SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)entity.MainObject; if (mainObject.ARSaleOrderSubTotalAmount - mainObject.ARSaleOrderDiscountAmount != 0) { mainObject.ARSaleOrderTaxPercent = 100 * mainObject.ARSaleOrderTaxAmount / (mainObject.ARSaleOrderSubTotalAmount - mainObject.ARSaleOrderDiscountAmount); } else { mainObject.ARSaleOrderTaxPercent = 0; } mainObject.ARSaleOrderTaxPercent = Math.Round(mainObject.ARSaleOrderTaxPercent, 2, MidpointRounding.AwayFromZero); UpdateTotalAmount(); }
public override int ActionSave() { SaleOrderEntities entity = (SaleOrderEntities)CurrentModuleEntity; ARSaleOrdersInfo mainObject = (ARSaleOrdersInfo)CurrentModuleEntity.MainObject; SetDefaultSaleOrderName(); List <string> errorList = new List <string>(); if (mainObject.FK_ARCustomerID == 0) { errorList.Add("Khách hàng không được để trống!"); } if (mainObject.FK_GEPaymentTermID == 0) { errorList.Add("Điều khoản thanh toán không được bỏ trống!"); } if (string.IsNullOrWhiteSpace(mainObject.ARSaleOrderPaymentMethodType)) { errorList.Add("Phương thức thanh toán không được bỏ trống!"); } if (mainObject.FK_GECurrencyID == 0 || mainObject.ARSaleOrderExchangeRate == 0) { errorList.Add("Vui lòng chọn loại tiền tề và tỷ giá!"); } entity.SaleOrderItemsList.ForEach(o => { if (o.ARSaleOrderItemGrantedFrom == ProductGrantedFrom.Inventory && o.FK_ICStockID == 0) { errorList.Add("Vui lòng chọn kho cho sản phẩm có mã: " + o.ARSaleOrderItemProductNo); } }); if (errorList.Count() > 0) { GuiErrorMessage guiError = new GuiErrorMessage(errorList); guiError.Module = this; guiError.ShowDialog(); return(0); } return(base.ActionSave()); }
public override void InitMainObject() { MainObject = new ARSaleOrdersInfo(); SearchObject = new ARSaleOrdersInfo(); }
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(); }); }