Exemple #1
0
        public static BaseMeasurement GetMeasurement(EUnitMeasurementType measurementType)
        {
            switch (measurementType)
            {
            case EUnitMeasurementType.Liter:
                return(new Liter());

            case EUnitMeasurementType.Ml:
                return(new MiliLiter());

            case EUnitMeasurementType.Dl:
                return(new DeciLiter());

            case EUnitMeasurementType.Kg:
                return(new KiloGram());

            case EUnitMeasurementType.Gr:
                return(new Gram());

            case EUnitMeasurementType.Mg:
                return(new MiliGram());

            case EUnitMeasurementType.Piece:
                return(new Piece());

            default:
                throw new NotImplementedException();
            }
        }
Exemple #2
0
        public override double ConvertTo(EUnitMeasurementType measurementType)
        {
            if (!new[] { EUnitMeasurementType.Dl, EUnitMeasurementType.Ml }.Contains(measurementType))
            {
                return(-1);
            }

            var total = UnitQuantityTypeVolume;

            switch (measurementType)
            {
            case EUnitMeasurementType.Liter:
                return(total);

            case EUnitMeasurementType.Dl:
                return(total * 10);

            case EUnitMeasurementType.Cl:
                return(total * 100);

            case EUnitMeasurementType.Ml:
                return(total * 1000);

            default:
                return(-1);
            }
        }
Exemple #3
0
 public static EMeasurementClass GetMeasurementClassForEUnitQuantityType(EUnitMeasurementType type)
 {
     if (_solidMeasermentTypes.Contains(type))
     {
         return(EMeasurementClass.Weight);
     }
     return(EMeasurementClass.Volume);
 }
Exemple #4
0
        public double GetTotalAmount(EUnitMeasurementType type)
        {
            double totalAmount = 0f;

            Values.ForEach(v =>
            {
                var baseM = BaseMeasurement.GetMeasurement(v.Type);
                baseM.UnitQuantityTypeVolume = v.Amount;
                totalAmount += baseM.ConvertTo(type);
            }
                           );

            return(totalAmount);
        }
Exemple #5
0
        public override double ConvertTo(EUnitMeasurementType measurementType)
        {
            if (!new[] { EUnitMeasurementType.Kg, EUnitMeasurementType.Gr, EUnitMeasurementType.Mg }.Contains(measurementType))
            {
                return(0);
            }

            var total = UnitQuantityTypeVolume;

            switch (measurementType)
            {
            case EUnitMeasurementType.Mg:
                return(total);

            case EUnitMeasurementType.Gr:
                return(total / 1000);

            case EUnitMeasurementType.Kg:
                return(total / 1000000);

            default:
                return(0);
            }
        }
Exemple #6
0
 public virtual double ConvertTo(EUnitMeasurementType measurementType)
 {
     return(0f);
 }
Exemple #7
0
 public BaseMeasurement(EUnitMeasurementType measurementType)
 {
     MeasurementType = measurementType;
 }
Exemple #8
0
 public override double ConvertTo(EUnitMeasurementType measurementType)
 {
     return(UnitQuantityTypeVolume);
 }
Exemple #9
0
        public List <QuantityWithInfo> GetQuantityWithInfos(List <BaseMeasurement> measurements, EUnitMeasurementType measurementType, double totRequestedAmount)
        {
            var infos = new List <QuantityWithInfo>();

            foreach (var item in measurements)
            {
                var newInfo = new QuantityWithInfo(item);
                newInfo.NormalizedValue = item.ConvertTo(measurementType);
                newInfo.RequestedAmount = totRequestedAmount;

                infos.Add(newInfo);
            }

            infos.OrderBy(i => i.MaxPossibleForRequestMin);
            return(infos);
        }
Exemple #10
0
        private double GetTotalProductQuantitiesToMeasuremenType(IEnumerable <BaseMeasurement> productQuantities, EUnitMeasurementType type)
        {
            var total = 0.0;

            foreach (var pq in productQuantities)
            {
                total += pq.ConvertTo(type);
            }
            return(total);
        }