Exemplo n.º 1
0
        public ActionResult IndexPartial()
        {
            var  cx    = SmartHomeDBContext.Create(AppSettings);
            var  model = new HomeIndexData();
            Guid gid   = new Guid(AppSettings.UNIT1);

            model.unit1     = cx.Devices.Single(e => e.DeviceId == gid);
            gid             = new Guid(AppSettings.JABLOTRON);
            model.jablotron = cx.Jablotrons.Single(e => e.DeviceId == gid);

            return(Content(RenderPartialViewToString("_HomeData", model)));
        }
Exemplo n.º 2
0
        public ActionResult IndexHash()
        {
            var  cx    = SmartHomeDBContext.Create(AppSettings);
            var  model = new HomeIndexData();
            Guid gid   = new Guid(AppSettings.UNIT1);

            model.unit1     = cx.Devices.Single(e => e.DeviceId == gid);
            gid             = new Guid(AppSettings.JABLOTRON);
            model.jablotron = cx.Jablotrons.Single(e => e.DeviceId == gid);

            return(Content(model.checksum()));
        }
Exemplo n.º 3
0
        public ActionResult Index(string cmd)
        {
            if (cmd == null)
            {
                cmd = "";
            }

            var  cx    = SmartHomeDBContext.Create(AppSettings);
            var  model = new HomeIndexData();
            Guid gid   = new Guid(AppSettings.UNIT1);

            model.unit1     = cx.Devices.Single(e => e.DeviceId == gid);
            gid             = new Guid(AppSettings.JABLOTRON);
            model.jablotron = cx.Jablotrons.Single(e => e.DeviceId == gid);

            switch (cmd)
            {
            case "switchwater":
            {
                var conf = SmartHomeConfig.Deserialize(model.unit1.Config);
                conf.water         = new SmartHomeConfig.MySmartHomeConfigWaterHardOn();
                conf.irrigationOn  = !conf.irrigationOn;
                model.unit1.Config = conf.Serialize();
                cx.SaveChanges();
                return(RedirectToAction("Index"));
            }

            //break;
            case "switchalarm":
            {
                if (model.jablotron.CommandToExecute == "")
                {
                    model.jablotron.CommandToExecute = model.jablotron.State == "IDLE" ? "ARM" : "DISARM";
                }
                else
                {
                    model.jablotron.CommandToExecute = model.jablotron.CommandToExecute == "ARM" ? "DISARM" : "ARM";
                }
                cx.SaveChanges();
                return(RedirectToAction("Index"));
            }
                //break;
            }

            return(View(model));
        }
Exemplo n.º 4
0
        public ViewResult Index()
        {
            var viewModel = new HomeIndexData();

            viewModel.tagCloud = from prjtg in db.Projects select prjtg;
            viewModel.Products = from prj in db.Projects
                                 join prjtg in db.ProjectTags on prj.ProjectID equals prjtg.ProjectID
                                 where prjtg.Tag.name == "product"
                                 select prj;

            viewModel.featuredProjects = from prj in db.Projects
                                         join prjtg in db.ProjectTags on prj.ProjectID equals prjtg.ProjectID
                                         where prjtg.Tag.name == "featuredproject"
                                         select prj;

            viewModel.featuredProduct = from prj in db.Projects
                                        join prjtg in db.ProjectTags on prj.ProjectID equals prjtg.ProjectID
                                        where prjtg.Tag.name == "featuredproduct"
                                        select prj;

            viewModel.featuredProduct.Take(1).ToList();

            return(View(viewModel));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Index(string sortOrder, string sortOrder2)
        {
            HomeIndexData model = new HomeIndexData();

            if (User.IsInRole("Admin")) // Fall: Admin ist eingeloggt
            {
                // ADMIN: Abgelaufenes Leihfristende
                var exemplareAbgelaufen = bibContext.Exemplar.Where(e =>
                                                                    e.EntliehenBis != null &&
                                                                    (DateTime.Now.Date - e.EntliehenBis.Value).TotalDays > 0);

                ViewData["DatumSortParm"] = String.IsNullOrEmpty(sortOrder) ? "datum_desc" : "";

                switch (sortOrder)
                {
                case "datum_desc":
                    exemplareAbgelaufen = exemplareAbgelaufen.OrderByDescending(s => s.EntliehenBis);
                    break;

                default:
                    exemplareAbgelaufen = exemplareAbgelaufen.OrderBy(s => s.EntliehenBis);
                    break;
                }

                // Ordne den Leihaufträgen die entsprechenden Exemplare zu
                var exemplareAbgelaufenDic = new Dictionary <Leihauftrag, Exemplar>();

                if (exemplareAbgelaufen != null)
                {
                    foreach (var exemplar in exemplareAbgelaufen)
                    {
                        var leihauftrag = bibContext.Leihauftrag.SingleOrDefault(a => a.ISBN == exemplar.ISBN && a.ExemplarId == exemplar.ExemplarId);
                        exemplareAbgelaufenDic.Add(leihauftrag, exemplar);
                    }
                }

                // ADMIN: In Kürze ablaufendes Leihfristende
                var exemplareLaufenBaldAb = bibContext.Exemplar.Where(e =>
                                                                      e.EntliehenBis != null &&
                                                                      (e.EntliehenBis.Value - DateTime.Now.Date).TotalDays < 7 &&
                                                                      (e.EntliehenBis.Value - DateTime.Now.Date).TotalDays > 0);

                ViewData["DatumSortParm2"] = String.IsNullOrEmpty(sortOrder) ? "datum2_desc" : "";

                switch (sortOrder)
                {
                case "datum2_desc":
                    exemplareLaufenBaldAb = exemplareLaufenBaldAb.OrderByDescending(s => s.EntliehenBis);
                    break;

                default:
                    exemplareLaufenBaldAb = exemplareLaufenBaldAb.OrderBy(s => s.EntliehenBis);
                    break;
                }

                var exemplareLaufenBaldAbDic = new Dictionary <Leihauftrag, Exemplar>();

                if (exemplareLaufenBaldAb != null)
                {
                    foreach (var exemplar in exemplareLaufenBaldAb)
                    {
                        var leihauftrag = bibContext.Leihauftrag.SingleOrDefault(a => a.ISBN == exemplar.ISBN && a.ExemplarId == exemplar.ExemplarId);
                        exemplareLaufenBaldAbDic.Add(leihauftrag, exemplar);
                    }
                }

                model.ExemplareAbgelaufen   = exemplareAbgelaufenDic;
                model.ExemplareLaufenBaldAb = exemplareLaufenBaldAbDic;
            }
            else // Fall: Member ist eingeloggt
            {
                // MEMBER: Ausgeliehene Bücher
                var user = await userManager.GetUserAsync(User);

                var exemplareEntliehen = bibContext.Leihauftrag.Where(a =>
                                                                      a.Benutzer.Equals(user.UserName) &&
                                                                      a.IstVerliehen == true);

                var exemplareEntliehenDic = new Dictionary <Leihauftrag, Exemplar>();

                if (exemplareEntliehen != null)
                {
                    foreach (var leihauftrag in exemplareEntliehen)
                    {
                        var exemplar = bibContext.Exemplar.SingleOrDefault(a => a.ISBN == leihauftrag.ISBN && a.ExemplarId == leihauftrag.ExemplarId);
                        exemplareEntliehenDic.Add(leihauftrag, exemplar);
                    }
                }

                ViewData["DatumSortParm3"] = String.IsNullOrEmpty(sortOrder) ? "datum3_desc" : "";

                Dictionary <Leihauftrag, Exemplar> sortedExemplareEntliehenDic = new Dictionary <Leihauftrag, Exemplar>();

                switch (sortOrder)
                {
                case "datum3_desc":
                    foreach (var exemplar in exemplareEntliehenDic.OrderByDescending(s => s.Value.EntliehenBis.Value))
                    {
                        sortedExemplareEntliehenDic.Add(exemplar.Key, exemplar.Value);
                    }
                    break;

                default:
                    foreach (var exemplar in exemplareEntliehenDic.OrderBy(s => s.Value.EntliehenBis.Value))
                    {
                        sortedExemplareEntliehenDic.Add(exemplar.Key, exemplar.Value);
                    }
                    break;
                }

                // MEMBER: Versendete Leihaufträge
                var exemplareLeihauftragVersendet = bibContext.Leihauftrag.Where(a =>
                                                                                 a.Benutzer.Equals(user.UserName) &&
                                                                                 a.IstVerliehen == false);

                model.ExemplareEntliehen            = sortedExemplareEntliehenDic;
                model.ExemplareLeihauftragVersendet = await exemplareLeihauftragVersendet.ToListAsync();
            }

            return(View(model));
        }