Example #1
0
 /// <summary>
 /// Converts value from one Measure Unit to another Unit.
 /// </summary>
 /// <param name="from">Source Measure Unit</param>
 /// <param name="to">Target Measure Unit</param>
 /// <param name="value">Converted value</param>
 /// <returns>Returns a converted value; otherwise return 0 (zero).</returns>
 public static double ConvertValue(Guid from, Guid to, Guid organizationId, double value)
 {
     MasterDataSet.UnitsOfMeasureConversionRow row = GetUnitsOfMeasureConversionRow(from, to, organizationId);
     if (row != null)
     {
         return(value * row.Factor);
     }
     return(0);
 }
Example #2
0
        private static void UpdateMeasureUnitsConversion(Guid measureUnitFrom, Guid measureUnitTo, Guid organizationId, double factor, bool deleted)
        {
            if (double.IsNaN(factor) || factor <= 0.0)
            {
                throw new ArithmeticException(Resources.MeasureUnitsProvider_ErrorMessage_FactorCannotBeZero);
            }

            if (measureUnitFrom.Equals(Guid.Empty) || measureUnitTo.Equals(Guid.Empty) || measureUnitFrom.Equals(measureUnitTo))
            {
                throw new ArgumentException(Resources.MeasureUnitsProvider_ErrorMessage_IncorrectIdentifier);
            }

            MasterDataSet.UnitsOfMeasureConversionRow row = GetUnitsOfMeasureConversionRow(measureUnitFrom, measureUnitTo, organizationId);

            if (row == null)
            {
                MasterDataSet.UnitsOfMeasureConversionDataTable table = new MasterDataSet.UnitsOfMeasureConversionDataTable();
                row = table.NewUnitsOfMeasureConversionRow();
                row.UnitOfMeasureFrom = measureUnitFrom;
                row.UnitOfMeasureTo   = measureUnitTo;
                row.OrganizationId    = organizationId;
                row.Factor            = factor;
                table.AddUnitsOfMeasureConversionRow(row);
            }
            else
            {
                if (deleted)
                {
                    row.Delete();
                }
                else
                {
                    row.Factor = factor;
                }
            }

            using (UnitsOfMeasureConversionTableAdapter adapter = new UnitsOfMeasureConversionTableAdapter())
            {
                adapter.Update(row);
            }
        }