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(); } }
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); } }
public static EMeasurementClass GetMeasurementClassForEUnitQuantityType(EUnitMeasurementType type) { if (_solidMeasermentTypes.Contains(type)) { return(EMeasurementClass.Weight); } return(EMeasurementClass.Volume); }
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); }
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); } }
public virtual double ConvertTo(EUnitMeasurementType measurementType) { return(0f); }
public BaseMeasurement(EUnitMeasurementType measurementType) { MeasurementType = measurementType; }
public override double ConvertTo(EUnitMeasurementType measurementType) { return(UnitQuantityTypeVolume); }
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); }
private double GetTotalProductQuantitiesToMeasuremenType(IEnumerable <BaseMeasurement> productQuantities, EUnitMeasurementType type) { var total = 0.0; foreach (var pq in productQuantities) { total += pq.ConvertTo(type); } return(total); }