public override CostAndTime GetCost(string codOptionTypeOfTask, double starts, PrintingColor colors, int makereadis, double running, double weight) { //#region cost color //if (UseDifferentCostPerUnitBW ?? false) //{ // try // { // costUnit = steps.OfType<CostPerRunStepBW>().Where(x => x.FromUnit <= running && running <= x.ToUnit).FirstOrDefault().AvarageRunPerHour; // } // catch (NullReferenceException) // { // costUnit = Convert.ToDouble(CostPerUnit ?? "0"); // } //} //else //{ // costUnit = Convert.ToDouble(CostPerUnit ?? "0"); //} //#endregion //if (costUnit == null) //{ // totalCostR = 0; //} //else //{ // costUnit = costUnit - ((costUnit / 100) * (long)(deficitRate ?? 0)); //} //var totalA = (totalCostA); //var totalR = (totalCostR * running); //CostAndTime ct = new CostAndTime { Cost = totalA + totalR, Time = new TimeSpan(0, 0, 0) }; return base.GetCost(codOptionTypeOfTask, starts, colors, makereadis, running, weight); }
public override CostAndTime GetCost(string codOptionTypeOfTask, double starts, PrintingColor colors, int makereadies, double running, double weight) { Double totalCostR = new Double(); var totalCostA = Convert.ToDouble(this.StartingCost1 ?? "0"); //avviamenti successivi for (int i = 0; i < starts - 1; i++) { totalCostA += Convert.ToDouble(this.StartingCost2 ?? "0"); } Nullable<double> costUnit = null; Nullable<double> costUnitBW = null; Nullable<double> deficitRate = null; if (UseDifferentDeficitOnCostForWeightStep ?? false) { try { deficitRate = Convert.ToDouble(steps.OfType<DeficitForWeightStep>().Where(x => x.FromUnit <= weight && weight <= x.ToUnit).FirstOrDefault().DeficitRate); } catch (NullReferenceException) { deficitRate = 0; } } else { deficitRate = 0; } #region cost color if (UseDifferentCostPerUnit ?? false) { try { var c = steps.OfType<CostPerRunStep>().Where(x => x.FromUnit <= running && running <= x.ToUnit).FirstOrDefault().CostPerUnit; costUnit = Convert.ToDouble(c); } catch (NullReferenceException) { costUnit = Convert.ToDouble(CostPerUnit??"0"); } } else { costUnit = Convert.ToDouble(CostPerUnit ?? "0"); } #endregion if (costUnit == null) { totalCostR = 0; } else { costUnit = costUnit - ((costUnit / 100) * (long)(deficitRate ?? 0)); } totalCostR = costUnit ?? 0; var totalA = (totalCostA); var totalR = (totalCostR * running); CostAndTime ct = new CostAndTime { Cost = totalA + totalR, Time = new TimeSpan(0,0,0) }; return ct; }
public static PrintingColor GetColorFR(string codOptionTypeOfTask) { var ret = new PrintingColor(); if (codOptionTypeOfTask.Contains("VERNICE")) { ret.cToPrintFNoImplant = 1; ret.cToPrintTNoImplant = 1; codOptionTypeOfTask = codOptionTypeOfTask.Replace("VERNICE", ""); } switch (codOptionTypeOfTask) { case "STAMPAETICHROTOLO_0": ret.cToPrintF = 0; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_0RETRO": ret.cToPrintF = 0; ret.cToPrintR = 1; break; //4 colori offset fronte e retro case "STAMPAETICHROTOLO_1": ret.cToPrintF = 1; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_1RETRO": ret.cToPrintF = 1; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_2": ret.cToPrintF = 2; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_2RETRO": ret.cToPrintF = 2; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_3": ret.cToPrintF = 3; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_3RETRO": ret.cToPrintF = 3; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_4": ret.cToPrintF = 4; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_4RETRO": ret.cToPrintF = 4; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_5": ret.cToPrintF = 5; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_5RETRO": ret.cToPrintF = 5; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_6": ret.cToPrintF = 6; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_6RETRO": ret.cToPrintF = 6; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_7": ret.cToPrintF = 7; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_7RETRO": ret.cToPrintF = 7; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_8": ret.cToPrintF = 8; ret.cToPrintR = 0; break; case "STAMPAETICHROTOLO_8RETRO": ret.cToPrintF = 8; ret.cToPrintR = 1; break; case "STAMPAETICHROTOLO_NORETRO": ret.cToPrintF = 0; ret.cToPrintR = 1; break; //4 colori offset fronte e retro case "STAMPAOFF_FR_COL": ret.cToPrintF = 4; ret.cToPrintR = 4; break; case "STAMPAOFF_FR_BN": ret.cToPrintF = 1; ret.cToPrintR = 1; break; case "STAMPAOFF_FRONTE_COL": ret.cToPrintF = 4; ret.cToPrintR = 0; break; case "STAMPAOFF_FRONTE_BN": ret.cToPrintF = 1; ret.cToPrintR = 0; break; case "STAMPAOFFeDIGITALE_FR_COL": ret.cToPrintF = 4; ret.cToPrintR = 4; break; case "STAMPAOFFeDIGITALE_FR_BN": ret.cToPrintF = 1; ret.cToPrintR = 1; break; case "STAMPAOFFeDIGITALE_FRONTE_COL": ret.cToPrintF = 4; ret.cToPrintR = 0; break; case "STAMPAOFFeDIGITALE_FRONTE_BN": ret.cToPrintF = 1; ret.cToPrintR = 0; break; case "SERIGRAFIAROTOLO_1": ret.cToPrintF = 1; ret.cToPrintR = 0; break; case "SERIGRAFIAROTOLO_2": ret.cToPrintF = 2; ret.cToPrintR = 0; break; case "SERIGRAFIAROTOLO_3": ret.cToPrintF = 3; ret.cToPrintR = 0; break; case "STAMPAACALDOROTOLO_1": ret.cToPrintF = 1; ret.cToPrintR = 0; break; case "STAMPAACALDOROTOLO_2": ret.cToPrintF = 2; ret.cToPrintR = 0; break; case "STAMPAACALDOROTOLO_3": ret.cToPrintF = 3; ret.cToPrintR = 0; break; default: ret.cToPrintF = 0; ret.cToPrintR = 0; // throw new Exception(); break; } if (codOptionTypeOfTask.Contains("STAMPANEW")) { var x = codOptionTypeOfTask; var plusPos = x.IndexOf("+"); ret.cToPrintF = Convert.ToInt32(x.Substring(plusPos - 1, 1)); ret.cToPrintR = Convert.ToInt32(x.Substring(plusPos + 1, 1)); } ret.cToPrintT = ret.cToPrintF + ret.cToPrintR; ret.cToPrintTNoImplant = ret.cToPrintFNoImplant + ret.cToPrintRNoImplant; return ret; }
public override CostAndTime GetCost(string codOptionTypeOfTask, double starts, PrintingColor colors, int makereadies, double running, double weight) { TimeSpan totalTimeR = new TimeSpan(0, 0, 0); var totalTimeA = this.StartingTime1 ?? TimeSpan.Zero; //avviamenti successivi for (int i = 0; i < starts-1; i++) { totalTimeA += (StartingTime2 ?? TimeSpan.Zero); } //avviamento a colore for (int i = 0; i < colors.cToPrintT; i++) { totalTimeA += (StartingTimePerColor ?? TimeSpan.Zero); } Nullable<long> avarage = null ; Nullable<double> deficitRate = null; if (UseDifferentDeficitForWeightStep ?? false) { try { deficitRate = Convert.ToDouble(steps.OfType<DeficitForWeightStep>().Where(x => x.FromUnit <= weight && weight <= x.ToUnit).FirstOrDefault().DeficitRate); } catch (NullReferenceException) { deficitRate = 0; } } else { deficitRate = 0; } if (UseDifferentRunPerHour ?? false) { try { avarage = steps.OfType<AvarageRunPerRunStep>().Where(x => x.FromUnit <= running && running <= x.ToUnit).FirstOrDefault().AvarageRunPerHour; } catch (NullReferenceException) { avarage = AvarageRunPerHour; } } else { avarage = AvarageRunPerHour; } if (avarage == null) { totalTimeR = TimeSpan.Zero; } else { avarage = avarage - ((avarage / 100) * (long) (deficitRate??0)); //ore var tot = (running / avarage); var hour = (double)Math.Truncate((decimal)tot); var min = (double)Math.Truncate((decimal)((tot - hour) * 60)); totalTimeR += TimeSpan.FromHours(hour) + TimeSpan.FromMinutes(min); } var costA = CostPerHourStarting; var totalA = (totalTimeA.TotalMinutes) / 60 * Convert.ToDouble(costA, Thread.CurrentThread.CurrentUICulture); var totalR = (totalTimeR.TotalMinutes) / 60 * Convert.ToDouble(CostPerHourRunning, Thread.CurrentThread.CurrentUICulture); CostAndTime ct = new CostAndTime { Cost = totalA + totalR, Time = totalTimeA + totalTimeR }; return ct; }
public virtual CostAndTime GetCost(string codOptionTypeOfTask, double starts, PrintingColor colors, int makereadis, double running, double weight) { throw new NotImplementedException(); }