Exemple #1
0
        public IActionResult Admin(int id)
        {
            List <Data> data = (from d in _context.Data
                                where d.DepartmentID == id
                                group d by d.Date into g
                                select new Data
            {
                Date = g.Key,
                EnergyConsumption = g.Sum(ec => ec.EnergyConsumption),
                EnergyAdjustment = g.Sum(ea => ea.EnergyAdjustment),
                GasConsumption = g.Sum(gc => gc.GasConsumption),
                GasAdjustment = g.Sum(ga => ga.GasAdjustment),
                DepartmentID = id
            }).ToList();
            Data total = new Data
            {
                EnergyConsumption = (from d in data where d.DepartmentID == id select d.EnergyConsumption).Sum() + (from d in data where d.DepartmentID == id select d.EnergyAdjustment).Sum(),
                GasConsumption    = (from d in data where d.DepartmentID == id select d.GasConsumption).Sum() + (from d in data where d.DepartmentID == id select d.GasAdjustment).Sum(),
            };
            List <Data> orderedData = DataWithDateTime.OrderedData(data);
            Department  current     = (from d in _context.Department
                                       where d.DepartmentID == id
                                       select d).ToList()[0];
            var tuple = Tuple.Create(_context.Department.ToList(), orderedData, total, false, current);

            return(View(tuple));
        }
Exemple #2
0
        public FileResult ExportData(int id)
        {
            //Create the datatable
            List <Data> data = (from d in _context.Data
                                where d.DepartmentID == id
                                group d by d.Date into g
                                select new Data
            {
                Date = g.Key,
                EnergyConsumption = g.Sum(ec => ec.EnergyConsumption),
                EnergyAdjustment = g.Sum(ea => ea.EnergyAdjustment),
                GasConsumption = g.Sum(gc => gc.GasConsumption),
                GasAdjustment = g.Sum(ga => ga.GasAdjustment),
                DepartmentID = id
            }).ToList();
            Data total = new Data
            {
                EnergyConsumption = (from d in data where d.DepartmentID == id select d.EnergyConsumption).Sum() + (from d in data where d.DepartmentID == id select d.EnergyAdjustment).Sum(),
                GasConsumption    = (from d in data where d.DepartmentID == id select d.GasConsumption).Sum() + (from d in data where d.DepartmentID == id select d.GasAdjustment).Sum(),
            };
            List <Data> orderedData = DataWithDateTime.OrderedData(data);


            DataTable dt = new DataTable();

            DataColumn[] columns = new DataColumn[]
            {
                new DataColumn("Dag"),
                new DataColumn("Energieverbruik"),
                new DataColumn("Aanpassing energieverbruik"),
                new DataColumn("Totaal energieverbruik"),
                new DataColumn("Gasverbruik"),
                new DataColumn("Aanpassing gasverbruik"),
                new DataColumn("Totaal gasverbruik")
            };
            dt.Columns.AddRange(columns);

            foreach (Data d in data)
            {
                dt.Rows.Add(d.Date, d.EnergyConsumption, d.EnergyAdjustment, (d.EnergyConsumption + d.EnergyAdjustment), d.GasConsumption, d.GasAdjustment, (d.GasConsumption + d.GasAdjustment));
            }
            string depName = (from d in _context.Department where d.DepartmentID == id select d.Name).ToList()[0];

            dt.Rows.Add("TOTAAL -" + depName + ":", "", "", total.EnergyConsumption, "", "", total.GasConsumption);

            //convert the datatable to csv and return the file

            string path = _env.WebRootPath + ".\\Content\\Data-" + depName + ".csv";

            ToCSV(dt, path);


            Response.Headers.Add("Content-Disposition", "inline; filename=Data-" + depName + ".csv");
            return(File("~/Content/Data-" + depName + ".csv", "tekst/csv", "Data-" + depName + ".csv"));
        }
Exemple #3
0
        public FileResult ExportData()
        {
            //Create the datatable
            List <Data> data = (from d in _context.Data
                                group d by d.Date into g
                                select new Data
            {
                Date = g.Key,
                EnergyConsumption = (g.Sum(ec => ec.EnergyConsumption) + g.Sum(ea => ea.EnergyAdjustment)),
                GasConsumption = (g.Sum(gc => gc.GasConsumption) + g.Sum(ga => ga.GasAdjustment)),
                EnergyGenerated = g.Average(eg => eg.EnergyGenerated),
                EnergyGenAdjustment = g.Average(eg => eg.EnergyGenAdjustment)
            }).ToList();
            List <Data> orderedData = DataWithDateTime.OrderedData(data);
            Data        total       = new Data
            {
                EnergyConsumption = (from d in data select d.EnergyConsumption).Sum() + (from d in data select d.EnergyAdjustment).Sum(),
                GasConsumption    = (from d in data select d.GasConsumption).Sum() + (from d in data select d.GasAdjustment).Sum(),
                EnergyGenerated   = ((from d in _context.Data group d by d.Date into g select g.Average(eg => eg.EnergyGenerated)).Sum() +
                                     (from d in _context.Data group d by d.Date into g select g.Average(eg => eg.EnergyGenAdjustment)).Sum())
            };


            DataTable dt = new DataTable();

            DataColumn[] columns = new DataColumn[]
            {
                new DataColumn("Dag"),
                new DataColumn("Energieverbruik"),
                new DataColumn("Gasverbruik"),
                new DataColumn("Oorspronkelijke opgewekte energie"),
                new DataColumn("Aanpassing opgewekte energie"),
                new DataColumn("Totaal opgewekte energie")
            };
            dt.Columns.AddRange(columns);

            foreach (Data d in data)
            {
                dt.Rows.Add(d.Date, d.EnergyConsumption, d.GasConsumption, d.EnergyGenerated, d.EnergyGenAdjustment, (d.EnergyGenerated + d.EnergyGenAdjustment));
            }
            dt.Rows.Add("TOTAAL:", total.EnergyConsumption, total.GasConsumption, "", "", total.EnergyGenerated);

            //convert the datatable to csv and return the file
            string path = _env.WebRootPath + ".\\Content\\Data-Totaal.csv";

            ToCSV(dt, path);

            Response.Headers.Add("Content-Disposition", "inline; filename=Data-Totaal.csv");
            return(File("~/Content/Data-Totaal.csv", "tekst/csv", "Data-totaal.csv"));
        }
Exemple #4
0
        public IActionResult Admin()
        {
            List <Data> data = (from d in _context.Data
                                group d by d.Date into g
                                select new Data
            {
                Date = g.Key,
                EnergyConsumption = (g.Sum(ec => ec.EnergyConsumption) + g.Sum(ea => ea.EnergyAdjustment)),
                GasConsumption = (g.Sum(gc => gc.GasConsumption) + g.Sum(ga => ga.GasAdjustment)),
                EnergyGenerated = g.Average(eg => eg.EnergyGenerated),
                EnergyGenAdjustment = g.Average(eg => eg.EnergyGenAdjustment)
            }).ToList();
            List <Data> orderedData = DataWithDateTime.OrderedData(data);
            Data        total       = new Data
            {
                EnergyConsumption = (from d in data select d.EnergyConsumption).Sum() + (from d in data select d.EnergyAdjustment).Sum(),
                GasConsumption    = (from d in data select d.GasConsumption).Sum() + (from d in data select d.GasAdjustment).Sum(),
                EnergyGenerated   = ((from d in _context.Data group d by d.Date into g select g.Average(eg => eg.EnergyGenerated)).Sum() +
                                     (from d in _context.Data group d by d.Date into g select g.Average(eg => eg.EnergyGenAdjustment)).Sum())
            };
            var tuple = Tuple.Create(_context.Department.ToList(), orderedData, total, true, new Department());

            return(View(tuple));
        }
Exemple #5
0
        public IActionResult Index(int id)
        {
            List <Data> data = (from d in _context.Data
                                where d.DepartmentID == id
                                group d by d.Date into g
                                select new Data
            {
                Date = g.Key,
                EnergyConsumption = g.Sum(ec => ec.EnergyConsumption),
                EnergyAdjustment = g.Sum(ea => ea.EnergyAdjustment),
                GasConsumption = g.Sum(gc => gc.GasConsumption),
                GasAdjustment = g.Sum(ga => ga.GasAdjustment),
                DepartmentID = id
            }).ToList();
            List <DataWithDateTime> orderedData = DataWithDateTime.WithDateTime(data);

            //select last 7 days
            List <DateTime> dateTimes = Enumerable.Range(0, 7)
                                        .Select(i => DateTime.Now.Date.AddDays(-i))
                                        .ToList();
            List <DataWithDateTime> last7Days = new List <DataWithDateTime>();

            for (int i = (orderedData.Count - 1); i >= 0; i--)
            {
                if (last7Days.Count != 7 && dateTimes.Contains(orderedData[i].Date))
                {
                    last7Days.Add(orderedData[i]);
                }
                else if (last7Days.Count >= 7)
                {
                    break;
                }
            }
            last7Days = (from d in last7Days
                         orderby d.Date ascending
                         select d).ToList();
            List <string> days            = new List <string>();
            List <int>    gasData         = new List <int>();
            List <int>    electricityData = new List <int>();

            foreach (var day in last7Days)
            {
                days.Add(day.Date.ToString("dd/MM/yyyy").Replace('-', '/'));
                gasData.Add((int)(day.GasConsumption + day.GasAdjustment));
                electricityData.Add((int)(day.EnergyConsumption + day.EnergyAdjustment));
            }

            //select last 7 days from 1 year ago
            DateTime        yearAgo        = DateTime.Now.Date.AddDays(-365);
            List <DateTime> dateTimes1Yago = Enumerable.Range(0, 7)
                                             .Select(i => yearAgo.AddDays(-i))
                                             .ToList();
            List <DataWithDateTime> last7Days1yearAgo = new List <DataWithDateTime>();

            for (int i = 0; i < orderedData.Count; i++)
            {
                if (last7Days1yearAgo.Count != 7 && dateTimes1Yago.Contains(orderedData[i].Date))
                {
                    last7Days1yearAgo.Add(orderedData[i]);
                }
                else if (last7Days1yearAgo.Count >= 7)
                {
                    break;
                }
            }
            last7Days1yearAgo = (from d in last7Days1yearAgo
                                 orderby d.Date ascending
                                 select d).ToList();
            //besparingen (een verandering in de min word als positief weergeven)
            List <int> gasSavings         = new List <int>();
            List <int> electricitySavings = new List <int>();

            for (int i = 0; i < last7Days1yearAgo.Count; i++)
            {
                gasSavings.Add((int)(last7Days1yearAgo[i].GasConsumption + last7Days1yearAgo[i].GasAdjustment) - gasData[i]);
                electricitySavings.Add((int)(last7Days1yearAgo[i].EnergyConsumption + last7Days1yearAgo[i].EnergyAdjustment) - electricityData[i]);
            }
            //energy generations
            double gen = ((from d in _context.Data group d by d.Date into g select g.Average(eg => eg.EnergyGenerated)).Sum() +
                          (from d in _context.Data group d by d.Date into g select g.Average(eg => eg.EnergyGenAdjustment)).Sum());
            Tuple <string, string, string, string, string, double, Tuple <List <project_D.Models.Department>, int> > tuple = new Tuple <string, string, string, string, string, double, Tuple <List <project_D.Models.Department>, int> >
                                                                                                                                 (JsonSerializer.Serialize(days), JsonSerializer.Serialize(electricityData), JsonSerializer.Serialize(gasData), JsonSerializer.Serialize(electricitySavings), JsonSerializer.Serialize(gasSavings), gen, new Tuple <List <Department>, int>(_context.Department.ToList(), id));

            return(View(tuple));
        }