コード例 #1
0
ファイル: ExportHelper.cs プロジェクト: famoser/nodika
        public static void ExportSave(Dictionary <int, double> dic, string folder)
        {
            var str = SaveHelper.SaveScore(dic);

            File.WriteAllText(Path.Combine(folder, "score.json"), str);
        }
コード例 #2
0
ファイル: ExportHelper.cs プロジェクト: famoser/nodika
        public static void ExportAnalythicsAndHistory(List <Punkt> punkte, string folder)
        {
            List <int> historyJson = new List <int>();

            DataTable dt = new DataTable();

            dt.Columns.Add("Datum");
            dt.Columns.Add("Type");
            dt.Columns.Add("Praxis");

            dt.Rows.Add("");

            var alldates = new Dictionary <DateTime, int[]>();
            var byPrax   = new Dictionary <int, List <Punkt> >();

            foreach (var punkt in punkte)
            {
                if (!byPrax.ContainsKey(punkt.Praxis.Id))
                {
                    byPrax.Add(punkt.Praxis.Id, new List <Punkt>());
                }
                byPrax[punkt.Praxis.Id].Add(punkt);

                foreach (var date in punkt.Dates)
                {
                    alldates.Add(date.Key, new [] { date.Value, punkt.Praxis.Id });
                }
            }
            alldates = alldates.OrderBy(d => d.Key).ToDictionary(d => d.Key, t => t.Value);

            foreach (var strings in alldates)
            {
                historyJson.Add(strings.Value[1]);
                DataRow drow = dt.NewRow();
                drow["Datum"]  = strings.Key.ToString("dd. MM. yyyy");
                drow["Type"]   = strings.Value[0];
                drow["Praxis"] = strings.Value[1];
                dt.Rows.Add(drow);
            }

            var filestr = SaveHelper.SaveHistory(historyJson);

            File.WriteAllText(Path.Combine(folder, "history.json"), filestr);


            dt.Rows.Add("");
            dt.Rows.Add("Nach Praxis");
            dt.Rows.Add("Datum", "Typ");

            foreach (var dicentry in byPrax)
            {
                dt.Rows.Add(dicentry.Key);

                var dates = new Dictionary <DateTime, string>();

                foreach (var punkt in dicentry.Value)
                {
                    foreach (var date in punkt.Dates)
                    {
                        dates.Add(date.Key, date.Value.ToString());
                    }
                }
                dates = dates.OrderBy(d => d.Key).ToDictionary(d => d.Key, t => t.Value);

                foreach (var strings in dates)
                {
                    dt.Rows.Add(strings.Key.ToString("dd. MM. yyyy"), strings.Value);
                }
                dt.Rows.Add("");
            }
            ExcelHelper.CreateExcelDocument(dt, Path.Combine(folder, "analyze.xlsx"));
        }