Ejemplo n.º 1
0
        public IActionResult Save(IKDDSModel ikddsmodel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Edit"));
            }

            var toUpdate = _context.IKDDSModels.SingleOrDefault(t => t.Id == ikddsmodel.Id);


            toUpdate.OfficerName          = ikddsmodel.OfficerName;
            toUpdate.RpsNumber            = ikddsmodel.RpsNumber;
            toUpdate.RsdNumber            = ikddsmodel.RsdNumber;
            toUpdate.EntryData            = ikddsmodel.EntryData;
            toUpdate.FinalData            = ikddsmodel.FinalData;
            toUpdate.FinalOfInvestigation = ikddsmodel.FinalOfInvestigation;
            toUpdate.IKDDS         = ikddsmodel.IKDDS;
            toUpdate.OZDate        = ikddsmodel.OZDate;
            toUpdate.ArticleNumber = ikddsmodel.ArticleNumber;
            toUpdate.RealEndDate   = ikddsmodel.RealEndDate;

            _context.SaveChanges();
            var invest = _context.IKDDSModels.Include(x => x.InvestigationType).ToList();


            var viewModel = new MainTableViewModel
            {
                IKDDSModels = invest,
            };

            return(View("MainTable", viewModel));
        }
Ejemplo n.º 2
0
        public IActionResult RsdTable()
        {
            var rsd       = _context.IKDDSModels.ToList();
            var viewModel = new MainTableViewModel
            {
                IKDDSModels = rsd,
            };

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public IActionResult MainTable()
        {
            var invest = _context.IKDDSModels.Include(x => x.InvestigationType).ToList();


            var viewModel = new MainTableViewModel
            {
                IKDDSModels = invest,
            };

            return(View(viewModel));
        }
Ejemplo n.º 4
0
        public ActionResult RandomReport(string dtDateStart, string dtDateEnd)
        {
            var vm = new MainTableViewModel();

            DateTime dtStart, dtEnd;

            if (dtDateStart == null || dtDateEnd == null)
            {
                dtDateStart = DateTime.Now.ToString("dd.MM.yyyy") + " 00:00:00";
                dtDateEnd   = DateTime.Now.ToString("dd.MM.yyyy") + " 23:59:59";
            }

            DateTime.TryParseExact(dtDateStart, "dd.MM.yyyy HH:mm:ss",
                                   CultureInfo.InvariantCulture, DateTimeStyles.None, out dtStart);
            DateTime.TryParseExact(dtDateEnd, "dd.MM.yyyy HH:mm:ss",
                                   CultureInfo.InvariantCulture, DateTimeStyles.None, out dtEnd);



            if (dtStart.Year == 1 || dtEnd.Year == 1 || dtEnd <= dtStart)
            {
                return(RedirectToAction("RandomReport", "Parameters"));
            }

            ViewBag.StartTime      = dtStart.ToString("HH:mm:ss");
            ViewBag.StartDay       = dtStart.Day;
            ViewBag.StartMonthYear = dtStart.ToString("MM.yyyy");
            ViewBag.EndTime        = dtEnd.ToString("HH:mm:ss");
            ViewBag.EndDay         = dtEnd.Day;
            ViewBag.EndMonthYear   = dtEnd.ToString("MM.yyyy");

            vm.MainTables = _context.MainTables
                            .Include(m => m.Plc)
                            .Include(m => m.Label)
                            .Include(m => m.Title)
                            .Include(m => m.Unit)
                            .Include(m => m.MainTablePropertie)
                            .ToList();
            vm.Plcs = _context.Plcs.ToList();

            vm.NumericSampleRandoms = _context.MainTables.Select(m => new NumericSampleRandom
            {
                Id            = m.Id,
                AverageRandom = m.NumericSamples.Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime <= dtEnd && a.SampleDateTime >= dtStart && a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >= a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                SumRandom     = m.NumericSamples.Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime <= dtEnd && a.SampleDateTime >= dtStart && a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >= a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Sum(),
                MinimumRandom = m.NumericSamples.Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime <= dtEnd && a.SampleDateTime >= dtStart && a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >= a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Min(),
                MaximumRandom = m.NumericSamples.Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime <= dtEnd && a.SampleDateTime >= dtStart && a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >= a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Max()
            }).ToList();



            return(View(vm));
        }
Ejemplo n.º 5
0
        public IActionResult Reminder()
        {
            var today    = DateTime.Now.AddDays(6);
            var reminder = _context.IKDDSModels.ToList();


            if (reminder != null)
            {
                var viewModel = new MainTableViewModel
                {
                    IKDDSModels = reminder,
                };
                return(View(viewModel));
            }

            return(View("Index"));
        }
Ejemplo n.º 6
0
        public ActionResult DayReport(string dtDate)
        {
            var vm = new MainTableViewModel();

            DateTime dtStart, dtEnd;

            if (dtDate == null)
            {
                dtDate = DateTime.Now.ToString("dd.MM.yyyy") + " 08:00:00";
            }
            else
            {
                dtDate = dtDate + " 08:00:00";
            }

            DateTime.TryParseExact(dtDate, "dd.MM.yyyy HH:mm:ss",
                                   CultureInfo.InvariantCulture, DateTimeStyles.None, out dtStart);

            if (dtStart.Year == 1)
            {
                return(RedirectToAction("DayReport", "Parameters"));
            }


            if (DateTime.Now.Hour < 8)
            {
                dtStart = dtStart.AddDays(-1);
            }

            ViewBag.StartDay       = dtStart.Day;
            ViewBag.StartMonthYear = dtStart.ToString("MM.yyyy");
            dtEnd                = dtStart.AddDays(1);
            ViewBag.EndDay       = dtEnd.Day;
            ViewBag.EndMonthYear = dtEnd.ToString("MM.yyyy");

            DateTime dt8 = dtStart, dt8Added24 = dtStart.AddHours(24), dt9 = dtStart.AddHours(1), dt10 = dtStart.AddHours(2), dt11 = dtStart.AddHours(3), dt12 = dtStart.AddHours(4),
                     dt13 = dtStart.AddHours(5), dt14 = dtStart.AddHours(6), dt15 = dtStart.AddHours(7), dt16 = dtStart.AddHours(8), dt17 = dtStart.AddHours(9),
                     dt18 = dtStart.AddHours(10), dt19 = dtStart.AddHours(11), dt20 = dtStart.AddHours(12), dt21 = dtStart.AddHours(13), dt22 = dtStart.AddHours(14),
                     dt23 = dtStart.AddHours(15), dt0 = dtStart.AddHours(16), dt1 = dtStart.AddHours(17), dt2 = dtStart.AddHours(18), dt3 = dtStart.AddHours(19),
                     dt4 = dtStart.AddHours(20), dt5 = dtStart.AddHours(21), dt6 = dtStart.AddHours(22), dt7 = dtStart.AddHours(23);

            vm.MainTables = _context.MainTables
                            .Include(m => m.Plc)
                            .Include(m => m.Label)
                            .Include(m => m.Title)
                            .Include(m => m.Unit)
                            .Include(m => m.MainTablePropertie)
                            .ToList();
            vm.Plcs = _context.Plcs.ToList();


            var isEmptyMaintables     = _context.MainTables.SingleOrDefault(c => c.Id == 1);
            var isEmptyNumericSamples = _context.NumericSampleses.FirstOrDefault(c => c.TagId == 1);

            // Устранение эксепшена при первой инициализации пустой базы данных
            if (isEmptyMaintables == null || isEmptyNumericSamples == null)
            {
                vm.NumericSampleAverages = _context.MainTables.Select(m => new NumericSampleAverage
                {
                    Id             = m.Id,
                    Average0       = null, Average1 = null, Average2 = null, Average3 = null, Average4 = null,
                    Average5       = null, Average6 = null, Average7 = null, Average8 = null, Average9 = null,
                    Average10      = null, Average11 = null, Average12 = null, Average13 = null, Average14 = null,
                    Average15      = null, Average16 = null, Average17 = null, Average18 = null, Average19 = null,
                    Average20      = null, Average21 = null, Average22 = null, Average23 = null,
                    Minimum8Till20 = null, Minimum20Till8 = null, Maximum8Till20 = null, Maximum20Till8 = null
                }).ToList();
            }
            else
            {
                vm.NumericSampleAverages = _context.MainTables.Select(m => new NumericSampleAverage
                {
                    Id       = m.Id,
                    Average0 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt1 && a.SampleDateTime >= dt0 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average1 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt2 && a.SampleDateTime >= dt1 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average2 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt3 && a.SampleDateTime >= dt2 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average3 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt4 && a.SampleDateTime >= dt3 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average4 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt5 && a.SampleDateTime >= dt4 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average5 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt6 && a.SampleDateTime >= dt5 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average6 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt7 && a.SampleDateTime >= dt6 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average7 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt8Added24 &&
                                      a.SampleDateTime >= dt7 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average8 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt9 && a.SampleDateTime >= dt8 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average9 = m.NumericSamples
                               .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt10 && a.SampleDateTime >= dt9 &&
                                      a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                      a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average10 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt11 && a.SampleDateTime >= dt10 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average11 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt12 && a.SampleDateTime >= dt11 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average12 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt13 && a.SampleDateTime >= dt12 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average13 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt14 && a.SampleDateTime >= dt13 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average14 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt15 && a.SampleDateTime >= dt14 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average15 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt16 && a.SampleDateTime >= dt15 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average16 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt17 && a.SampleDateTime >= dt16 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average17 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt18 && a.SampleDateTime >= dt17 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average18 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt19 && a.SampleDateTime >= dt18 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average19 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt20 && a.SampleDateTime >= dt19 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average20 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt21 && a.SampleDateTime >= dt20 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average21 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt22 && a.SampleDateTime >= dt21 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average22 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt23 && a.SampleDateTime >= dt22 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),
                    Average23 = m.NumericSamples
                                .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt0 && a.SampleDateTime >= dt23 &&
                                       a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                       a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Average(),

                    Minimum8Till20 = m.NumericSamples
                                     .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt20 && a.SampleDateTime >= dt8 &&
                                            a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                            a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Min(),
                    Minimum20Till8 = m.NumericSamples
                                     .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt8Added24 &&
                                            a.SampleDateTime >= dt20 &&
                                            a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                            a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Min(),
                    Maximum8Till20 = m.NumericSamples
                                     .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt20 && a.SampleDateTime >= dt8 &&
                                            a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                            a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Max(),
                    Maximum20Till8 = m.NumericSamples
                                     .Where(a => a.TagId == a.MainTable.Id && a.SampleDateTime < dt8Added24 &&
                                            a.SampleDateTime >= dt20 &&
                                            a.SampleValue <= a.MainTable.MainTablePropertie.CutOffMax && a.SampleValue >=
                                            a.MainTable.MainTablePropertie.CutOffMin).Select(d => d.SampleValue).Max()
                }).ToList();
            }

            return(View(vm));
        }