using Service.Core; using Service.MeterProcessState.Data; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Threading.Tasks; using System.Web.Http; // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 namespace Service.MeterProcessState.Controllers { [System.Web.Http.Route("api/[controller]")] public class ValuesController : ApiController { [Route("GetCalibrationResult")] [System.Web.Http.HttpGet] public async Task GetCalibrationResult(int SerialNumber) { using (AuftragContext ctx = new AuftragContext()) { try { var sb = new StringBuilder(); // SELECT //[MapPcbIdToSerialNumber_SerialNumber] // ,[ID] // ,[PcbId] // ,[CalFactor1] // ,[CalFactor2] // ,[CalFactor3] // ,[ZeroOffset1] // ,[ZeroOffset2] // ,[ZeroOffset3] // ,[FirstHitUpdatePeriod] // ,[FirstHitShift] // ,[FirstHitPercent1] // ,[FirstHitPercent2] // ,[FirstHitPercent3] // ,[ToFTempOffset1] // ,[ToFTempOffset2] // ,[ToFTempOffset3] // ,[MeterSize] // ,[date] // FROM [dbo].[MapPcbIdToSerialNumber] // inner join [Auftrag].[dbo].[CordonelMeterCalibrationResults] on [MapPcbIdToSerialNumber_PcbId] = [PcbId] // where [MapPcbIdToSerialNumber_SerialNumber] = 20729192 var query = from map in ctx.MapPcbIdToSerialNumber join calibrationResult in ctx.CordonelMeterCalibrationResults on map.MapPcbIdToSerialNumber_PcbId equals calibrationResult.PcbId where map.MapPcbIdToSerialNumber_SerialNumber == SerialNumber orderby calibrationResult.Date descending select new { SerialNumber = map.MapPcbIdToSerialNumber_SerialNumber, PcbId = map.MapPcbIdToSerialNumber_PcbId, CalibrationId = calibrationResult.Id, CalFactor1 = calibrationResult.CalFactor1, CalFactor2 = calibrationResult.CalFactor2, CalFactor3 = calibrationResult.CalFactor3, ZeroOffset1 = calibrationResult.ZeroOffset1, ZeroOffset2 = calibrationResult.ZeroOffset2, ZeroOffset3 = calibrationResult.ZeroOffset3, FirstHitUpdatePeriod = calibrationResult.FirstHitUpdatePeriod, FirstHitShift = calibrationResult.FirstHitShift, FirstHitPercent1 = calibrationResult.FirstHitPercent1, FirstHitPercent2 = calibrationResult.FirstHitPercent2, FirstHitPercent3 = calibrationResult.FirstHitPercent3, ToFTempOffset1 = calibrationResult.ToFtempOffset1, ToFTempOffset2 = calibrationResult.ToFtempOffset2, ToFTempOffset3 = calibrationResult.ToFtempOffset3, MeterSize = calibrationResult.MeterSize, Date = calibrationResult.Date ////ID PcbId CalibrationResultsID LogKey LogText }; var resl = query.ToList(); foreach (var calibration in resl) { sb.AppendLine("
"); sb.AppendLine($"Calibration Run #{calibration.CalibrationId} at {calibration.Date} "); sb.AppendLine($"

SerialNumber: {calibration.SerialNumber}

"); sb.AppendLine($"

PcbId: { calibration.PcbId}

"); sb.AppendLine($"

CalibrationId: { calibration.CalibrationId}

"); sb.AppendLine($"

CalFactor1: { calibration.CalFactor1}

"); sb.AppendLine($"

CalFactor2: { calibration.CalFactor2}

"); sb.AppendLine($"

CalFactor3: { calibration.CalFactor3}

"); sb.AppendLine($"

ZeroOffset1: { calibration.ZeroOffset1}

"); sb.AppendLine($"

ZeroOffset2: { calibration.ZeroOffset2}

"); sb.AppendLine($"

ZeroOffset3: { calibration.ZeroOffset3}

"); sb.AppendLine($"

FirstHitUpdatePeriod: { calibration.FirstHitUpdatePeriod}

"); sb.AppendLine($"

FirstHitShift: { calibration.FirstHitShift}

"); sb.AppendLine($"

FirstHitPercent1: { calibration.FirstHitPercent1}

"); sb.AppendLine($"

FirstHitPercent2: { calibration.FirstHitPercent2}

"); sb.AppendLine($"

FirstHitPercent3: { calibration.FirstHitPercent3}

"); sb.AppendLine($"

ToFTempOffset1: { calibration.ToFTempOffset1}

"); sb.AppendLine($"

ToFTempOffset2: { calibration.ToFTempOffset2}

"); sb.AppendLine($"

ToFTempOffset3: { calibration.ToFTempOffset3}

"); sb.AppendLine($"

MeterSize: { calibration.MeterSize}

"); sb.AppendLine($"

Date: { calibration.Date}

"); var logQuery = from log in ctx.CordonelMeterCalibrationLog where log.CalibrationResultsID == calibration.CalibrationId && log.PcbId.ToString() == calibration.PcbId orderby log.ID descending select new { Key = log.LogKey, Text = log.LogText }; var resultLog = logQuery.ToList(); sb.AppendLine("
"); sb.AppendLine($"Logs Run #{calibration.CalibrationId} "); foreach (var item in resultLog) { sb.AppendLine($"

{item.Key}: {item.Text}

"); } sb.AppendLine("
"); sb.AppendLine("
"); } return sb.ToString() ; } catch (Exception ex) { throw; } } throw new Exception(); } //[Route("GetErrorCurve")] //[HttpGet] //public async Task Get(int SerialNumber, int lastXRounds = 1, int? testbench = null, bool LoadDisplay = true, bool LoadPath1 = false, bool LoadPath2 = false, bool LoadPath3 = false) // todo add date , testbench and more filters //{ // bool showPaths = true; // if (!testbench.HasValue) // { // testbench = 0; // } // using (var ctx = new AuftragContext()) // { // try // { // var query = from aps in ctx.AuftragPositionSerienNr // join pg in ctx.Pruefgang on aps.Pruefgangnr equals pg.PruefgangNr // join pf in ctx.Prueffehler on new { pg = aps.Pruefgangnr, aps.SerienNr } equals new { pg = pf.PruefgangNr, pf.SerienNr } // join pfc1 in ctx.PrueffehlerGenesisPfade on new { pf.PruefgangNr, pf.SerienNr, Pfad = (short)1 } equals new { pfc1.PruefgangNr, pfc1.SerienNr, pfc1.Pfad } // join pfc2 in ctx.PrueffehlerGenesisPfade on new { pf.PruefgangNr, pf.SerienNr, Pfad = (short)2 } equals new { pfc2.PruefgangNr, pfc2.SerienNr, pfc2.Pfad } // join pfc3 in ctx.PrueffehlerGenesisPfade on new { pf.PruefgangNr, pf.SerienNr, Pfad = (short)3 } equals new { pfc3.PruefgangNr, pfc3.SerienNr, pfc3.Pfad } // where aps.SerienNr == SerialNumber // && (testbench.Value == 0 || pg.PruefstationNr == testbench.Value) // orderby pg.PruefgangNr descending // select new List() { // //Display // new ErrorCurve() { SerialNumber = $"{SerialNumber}", TestNr = pg.PruefgangNr, // Flows = new List() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll }, // Deviations = new List() { pf.Pp1Fehler,pf.Pp2Fehler,pf.Pp3Fehler,pf.Pp4Fehler,pf.Pp5Fehler,pf.Pp6Fehler,pf.Pp7Fehler,pf.Pp8Fehler,pf.Pp9Fehler,pf.Pp10Fehler } // }, // //Path1 // new ErrorCurve() { SerialNumber = $"{SerialNumber}_Path1", TestNr = pg.PruefgangNr, // Flows = new List() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll }, // Deviations = new List() { pfc1.Pp1Fehler,pfc1.Pp2Fehler,pfc1.Pp3Fehler,pfc1.Pp4Fehler,pfc1.Pp5Fehler,pfc1.Pp6Fehler,pfc1.Pp7Fehler,pfc1.Pp8Fehler,pfc1.Pp9Fehler,pfc1.Pp10Fehler } // }, // //Path2 // new ErrorCurve() { SerialNumber = $"{SerialNumber}_Path2", TestNr = pg.PruefgangNr, // Flows = new List() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll }, // Deviations = new List() { pfc2.Pp1Fehler,pfc2.Pp2Fehler,pfc2.Pp3Fehler,pfc2.Pp4Fehler,pfc2.Pp5Fehler,pfc2.Pp6Fehler,pfc2.Pp7Fehler,pfc2.Pp8Fehler,pfc2.Pp9Fehler,pfc2.Pp10Fehler } // }, // //Path3 // new ErrorCurve() { SerialNumber = $"{SerialNumber}_Path3", TestNr = pg.PruefgangNr, // Flows = new List() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll }, // Deviations = new List() { pfc3.Pp1Fehler,pfc3.Pp2Fehler,pfc3.Pp3Fehler,pfc3.Pp4Fehler,pfc3.Pp5Fehler,pfc3.Pp6Fehler,pfc3.Pp7Fehler,pfc3.Pp8Fehler,pfc3.Pp9Fehler,pfc3.Pp10Fehler } // } // }; // var listOfResults = new List>(); // var listOfFlows = new List(); // var c = 0; // var ds = new List(); // var MyArray = new List(); // var listOfCurve = query.Take(lastXRounds).ToList(); // var listOfAllFlows = new List(); // var listOfAllFlowsNullable = new List(); // listOfCurve.Select(f => f.First().Flows).Distinct().ToList().ForEach(a => listOfAllFlowsNullable.AddRange(a)); // listOfAllFlows = listOfAllFlowsNullable.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList(); // var sb = new StringBuilder(); // sb.AppendLine($""); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // foreach (var flow in listOfAllFlows) // { // sb.AppendLine(" ".Trim()); // } // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // foreach (var ecs in listOfCurve) // { // var p = 0; // foreach (var ec in ecs) // { // //ec.HexColor = getSingleMeterColor(p, c); // if ((!LoadDisplay && p == 0) // || (!LoadPath1 && p == 1) // || (!LoadPath2 && p == 2) // || (!LoadPath3 && p == 3)) // { // p = p + 1; // //skip this path // break; // } // var mappedFlows = new List(); // listOfAllFlows.ForEach(a => mappedFlows.Add(null)); // bool hasReservFlow = false; // foreach (var f in ec.Flows) // { // if (f != null) // { // var indexOfFlowAndDiviation = ec.Flows.IndexOf(f); // var currentDeviation = ec.Deviations[indexOfFlowAndDiviation]; // if (p != 0) // { // // mappedFlows.ForEach(changeError => changeError = changeError < -180 ? changeError + 200 : changeError); // if (currentDeviation <= -180) // { // currentDeviation = (currentDeviation + 200) * -1; // hasReservFlow = true; // } // } // mappedFlows[indexOfFlowAndDiviation] = currentDeviation; // } // } // var AxisID = $"y-axis-1"; // ds.Add(new Dataset() // { // label = ec.GetIdent(), // borderColor = getSingleMeterColor(p, c), // backgroundColor = getSingleMeterColor(p, c), // fill = false, // data = mappedFlows.ToList(), // yAxisID = AxisID, // borderDash = hasReservFlow ? new int[] { 12, 3, 3 } : new int[] { }, // spanGaps = true // }); // if (ds.Count == 1) // { // MyArray.Add(new MyArray() { type = "linear", display = ds.Count == 1, position = "left", id = AxisID, gridLines = new GridLines() { drawOnChartArea = ds.Count == 1 } }); // } // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // foreach (var dev in mappedFlows) // { // sb.AppendLine(" ".Trim()); // } // sb.AppendLine(" ".Trim()); // p = p + 1; // } // listOfFlows.AddRange(ecs.First().Flows); // listOfResults.Add(ecs); // c = c + 1; // } // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" SerialNumber ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" TestNr ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine($" Deviation for {flow } m³/ h ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // sb.AppendLine($" {ec.SerialNumber}".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine($" {ec.GetIdent()} ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // if (dev.HasValue) // { // sb.AppendLine($" {dev.Value } % ".Trim()); // } // else // { // sb.AppendLine($" not tested ".Trim()); // } // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // var date = listOfFlows.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList(); // var r = new Root() // { // labels = date, // datasets = ds // }; // return new JsonResult(new { raw = r, axes = MyArray, table = sb.ToString() }); // } // catch (Exception ex) // { // throw; // } // } // throw new Exception(); //} //[Route("GetErrorCurveMulti")] //[HttpGet] //public async Task GetMulti(string SerialNumbers, int lastXRounds = 1, int? testbench = null) // todo add date , testbench and more filters //{ // bool showPaths = true; // if (!testbench.HasValue) // { // testbench = 0; // } // using (var ctx = new AuftragContext()) // { // try // { // List allSrns = new List(); // List listOfCurve = new List(); // var meterCount = SerialNumbers.Split(',').Count(); // foreach (var srn in SerialNumbers.Split(',')) // { // int tmp = 0; // if (int.TryParse(srn, out tmp)) // { // allSrns.Add(tmp); // var query = from aps in ctx.AuftragPositionSerienNr // join pg in ctx.Pruefgang on aps.Pruefgangnr equals pg.PruefgangNr // join pf in ctx.Prueffehler on new { pg = aps.Pruefgangnr, aps.SerienNr } equals new { pg = pf.PruefgangNr, pf.SerienNr } // where aps.SerienNr == tmp // && (testbench.Value == 0 || pg.PruefstationNr == testbench.Value) // orderby pg.PruefgangNr descending // select new ErrorCurve() // { // SerialNumber = $"{tmp}", // TestNr = pg.PruefgangNr, // Flows = new List() { pg.Pp1Soll, pg.Pp2Soll, pg.Pp3Soll, pg.Pp4Soll, pg.Pp5Soll, pg.Pp6Soll, pg.Pp7Soll, pg.Pp8Soll, pg.Pp9Soll, pg.Pp10Soll }, // Deviations = new List() { pf.Pp1Fehler, pf.Pp2Fehler, pf.Pp3Fehler, pf.Pp4Fehler, pf.Pp5Fehler, pf.Pp6Fehler, pf.Pp7Fehler, pf.Pp8Fehler, pf.Pp9Fehler, pf.Pp10Fehler } // }; // listOfCurve.AddRange(query.Take(lastXRounds).ToList()); // } // } // var listOfResults = new List(); // var listOfFlows = new List(); // var c = 0; // var ds = new List(); // var MyArray = new List(); // var listOfAllFlows = new List(); // var listOfAllFlowsNullable = new List(); // listOfCurve.Select(f => f.Flows).Distinct().ToList().ForEach(a => listOfAllFlowsNullable.AddRange(a)); // listOfAllFlows = listOfAllFlowsNullable.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList(); // var sb = new StringBuilder(); // sb.AppendLine(""); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // foreach (var flow in listOfAllFlows) // { // sb.AppendLine(" ".Trim()); // } // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // var lastStr = ""; // int meterC = 0; // var repCount = 0; // foreach (var ec in listOfCurve) // { // var p = 0; // var mappedFlows = new List(); // listOfAllFlows.ForEach(a => mappedFlows.Add(null)); // bool hasReservFlow = false; // foreach (var f in ec.Flows) // { // if (f != null) // { // var indexOfFlowAndDiviation = ec.Flows.IndexOf(f); // var currentDeviation = ec.Deviations[indexOfFlowAndDiviation]; // mappedFlows[indexOfFlowAndDiviation] = currentDeviation; // } // } // var AxisID = $"y-axis-1"; // if (lastStr != ec.SerialNumber) // { // meterC = meterC + 1; // lastStr = ec.SerialNumber; // repCount = 0; // } // else // { // repCount = repCount + 1; // } // ds.Add(new Dataset() // { // label = ec.GetIdent(), // borderColor = getMeterColor(meterC, meterCount, repCount), // backgroundColor = getMeterColor(meterC, meterCount, repCount), // fill = false, // data = mappedFlows.ToList(), // yAxisID = AxisID, // borderDash = hasReservFlow ? new int[] { 12, 3, 3 } : new int[] { }, // spanGaps = true // }); // if (ds.Count == 1) // { // MyArray.Add(new MyArray() { type = "linear", display = ds.Count == 1, position = "left", id = AxisID, gridLines = new GridLines() { drawOnChartArea = ds.Count == 1 } }); // } // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // foreach (var dev in mappedFlows) // { // sb.AppendLine(" ".Trim()); // } // sb.AppendLine(" ".Trim()); // listOfFlows.AddRange(ec.Flows); // listOfResults.Add(ec); // c = c + 1; // } // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" SerialNumber ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" TestNr ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine($" Deviation for {flow } m³/ h ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // sb.AppendLine($" {ec.SerialNumber}".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine($" {ec.TestNr.ToString()} ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // if (dev.HasValue) // { // sb.AppendLine($" {dev.Value } % ".Trim()); // } // else // { // sb.AppendLine($" not tested ".Trim()); // } // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // var date = listOfFlows.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList(); // var r = new Root() // { // labels = date, // datasets = ds // }; // return new JsonResult(new { raw = r, axes = MyArray, table = sb.ToString() }); // } // catch (Exception ex) // { // throw; // } // } // throw new Exception(); //} //[Route("GetOrderDetails")] //[HttpGet] //public async Task GetOrderDetails(int OrderNr) //{ // var sb = new StringBuilder(); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // var client = new RestClient($"http://sla12iis01/MeterProcessState/api/Order/GetCordonelOrderDetails?OrderNr={OrderNr}"); // var request = new RestRequest(Method.GET); // ServicePointManager.Expect100Continue = false; // request.AddHeader("Accept", "application/json"); // var r = await client.ExecuteGetAsync(request); // if (r.StatusCode == HttpStatusCode.OK) // { // foreach (var item in JsonConvert.DeserializeObject>(r.Content)) // { // sb.AppendLine(" "); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // } // } // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" SerialNumber ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" Frequenz ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" Adresse ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" PcbId ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" Picked ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" Married ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(item.SerienNr.ToString()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(item.Frequenz.ToString()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(item.Adresse.ToString()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(item.CordonelAssignedPicking_PcbId.ToString()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(item.CordonelAssignedPicking_Date.ToString()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(item.MapPcbIdToSerialNumber_DateUtc.ToString()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine(" ".Trim()); // sb.AppendLine($" Chart"); // sb.AppendLine(" ".Trim()); // sb.AppendLine("
".Trim()); // return new JsonResult(new { table = sb.ToString() }); //} // Root myDeserializedClass = JsonConvert.DeserializeObject(myJsonResponse); public class OrderDetailsData { public int AuftragNr { get; set; } public int PositionNr { get; set; } public int FertigungsauftragNr { get; set; } public int SerienNr { get; set; } public int Frequenz { get; set; } public Int64 Adresse { get; set; } public int? CordonelAssignedPicking_PcbId { get; set; } public DateTimeOffset? CordonelAssignedPicking_Date { get; set; } public int? MapPcbIdToSerialNumber_SerialNumber { get; set; } public DateTimeOffset? MapPcbIdToSerialNumber_DateUtc { get; set; } } // Root myDeserializedClass = JsonConvert.DeserializeObject(myJsonResponse); public class Dataset { public int[] borderDash; public string label { get; set; } public string borderColor { get; set; } public string backgroundColor { get; set; } public bool fill { get; set; } public List data { get; set; } public string yAxisID { get; set; } public bool spanGaps { get; set; } } public class Root { public List labels { get; set; } public List datasets { get; set; } } // Root myDeserializedClass = JsonConvert.DeserializeObject(myJsonResponse); public class GridLines { public bool drawOnChartArea { get; set; } } public class MyArray { public string type { get; set; } public bool display { get; set; } public string position { get; set; } public string id { get; set; } public GridLines gridLines { get; set; } } private string getSingleMeterColor(int Path = 0, int? Repnullbale = 0) { int Rep = Repnullbale.HasValue ? Repnullbale.Value : 0; var index = ((Path * 10) + Rep); return new string[] { //Display offset 0 "#BFD200", "#007F5F", "#FFFF3F", "#2B9348", "#EEEF20", "#55A630", "#DDDF00", "#80B918", "#AACC00", "#D4D700", //PATH 1 OFFSET 10 "#6930C3", "#7400B8", "#5E60CE", "#80FFDB", "#5390D9", "#72EFDD", "#4EA8DE", "#64DFDF", "#48BFE3", "#56CFE1", //PATH 2 OFFSET 20 "#994D74", "#34091E", "#F3DBEA", "#430C27", "#ECC5DD", "#CC9AB5", "#55062D", "#660033", "#802754", "#B37495", //PATH 3 OFFSET 30 "#FF8500", "#FF4800", "#FFB600", "#FF5400", "#FFAA00", "#FF6000", "#FF9E00", "#FF6D00", "#FF9100", "#FF7900" }[index]; } private string getMeterColor(int Meter,int metercount, int Rep) { var maxRep = 400 / metercount ; var index = ((Meter -1) * maxRep) + Rep; return new string[] { "#B0171F", "#FFAEB9", "#8B8386", "#DC143C", "#FFB6C1", "#CD8C95", "#D02090", "#EE799F", "#FFB5C5", "#CD3278", "#EEA2AD", "#8B008B", "#CDC1C5", "#AB82FF", "#EE7AE9", "#CD919E", "#3D59AB", "#FFC0CB", "#8B0A50", "#1874CD", "#E066FF", "#DB7093", "#8B5F65", "#009ACD", "#CD6090", "#FF69B4", "#C71585", "#EEA9B8", "#8B668B", "#5D478B", "#CD6889", "#008080", "#FF82AB", "#43CD80", "#EE3A8C", "#436EEE", "#8B636C", "#228B22", "#8A2BE2", "#CD00CD", "#C0FF3E", "#EED2EE", "#4682B4", "#872657", "#BDB76B", "#FF3E96", "#CD2990", "#8B4789", "#FFF8DC", "#0000FF", "#ADD8E6", "#8B2252", "#F5DEB3", "#9370DB", "#8B8378", "#EEE0E5", "#8B475D", "#EE1289", "#CD853F", "#C6E2FF", "#9932CC", "#FF6103", "#EE6AA7", "#03A89E", "#CD7054", "#FF83FA", "#B452CD", "#FF34B3", "#191970", "#BC8F8F", "#7EC0EE", "#FF00FF", "#BDFCC9", "#8B7B8B", "#836FFF", "#00CD00", "#00E5EE", "#CD1076", "#1C86EE", "#8B3A62", "#698B22", "#DA70D6", "#FF6EB4", "#8470FF", "#79CDCD", "#CDC673", "#EEAEEE", "#CD69C9", "#CAE1FF", "#7D26CD", "#00B2EE", "#BA55D3", "#8B8878", "#B23AEE", "#FF1493", "#00EE76", "#CDBA96", "#DDA0DD", "#27408B", "#98FB98", "#87CEFA", "#EEC591", "#8B1C62", "#00008B", "#FFDAB9", "#EE30A7", "#CAFF70", "#008B8B", "#FF8247", "#6959CD", "#68228B", "#800080", "#B0E0E6", "#8968CD", "#5CACEE", "#CD96CD", "#FFFF00", "#EE6A50", "#D15FEE", "#4EEE94", "#CDB5CD", "#CD9B9B", "#8B814C", "#6C7B8B", "#9B30FF", "#AEEEEE", "#B2DFEE", "#32CD32", "#9400D3", "#FFA500", "#A2B5CD", "#D8BFD8", "#4876FF", "#F8F8FF", "#FFBBFF", "#9C661F", "#76EEC6", "#6B8E23", "#87CEEB", "#9F79EE", "#B4CDCD", "#EE00EE", "#EE7600", "#483D8B", "#4B0082", "#808000", "#838B83", "#A4D3EE", "#0000EE", "#FF7F24", "#EE82EE", "#5F9EA0", "#808A87", "#8B7500", "#BF3EFF", "#CD3700", "#778899", "#6A5ACD", "#7CFC00", "#CDB7B5", "#FDF5E6", "#8EE5EE", "#4169E1", "#F0FFF0", "#CD3333", "#00EEEE", "#3A5FCD", "#7A378B", "#B9D3EE", "#CDC0B0", "#33A1C9", "#9A32CD", "#E6E6FA", "#607B8B", "#551A8B", "#EEE9BF", "#008000", "#EE9A49", "#668B8B", "#3CB371", "#B0C4DE", "#FF7D40", "#7A67EE", "#8B6914", "#912CEE", "#104E8B", "#838B8B", "#EEEEE0", "#6CA6CD", "#63B8FF", "#EE8262", "#7CCD7C", "#458B74", "#53868B", "#FFDEAD", "#F0E68C", "#708090", "#8B8989", "#CDB79E", "#20B2AA", "#7B68EE", "#473C8B", "#36648B", "#6E8B3D", "#CD2626", "#000080", "#C1FFC1", "#00688B", "#FFC125", "#00C5CD", "#97FFFF", "#BFEFFF", "#BCD2EE", "#8B8B00", "#00C957", "#FFE4B5", "#0000CD", "#EE9572", "#76EE00", "#87CEFF", "#68838B", "#F5FFFA", "#528B8B", "#C1CDCD", "#EE5C42", "#EEC900", "#8B7355", "#D1EEEE", "#00EE00", "#EEEED1", "#6E7B8B", "#1E90FF", "#6495ED", "#EE6363", "#CDAF95", "#B0E2FF", "#8B5A00", "#9BCD9B", "#00CD66", "#00F5FF", "#8B8970", "#48D1CC", "#BBFFFF", "#9ACD32", "#CD6839", "#40E0D0", "#9FB6CD", "#FFEFDB", "#8B3E2F", "#FFB90F", "#458B00", "#00BFFF", "#FF8000", "#EEE685", "#9AFF9A", "#8DB6CD", "#98F5FF", "#4F94CD", "#2E8B57", "#F08080", "#8DEEEE", "#7FFFD4", "#3D9140", "#CDB38B", "#8B4513", "#8B8B7A", "#CDC8B1", "#BCEE68", "#4A708B", "#E9967A", "#E3A869", "#00FF00", "#008B00", "#00CED1", "#C1CDC1", "#00FF7F", "#96CDCD", "#EED8AE", "#EEDC82", "#7AC5CD", "#EEE9E9", "#9AC0CD", "#8B8682", "#EEEE00", "#B3EE3A", "#FFD39B", "#FF3030", "#CD950C", "#FFFFF0", "#308014", "#8B5742", "#00868B", "#698B69", "#E3CF57", "#66CDAA", "#00CDCD", "#FAF0E6", "#2F4F4F", "#8B3626", "#FCE6C9", "#FFF68F", "#7A8B8B", "#8B864E", "#8B8B83", "#EE9A00", "#A0522D", "#ADFF2F", "#CD5555", "#FF8C00", "#8FBC8F", "#00FFFF", "#54FF9F", "#EEE8CD", "#DAA520", "#FF7256", "#00FA9A", "#FF9912", "#FFFACD", "#C76114", "#00C78C", "#FAFAD2", "#FFE7BA", "#EEB4B4", "#8B7E66", "#7FFF00", "#CD6600", "#548B54", "#FF4500", "#008B45", "#CD9B1D", "#B4EEB4", "#CDBE70", "#DEB887", "#CDAA7D", "#EE7621", "#FFEBCD", "#556B2F", "#8B5A2B", "#8B6508", "#90EE90", "#FF4040", "#8B2500", "#EECBAD", "#66CD00", "#EED5B7", "#006400", "#CDC9A5", "#8A360F", "#8B7D7B", "#EE7942", "#D2B48C", "#808069", "#A2CD5A", "#CDCDB4", "#8B2323", "#8B4C39", "#CD5B45", "#B8860B", "#FF7F00", "#CDCDC1", "#CDAD00", "#FFA07A", "#FFC1C1", "#8B6969", "#CDCD00", "#FFEC8B", "#D2691E", "#EECFA1", "#FF6347", "#EEE8AA", "#EE4000", "#EEAD0E", "#FFD700", "#8B7D6B", "#FF6A6A", "#EEDFCC", "#EEB422", "#CDC5BF", "#8B795E", "#CD8500", "#FFA54F", "#EE3B3B", "#FFEFD5", "#CD8162", "#ED9121", "#FAEBD7", "#292421", "#FFE4C4", "#CD4F39", "#F4A460", "#8B4500", "#FF8C69", "#8B3A3A", "#8B7765", "#FF7F50", "#CDC9C9", "#CD661D", "#8B4726", "#FA8072", "#EE2C2C", "#5E2612", "#8A3324", "#A52A2A", "#CD5C5C", "#B22222" } [index]; } } }