using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Enumerations; namespace Tango.PPC.Shared.Statistics { public class PresentationBrushStop { private List _inputVolumes; public ColorSpaces ColorSpace { get; set; } public double StartMeters { get; set; } public int Red { get; set; } public int Green { get; set; } public int Blue { get; set; } public double L { get; set; } public double A { get; set; } public double B { get; set; } public String Catalog { get; set; } public String CatalogItem { get; set; } public int BestMatchR { get; set; } public int BestMatchG { get; set; } public int BestMatchB { get; set; } public List LiquidVolumes { get; set; } public double GetLiquidVolumeOutputOrZero(LiquidTypes liquidType) { var lv = LiquidVolumes.FirstOrDefault(x => x.LiquidType.Type == liquidType); return lv != null ? lv.Volume : 0.0; } public double GetLiquidVolumeInputOrZero(LiquidTypes liquidType) { var lv = GetVolumeInputs().FirstOrDefault(x => x.LiquidType.Type == liquidType); return lv != null ? lv.Volume : 0.0; } public List GetVolumeInputs() { if (_inputVolumes == null) { _inputVolumes = new List(); var clones = LiquidVolumes.Select(x => new PresentationLiquidVolume() { LiquidType = x.LiquidType, Volume = x.Volume }).ToList(); foreach (var liquidVolume in clones.Where(x => x.LiquidType.HasPigment)) { if (liquidVolume.LiquidType.IsLightInk && liquidVolume.Volume > 0) { var darkInk = clones.FirstOrDefault(x => x.LiquidType.Code == liquidVolume.LiquidType.DarkInkCode); if (darkInk != null) { darkInk.Volume = (double)((decimal)liquidVolume.Volume / 10m); continue; } } _inputVolumes.Add(liquidVolume); } } return _inputVolumes; } public PresentationBrushStop() { LiquidVolumes = new List(); } } }