/// <summary> /// Updates the sales order products price based on a change of the multi currency pricing value. /// The updated is based on the value changed divided by the exchange rate. This event is only /// called when multi-currency is enabled. /// </summary> /// <param name="form">the instance of the ICEditSalesOrderItem dialog</param> /// <param name="args">empty</param> public static void curMCCalcPrice_OnChangeStep(IICEditSalesOrderItem form, EventArgs args) { ISalesOrderItem salesOrderItem = form.CurrentEntity as ISalesOrderItem; if (salesOrderItem != null) { double exchangeRate = salesOrderItem.SalesOrder.ExchangeRate.HasValue ? salesOrderItem.SalesOrder.ExchangeRate.Value : 1; form.curMCCalcPrice.CurrentCode = salesOrderItem.SalesOrder.CurrencyCode; string price = String.IsNullOrEmpty(form.curMCCalcPrice.Text) ? "0" : form.curMCCalcPrice.Text; salesOrderItem.CalculatedPrice = (decimal?) (Convert.ToDouble(price)/exchangeRate); salesOrderItem.CalculateCalcPrice(); } }
/// <summary> /// Updates the sales order products price based on a change of the multi currency pricing value. /// The updated is based on the value changed divided by the exchange rate. This event is only /// called when multi-currency is enabled. /// </summary> /// <param name="form">the instance of the ICEditSalesOrderItem dialog</param> /// <param name="args">empty</param> public static void curMCCalcPrice_OnChangeStep(IICEditSalesOrderItem form, EventArgs args) { ISalesOrderItem salesOrderItem = form.CurrentEntity as ISalesOrderItem; if (salesOrderItem != null) { double exchangeRate = salesOrderItem.SalesOrder.ExchangeRate.HasValue ? salesOrderItem.SalesOrder.ExchangeRate.Value : 1; form.curMCCalcPrice.CurrentCode = salesOrderItem.SalesOrder.CurrencyCode; string price = String.IsNullOrEmpty(form.curMCCalcPrice.Text) ? "0" : form.curMCCalcPrice.Text; salesOrderItem.CalculatedPrice = (decimal?)(Convert.ToDouble(price) / exchangeRate); salesOrderItem.CalculateCalcPrice(); } }
/// <summary> /// Sets view state of the Add Custom Product view based on a set of rules. /// </summary> /// <param name="form">The Edit Sales Order Item form.</param> /// <param name="args">The <see cref="System.EventArgs"/> instance containing the event data.</param> public static void OnLoad1Step(IICEditSalesOrderItem form, EventArgs args) { ISalesOrderItem salesOrderItem = form.CurrentEntity as ISalesOrderItem; ISalesOrder salesOrder = salesOrderItem.SalesOrder; IWebDialogService dialogService = form.Services.Get<IWebDialogService>(); if (dialogService != null && dialogService.DialogParameters.ContainsKey("CustomProductSalesOrder")) { salesOrder = dialogService.DialogParameters["CustomProductSalesOrder"] as ISalesOrder; salesOrderItem.SalesOrder = salesOrder; salesOrderItem.Quantity = 1; salesOrderItem.CalculatedPrice = 0; salesOrderItem.Discount = 0; salesOrderItem.ExtendedPrice = 0; salesOrderItem.Price = 0; dialogService.DialogParameters.Remove("CustomProductSalesOrder"); } if (salesOrder != null && salesOrder.IsMultiCurrencyEnabled()) { form.curMCCalcPrice.ExchangeRate = salesOrder.ExchangeRate.GetValueOrDefault(1); form.curMCCalcPrice.CurrentCode = salesOrder.CurrencyCode; form.curMCCalcPrice.ExchangeRateType = Sage.Platform.Controls.ExchangeRateTypeEnum.EntityRate; form.curMCCalcPrice.Text = salesOrderItem.CalculatedPrice.ToString(); } else { form.ctrlstMCPrice.Visible = false; } form.ctrlstLineNumber.Visible = (salesOrderItem.Id != null); if (salesOrderItem.Product == null) // AdHocProduct { if (String.IsNullOrEmpty(salesOrderItem.LineType)) { salesOrderItem.LineType = "FreeText"; // Use as literal; represents adhoc product. } form.curPrice.IsReadOnly = false; form.txtSKU.IsReadOnly = false; form.txtFamily.IsReadOnly = false; form.txtDescription.IsReadOnly = false; form.txtProduct.IsReadOnly = false; form.ctrlstWarehouse.Visible = false; form.ctrlstWarehouses.Visible = false; } IAppIdMappingService mappingService = Sage.Platform.Application.ApplicationContext.Current.Services.Get<IAppIdMappingService>(true); //if this is a Sales Order that synced from the accounting system or the Sales Order has been submitted then we disable it bool isOpen = false; if (!String.IsNullOrEmpty(salesOrder.ERPSalesOrder.ERPStatus)) { isOpen = (salesOrder.ERPSalesOrder.ERPStatus.Equals( form.GetResource("erpStatus_Open").ToString()) || salesOrder.ERPSalesOrder.ERPStatus.Equals(form.GetResource("erpStatus_Rejected").ToString())); } bool erpSalesOrder = (mappingService.IsIntegrationEnabled() && (salesOrder.GlobalSyncId.HasValue && !isOpen)); form.txtDescription.Enabled = !erpSalesOrder; form.txtFamily.Enabled = !erpSalesOrder; form.lueLocation.Enabled = !erpSalesOrder; form.numDiscount.Enabled = !erpSalesOrder; form.currCalculatedPrice.Enabled = !erpSalesOrder; form.numQuantity.Enabled = !erpSalesOrder; form.lueUnitOfMeasure.Enabled = !erpSalesOrder; form.chkPriceLocked.Enabled = !erpSalesOrder; form.btnOk.Visible = !erpSalesOrder; form.txtComments.Enabled = !erpSalesOrder; form.btnCancel.Caption = form.GetResource("Closed_Caption").ToString(); IRoleSecurityService roleSecurityService = form.Services.Get<IRoleSecurityService>(true); form.chkPriceLocked.Enabled = roleSecurityService.HasAccess("IntegrationContract/LockPricing"); }
/// <summary> /// Sets view state of the Add Custom Product view based on a set of rules. /// </summary> /// <param name="form">The Edit Sales Order Item form.</param> /// <param name="args">The <see cref="System.EventArgs"/> instance containing the event data.</param> public static void OnLoad1Step(IICEditSalesOrderItem form, EventArgs args) { ISalesOrderItem salesOrderItem = form.CurrentEntity as ISalesOrderItem; ISalesOrder salesOrder = salesOrderItem.SalesOrder; IWebDialogService dialogService = form.Services.Get <IWebDialogService>(); if (dialogService != null && dialogService.DialogParameters.ContainsKey("CustomProductSalesOrder")) { salesOrder = dialogService.DialogParameters["CustomProductSalesOrder"] as ISalesOrder; salesOrderItem.SalesOrder = salesOrder; salesOrderItem.Quantity = 1; salesOrderItem.CalculatedPrice = 0; salesOrderItem.Discount = 0; salesOrderItem.ExtendedPrice = 0; salesOrderItem.Price = 0; dialogService.DialogParameters.Remove("CustomProductSalesOrder"); } if (salesOrder != null && salesOrder.IsMultiCurrencyEnabled()) { form.curMCCalcPrice.ExchangeRate = salesOrder.ExchangeRate.GetValueOrDefault(1); form.curMCCalcPrice.CurrentCode = salesOrder.CurrencyCode; form.curMCCalcPrice.ExchangeRateType = Sage.Platform.Controls.ExchangeRateTypeEnum.EntityRate; form.curMCCalcPrice.Text = salesOrderItem.CalculatedPrice.ToString(); } else { form.ctrlstMCPrice.Visible = false; } form.ctrlstLineNumber.Visible = (salesOrderItem.Id != null); if (salesOrderItem.Product == null) // AdHocProduct { if (String.IsNullOrEmpty(salesOrderItem.LineType)) { salesOrderItem.LineType = "FreeText"; // Use as literal; represents adhoc product. } form.curPrice.IsReadOnly = false; form.txtSKU.IsReadOnly = false; form.txtFamily.IsReadOnly = false; form.txtDescription.IsReadOnly = false; form.txtProduct.IsReadOnly = false; form.ctrlstWarehouse.Visible = false; form.ctrlstWarehouses.Visible = false; } IAppIdMappingService mappingService = Sage.Platform.Application.ApplicationContext.Current.Services.Get <IAppIdMappingService>(true); //if this is a Sales Order that synced from the accounting system or the Sales Order has been submitted then we disable it bool isOpen = false; if (!String.IsNullOrEmpty(salesOrder.ERPSalesOrder.ERPStatus)) { isOpen = (salesOrder.ERPSalesOrder.ERPStatus.Equals( form.GetResource("erpStatus_Open").ToString()) || salesOrder.ERPSalesOrder.ERPStatus.Equals(form.GetResource("erpStatus_Rejected").ToString())); } bool erpSalesOrder = (mappingService.IsIntegrationEnabled() && (salesOrder.GlobalSyncId.HasValue && !isOpen)); form.txtDescription.Enabled = !erpSalesOrder; form.txtFamily.Enabled = !erpSalesOrder; form.lueLocation.Enabled = !erpSalesOrder; form.numDiscount.Enabled = !erpSalesOrder; form.currCalculatedPrice.Enabled = !erpSalesOrder; form.numQuantity.Enabled = !erpSalesOrder; form.lueUnitOfMeasure.Enabled = !erpSalesOrder; form.chkPriceLocked.Enabled = !erpSalesOrder; form.btnOk.Visible = !erpSalesOrder; form.txtComments.Enabled = !erpSalesOrder; form.btnCancel.Caption = form.GetResource("Closed_Caption").ToString(); IRoleSecurityService roleSecurityService = form.Services.Get <IRoleSecurityService>(true); form.chkPriceLocked.Enabled = roleSecurityService.HasAccess("IntegrationContract/LockPricing"); }
public static void lueUnitOfMeasure_OnChangeStep( IICEditSalesOrderItem form, EventArgs args) { // TODO: Complete business rule implementation }
public static void lueUnitOfMeasure_OnChangeStep(IICEditSalesOrderItem form, EventArgs args) { // TODO: Complete business rule implementation }