private void EditActualAmount(Sage.Platform.Controls.ExchangeRateTypeEnum exchangeRateType) { if (DialogService != null) { IOpportunity entity = BindingSource.Current as IOpportunity; if (GetOpportunityStatusMatch(entity, "ClosedWon")) { DialogService.SetSpecs(200, 200, 400, 600, "OpportunityClosedWon", "", true); } else if (GetOpportunityStatusMatch(entity, "ClosedLost")) { DialogService.SetSpecs(200, 200, 400, 600, "OpportunityClosedLost", "", true); } else { DialogService.SetSpecs(200, 200, 200, 300, "UpdateSalesPotential", "", true); } if (BusinessRuleHelper.IsMultiCurrencyEnabled()) { string exchangeRateCode = string.Empty; double exchangeRate = 0.0; GetExchageRateData(exchangeRateType, out exchangeRateCode, out exchangeRate); DialogService.DialogParameters.Clear(); DialogService.DialogParameters.Add("ExchangeRateType", exchangeRateType); DialogService.DialogParameters.Add("ExchangeRateCode", exchangeRateCode); DialogService.DialogParameters.Add("ExchangeRate", exchangeRate); } DialogService.ShowDialog(); } }
private void GetExchageRateData(Sage.Platform.Controls.ExchangeRateTypeEnum exchangeRateType, out string exchangeRateCode, out double exchangeRate) { string _exchangeRateCode = string.Empty; double?_exchangeRate = 0.0; if (exchangeRateType == Sage.Platform.Controls.ExchangeRateTypeEnum.EntityRate) { IOpportunity opp = BindingSource.Current as IOpportunity; _exchangeRateCode = opp.ExchangeRateCode; _exchangeRate = opp.ExchangeRate; } if (exchangeRateType == Sage.Platform.Controls.ExchangeRateTypeEnum.MyRate) { _exchangeRateCode = BusinessRuleHelper.GetMyCurrencyCode(); IExchangeRate myExchangeRate = EntityFactory.GetById <IExchangeRate>(String.IsNullOrEmpty(_exchangeRateCode) ? "USD" : _exchangeRateCode); if (myExchangeRate != null) { _exchangeRate = myExchangeRate.Rate.GetValueOrDefault(1); } } if (exchangeRateType == Sage.Platform.Controls.ExchangeRateTypeEnum.BaseRate) { var optionSvc = ApplicationContext.Current.Services.Get <ISystemOptionsService>(true); _exchangeRateCode = optionSvc.BaseCurrency; IExchangeRate er = EntityFactory.GetById <IExchangeRate>(String.IsNullOrEmpty(_exchangeRateCode) ? "USD" : _exchangeRateCode); _exchangeRate = er.Rate.GetValueOrDefault(1); if (_exchangeRate.Equals(0)) { _exchangeRate = 1; } } exchangeRateCode = _exchangeRateCode; exchangeRate = Convert.ToDouble(_exchangeRate); }
private void EditSalesPotential(Sage.Platform.Controls.ExchangeRateTypeEnum exchangeRateType) { if (DialogService != null) { DialogService.SetSpecs(200, 400, "EditSalesPotential"); if (BusinessRuleHelper.IsMultiCurrencyEnabled()) { string exchangeRateCode = string.Empty; double exchangeRate = 0.0; GetExchageRateData(exchangeRateType, out exchangeRateCode, out exchangeRate); DialogService.DialogParameters.Clear(); DialogService.DialogParameters.Add("ExchangeRateType", exchangeRateType); DialogService.DialogParameters.Add("ExchangeRateCode", exchangeRateCode); DialogService.DialogParameters.Add("ExchangeRate", exchangeRate); } DialogService.ShowDialog(); } }