public void FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e) { CurrencyInfo info = e.Row as CurrencyInfo; if (info != null) { try { info.defaultCuryRate(sender); } catch (PXSetPropertyException ex) { sender.RaiseExceptionHandling(_FieldName, e.Row, sender.GetValue(e.Row, _FieldOrdinal), ex); } } }
public void FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e) { CurrencyInfo info = e.Row as CurrencyInfo; if (info != null) { //reset effective date to document date first info.SetDefaultEffDate(sender); try { info.defaultCuryRate(sender); } catch (PXSetPropertyException ex) { sender.RaiseExceptionHandling(_FieldName, e.Row, sender.GetValue(e.Row, _FieldOrdinal), ex); } info.CuryPrecision = null; } }
public void FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e) { CurrencyInfo info = e.Row as CurrencyInfo; if (info == null || !e.ExternalCall) { return; } decimal rate = Math.Round((decimal)info.SampleCuryRate, 8); bool hasCurrencyRateDefaulted = false; if (rate == 0) { try { info.defaultCuryRate(sender); hasCurrencyRateDefaulted = true; } catch (PXSetPropertyException) { rate = 1; } } if (!hasCurrencyRateDefaulted) { info.CuryRate = rate; info.RecipRate = Math.Round(1m / rate, 8); info.CuryMultDiv = CuryMultDivType.Mult; } if (info.CheckRateVariance(sender)) { PXUIFieldAttribute.SetWarning <CurrencyInfo.sampleCuryRate>( sender, e.Row, Messages.RateVarianceExceeded); } }