public static string Get_Focus_Next_VNo(Int32 iVT) { string sDocNo = ""; try { // MessageBox.Show("Before get next voucher -1"); SeriesValues objSeriesVals = new SeriesValues(); objSeriesVals.VoucherDate = new Focus.Common.DataStructs.Date(Convert.ToDateTime(DateTime.Now).Year, Convert.ToDateTime(DateTime.Now).Month, Convert.ToDateTime(DateTime.Now).Day, CalendarType.Gregorean);// FConvert.DateToInt(DateTime.Now)); //int m_iVoucherType = 3592; // MessageBox.Show("Before get next voucher -2"); Output objReturn = Connection.CallServeRequest(ServiceType.Transaction, TransMethods.GetNewVoucherNo, iVT, objSeriesVals); if (objReturn.ReturnData != null) { sDocNo = objReturn.ReturnData.ToString(); //(string)objReturn.ReturnData; } else { sDocNo = "1"; } } catch (Exception ex) { //MessageBox.Show("SM " + ex.Message); sDocNo = "0"; } return(sDocNo); }
public void CalculateFitnessValue() { if (!SeriesValues.Any()) { Console.WriteLine("Empty list"); return; } if (FunctionNumber) { FirstFunction(); } else { SecondFunction(); } }
/// <summary> /// Unfortunately we need to recreate the UI process that generates the reports including the JS function that append the json needed. /// This needs to match (in its C# version) to the addChartData function in ..\WebApp\Resources\Pages\ReportCharts.js !!!!!!!!!!!!! /// </summary> /// <param name="reportDef"></param> /// <param name="recordsData"></param> /// <returns></returns> private string GetChartOptionsAndData(string reportDef, string recordsData) { dynamic reportDefObject = new System.Dynamic.ExpandoObject(); reportDefObject.Def = JsonConvert.DeserializeObject(reportDef); dynamic options = new System.Dynamic.ExpandoObject(); options = JsonConvert.DeserializeObject(reportDefObject.Def.Chart.ToString()); dynamic records = new System.Dynamic.ExpandoObject(); records = JsonConvert.DeserializeObject(recordsData); string[] old = { "#3276B1", "#193b58", "#78A300", "#e72b19", "#008080", "#E57B3A", "#bd4cff", "#FFC312", "#BA55D3" }; string[] berry = { "#8A2BE2", "#BA55D3", "#4169E1", "#C71585", "#0000FF", "#8019E0", "#DA70D6", "#7B68EE", "#C000C0", "#0000CD", "#800080" }; string[] bright = { "#008000", "#0000FF", "#800080", "#800080", "#FF00FF", "#008080", "#FFFF00", "#808080", "#00FFFF", "#000080", "#800000", "#FF3939", "#7F7F00", "#C0C0C0", "#FF6347", "#FFE4B5" }; string[] brightPastel = { "#418CF0", "#FCB441", "#DF3A02", "#056492", "#BFBFBF", "#1A3B69", "#FFE382", "#129CDD", "#CA6B4B", "#005CDB", "#F3D288", "#506381", "#F1B9A8", "#E0830A", "#7893BE" }; string[] chocolate = { "#A0522D", "#D2691E", "#8B0000", "#CD853F", "#A52A2A", "#F4A460", "#8B4513", "#C04000", "#B22222", "#B65C3A" }; string[] earthTones = { "#33023", "#B8860B", "#C04000", "#6B8E23", "#CD853F", "#C0C000", "#228B22", "#D2691E", "#808000", "#20B2AA", "#F4A460", "#00C000", "#8FBC8B", "#B22222", "#843A05", "#C00000" }; string[] excel = { "#9999FF", "#993366", "#FFFFCC", "#CCFFFF", "#660066", "#FF8080", "#0063CB", "#CCCCFF", "#000080", "#FF00FF", "#FFFF00", "#00FFFF", "#800080", "#800000", "#007F7F", "#0000FF" }; string[] fire = { "#FFD700", "#FF0000", "#FF1493", "#DC143C", "#FF8C00", "#FF00FF", "#FFFF00", "#FF4500", "#C71585", "#DDE221" }; string[] grayScale = { "#C8C8C8", "#BDBDBD", "#B2B2B2", "#A7A7A7", "#9C9C9C", "#919191", "#868686", "#7A7A7A", "#707070", "#656565", "#565656", "#4F4F4F", "#424242", "#393939", "#2E2E2E", "#232323" }; string[] light = { "#E6E6FA", "#FFF0F5", "#FFDAB9", "#", "#FFFACD", "#", "#FFE4E1", "#F0FFF0", "#F0F8FF", "#F5F5F5", "#FAEBD7", "#E0FFFF" }; string[] pastel = { "#87CEEB", "#32CD32", "#BA55D3", "#F08080", "#4682B4", "#9ACD32", "#40E0D0", "#FF69B4", "#F0E68C", "#D2B48C", "#8FBC8B", "#6495ED", "#DDA0DD", "#5F9EA0", "#FFDAB9", "#FFA07A" }; string[] seaGreen = { "#2E8B57", "#66CDAA", "#4682B4", "#008B8B", "#5F9EA0", "#38B16E", "#48D1CC", "#B0C4DE", "#8FBC8B", "#87CEEB" }; string[] semiTransparent = { "#FF6969", "#69FF69", "#6969FF", "#FFFF5D", "#69FFFF", "#FF69FF", "#CDB075", "#FFAFAF", "#AFFFAF", "#AFAFFF", "#FFFFAF", "#AFFFFF", "#FFAFFF", "#E4D5B5", "#A4B086", "#819EC1" }; options.colors = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(brightPastel)); string series = string.Empty; string xAxis = string.Empty; if (options.ts.chartType == "pie") { if (records.Count > 2) { return("Please do not select a series field to plot a pie chart."); } int total = 0; for (int i = 0; i < records[1].data.Count; i++) { total += (int)records[1].data[i]; } string seriesFormat = @"[{{ type: ""pie"", name: """ + options.ts.seriesTitle.ToString() + @""", data: [{0}]}}]"; List <string> seriesData = new List <string>(); for (var i = 0; i < records[1].data.Count; i++) { float val = (float)(records[1].data[i]) / total * 100; seriesData.Add(@"[""" + FixBlankSeriesName(records[0].data[i].ToString()) + @""", " + val.ToString("#.00") + "]"); } if (seriesData.Any() && seriesData.Count > 0) { series = string.Format(seriesFormat, string.Join(",", seriesData.ToArray())); } else { series = string.Format(seriesFormat, ""); } } else if ((records[0].fieldType == "datetime" && records[0].format == "date") || (records[1].fieldType == "datetime" && records[1].format == "date")) { List <SeriesValues> seriesList = new List <SeriesValues>(); xAxis = @"{ type: ""datetime"" }"; if (records.Count == 3) { for (var i = 0; i < records[0].data.Count; i++) { var val = records[0].data[i]; string name = (string)val; if (String.IsNullOrEmpty(name)) { name = "Unknown"; } if (!seriesList.Where(p => p.Name == name).Any()) { seriesList.Add(new SeriesValues() { Name = name, Value = val, Data = new List <string>() }); } SeriesValues values = seriesList.Where(p => p.Name == name).FirstOrDefault(); values.Data.Add("[" + ((DateTime)records[1].data[i]).ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds + "," + records[2].data[i] + "]"); } string seriesFormat = @"{{""name"": ""{0}"",""value"": ""{1}"",""data"": [{2}]}},"; foreach (SeriesValues serie in seriesList) { series += "" + string.Format(seriesFormat, serie.Name, serie.Value, (serie.Data.Any() ? string.Join(",", serie.Data.ToArray()) : "")); } if (!string.IsNullOrEmpty(series)) { series = "[" + series.Substring(0, series.Length - 1) + "]"; } else { Log("No data in series.", LogType.Both); } } else if (records.Count == 2) { Log("//vv Unhandled chart case until know."); //options.series.push("{ name: records[1].name, data: [] }"); //for (var i = 0; i < records[0].data.length; i++) //{ // List<string> item = new List<string>(); // //vv item.push(Date.parse(records[0].data[i])); // //vv item.push(records[1].data[i]); // if (item[0] != null) // { // if (item[1] == null) item[1] = "0"; // options.series[0].data.push(item); // } //} } } else { //options.series = new List<string>(); //vv []; if (records.Count == 3) { List <string> categoriesList = new List <string>(); //// build categories for (int i = 0; i < records[1].data.Count; i++) { string name = FixRecordName(records[1], i); if (!categoriesList.Where(p => p == name).Any()) { categoriesList.Add(name); } } xAxis = "{ categories: [" + (categoriesList.Any() ? string.Join(",", categoriesList.Select(x => string.Format(@"""{0}""", x)).ToArray()) : "") + "]}"; List <SeriesValues> seriesValues = new List <SeriesValues>(); for (int i = 0; i < records[0].data.Count; i++) { string val = records[0].data[i]; SeriesValues values = new SeriesValues(); if (!seriesValues.Where(p => p.Name == val).Any()) { values.Name = string.IsNullOrEmpty(val) ? "Unknown" : val + ""; values.Value = val; for (int x = 0; x < categoriesList.Count; x++) { values.Data.Add("0"); } seriesValues.Add(values); } else { values = seriesValues.Where(p => p.Name == val).FirstOrDefault(); } string findCategory = records[1].data[i].ToString(); for (int x = 0; x < categoriesList.Count; x++) { if (categoriesList[x] == findCategory) { values.Data[x] = records[2].data[i]; break; } } } string seriesFormat = @"{{""name"": ""{0}"",""value"": ""{1}"",""data"": [{2}]}},"; foreach (SeriesValues serie in seriesValues) { series += "" + string.Format(seriesFormat, serie.Name, serie.Value, (serie.Data.Any() ? string.Join(",", serie.Data.ToArray()) : "")); //series = "[{ name: '" + FixBlankSeriesName(FixRecordName(records[0], i)) + "', value: '" + list[i] + "', data: " + (list2.Any() ? string.Join(",", list2.Select(x => string.Format("'{0}'", x)).ToArray()) : "") + " }]"; } if (!string.IsNullOrEmpty(series)) { series = "[" + series.Substring(0, series.Length - 1) + "]"; } else { Log("No data in series.", LogType.Both); } } else if (records.Count == 2) { List <string> list = new List <string>(); for (int i = 0; i < records[0].data.Count; i++) { list.Add(records[0].data[i].ToString()); } xAxis = "{ categories: [" + (list.Any() ? string.Join(",", list.Select(x => string.Format(@"""{0}""", x)).ToArray()) : "") + "]}"; string seriesFormat = @"[{{ name: """ + records[1].name.ToString() + @""", data: [{0}]}}]"; list = new List <string>(); for (int i = 0; i < records[1].data.Count; i++) { list.Add(records[1].data[i].ToString()); } series = string.Format(seriesFormat, (list.Any() ? string.Join(",", list.ToArray()) : "")); } } if (!string.IsNullOrEmpty(series) && records[1].data.Count > 1000) { return("Your series has " + records[1].data.Count + " items. This might cause issues rendering the chart, please try filtering your data to less than 1000."); } string jsonOptionsAndData = JsonConvert.SerializeObject(options); if (!string.IsNullOrEmpty(xAxis)) { jsonOptionsAndData = jsonOptionsAndData.Substring(0, jsonOptionsAndData.Length - 1) + ", xAxis: " + xAxis + "}"; } jsonOptionsAndData = jsonOptionsAndData.Substring(0, jsonOptionsAndData.Length - 1) + ", series: " + series + "}"; //Add width and height. This might or not be the right decision here. if (jsonOptionsAndData.Contains("{\"chart\":{")) { jsonOptionsAndData = jsonOptionsAndData.Replace("{\"chart\":{", "{\"chart\":{width: 1000, height: 800,"); } return(jsonOptionsAndData); }