// GET: Valo
        public ActionResult Index()
        {
            //listataan ValoViewModel-luokan objektit
            List <ValoViewModel> model = new List <ValoViewModel>();
            //tietokantayhteys
            AlyTaloEntities entities = new AlyTaloEntities();

            try
            {
                //listataan Valot-luokan objektit alenevaan järjestykseen
                List <Valot> valo = entities.Valot.OrderByDescending(Valot => Valot.ValoID).ToList();
                foreach (Valot val in valo)
                {
                    //haetaan Valot-luokan objektit tietokannasta va-muuttujaan ja lisätään va model-objektiin
                    //eli yhdistetään tietokanta ja entiteettimalli toisiinsa
                    ValoViewModel va = new ValoViewModel();
                    va.ValoID      = val.ValoID; //malli = tietokanta
                    va.Valot0      = val.Valot0;
                    va.Valot33     = val.Valot33;
                    va.Valot66     = val.Valot66;
                    va.Valot100    = val.Valot100;
                    va.ValoHuone   = val.ValoHuone;
                    va.ValoTime0   = val.ValoTime0;
                    va.ValoTime33  = val.ValoTime33;
                    va.ValoTime66  = val.ValoTime66;
                    va.ValoTime100 = val.ValoTime100;
                    model.Add(va);//va:n lisääminen modeliin
                }
            }
            finally
            {
                entities.Dispose();
            }
            return(View(model));
        }
        // GET: ValoTila
        public ActionResult Index()
        {
            List <ValoViewModel> model    = new List <ValoViewModel>();
            älytalodbEntities    entities = new älytalodbEntities();

            try
            {
                List <Valot> val = entities.Valot.OrderByDescending(Valot => Valot.ValoId).ToList();
                foreach (Valot valo in val)
                {
                    ValoViewModel view = new ValoViewModel();
                    view.ValoId      = valo.ValoId;
                    view.Valo33      = valo.Valo33;
                    view.Valo66      = valo.Valo66;
                    view.Valo100     = valo.Valo100;
                    view.Valo33Aika  = valo.Valo33Aika;
                    view.Valo66AIka  = valo.Valo66AIka;
                    view.valo100Aika = valo.valo100Aika;
                    view.ValoOff     = valo.ValoOff;
                    view.HuoneValo   = valo.HuoneValo;
                    view.ValoOffAika = valo.ValoOffAika;
                    model.Add(view);
                }
            }
            finally
            {
                entities.Dispose();
            }
            return(View(model));
        }
        // GET: ValoTila/valo100/5
        public ActionResult Valo100(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Valot valot = db.Valot.Find(id);

            if (valot == null)
            {
                return(HttpNotFound());
            }
            ValoViewModel view = new ValoViewModel();

            view.ValoId    = valot.ValoId;
            view.HuoneValo = valot.HuoneValo;

            view.Valo33  = false;
            view.Valo66  = false;
            view.Valo100 = true;
            view.ValoOff = false;



            return(View(view));
        }
        public ActionResult List()
        {
            SmartHouseEntities   entities = new SmartHouseEntities();
            List <ValoViewModel> model    = new List <ValoViewModel>();

            try
            {
                List <Valo> valot = entities.Valo.ToList();
                //muodostetaan näkymämalli tietokannan rivien pohjalta.

                foreach (Valo valo in valot)
                {
                    ValoViewModel view = new ValoViewModel();
                    view.Id         = valo.Id;
                    view.Koodi      = valo.Koodi;
                    view.Tyyppi     = valo.Tyyppi;
                    view.Tila       = valo.Tila;
                    view.Valonmaara = valo.Valonmaara;
                    model.Add(view);
                }
            }
            finally
            {
                entities.Dispose();
            }
            return(View(model));
        }
        // GET: ValoTila/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Valot valo = db.Valot.Find(id);

            if (valo == null)
            {
                return(HttpNotFound());
            }

            ValoViewModel view = new ValoViewModel();

            view.ValoId      = valo.ValoId;
            view.Valo33      = valo.Valo33;
            view.Valo66      = valo.Valo66;
            view.Valo100     = valo.Valo100;
            view.Valo33Aika  = valo.Valo33Aika;
            view.Valo66AIka  = valo.Valo66AIka;
            view.valo100Aika = valo.valo100Aika;
            view.ValoOff     = valo.ValoOff;
            view.HuoneValo   = valo.HuoneValo;
            view.ValoOffAika = valo.ValoOffAika;

            return(View(view));
        }
        public ActionResult Create(ValoViewModel model)
        {
            AlytaloEntities db   = new AlytaloEntities();
            Valot           valo = new Valot();

            valo.Huone     = model.Huone;
            valo.ValoOff   = model.ValoOff;
            valo.ValoOn33  = model.ValoOn33;
            valo.ValoOn66  = model.ValoOn66;
            valo.ValoOn100 = model.ValoOn100;

            db.Valot.Add(valo);

            try
            {
                db.SaveChanges();
            }



            catch (Exception ex)
            {
            }

            return(RedirectToAction("Index"));
        }
        //GET: Valo/Valo100
        //näkymän luonti: template:edit ja model class: Valot(Alytalo...)
        public ActionResult Valo100(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Valot val = db.Valot.Find(id);

            if (val == null)
            {
                return(HttpNotFound());
            }
            ValoViewModel va = new ValoViewModel();

            va.ValoID    = val.ValoID;
            va.Valot0    = false;
            va.Valot33   = false;
            va.Valot66   = false;
            va.Valot100  = true;
            va.ValoHuone = val.ValoHuone;
            //va.ValoTime0 = val.ValoTime0;
            //va.ValoTime33 = val.ValoTime33;
            //va.ValoTime66 = val.ValoTime66;
            va.ValoTime100 = val.ValoTime100;
            return(View(va));
        }
        // GET: Valo/Create
        public ActionResult Create()
        {
            AlytaloEntities db    = new AlytaloEntities();
            ValoViewModel   model = new ValoViewModel();

            return(View(model));
        }
        }//

        // GET: TaloValo/Light100/5
        public ActionResult Light100(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Valot talovalo = db.Valot.Find(id);

            if (talovalo == null)
            {
                return(HttpNotFound());
            }

            ValoViewModel valo = new ValoViewModel();

            valo.ValoId    = talovalo.ValoId;
            valo.ValoOn33  = false;
            valo.ValoOn66  = false;
            valo.ValoOn100 = true;
            valo.ValoOff   = false;


            // ViewBag.Huone = new SelectList((from tv in db.Valot select new { ValoId = tv.ValoId, Huone = tv.Huone }), "ValoId", "Huone", null);
            // ViewBag.ValaisinTYpe = new SelectList((from tv in db.TaloValo select new { Valo_ID = tv.Valo_ID, Huone = tv.Huone }), "Valo_ID", "ValaisinType", null);

            return(View(valo));
        }
        // GET: Valo
        public ActionResult Index()
        {
            List <ValoViewModel> model    = new List <ValoViewModel>();
            AlytaloEntities      entities = new AlytaloEntities();

            try
            {
                List <Valot> valot = entities.Valot.ToList();
                foreach (Valot talovalo in valot)
                {
                    ValoViewModel valo = new ValoViewModel();
                    valo.ValoId    = talovalo.ValoId;
                    valo.Huone     = talovalo.Huone;
                    valo.ValoOff   = talovalo.ValoOff;
                    valo.ValoOn33  = talovalo.ValoOn33;
                    valo.ValoOn66  = talovalo.ValoOn66;
                    valo.ValoOn100 = talovalo.ValoOn100;

                    model.Add(valo);
                }
            }
            finally
            {
                entities.Dispose();
            }
            return(View(model));
        }
        public ActionResult Edit(ValoViewModel model)
        {
            Valot view = db.Valot.Find(model.ValoId);

            view.HuoneValo = model.HuoneValo;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(ValoViewModel model)
        {
            Valot va = db.Valot.Find(model.ValoID);

            va.ValoHuone = model.ValoHuone;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Valo100(ValoViewModel model)
        {
            Valot view = db.Valot.Find(model.ValoId);

            view.HuoneValo   = model.HuoneValo;
            view.Valo33      = false;
            view.Valo66      = false;
            view.Valo100     = true;
            view.ValoOff     = false;
            view.valo100Aika = DateTime.Now;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(ValoViewModel model)
        {
            Valot valo = db.Valot.Find(model.ValoId);

            //valo.Valo_ID = model.Valo_ID;
            valo.Huone = model.Huone;


            // ViewBag.Huone = new SelectList((from tv in db.Valot select new { ValoId = tv.ValoId, Huone = tv.Huone }), "ValoId", "Huone", null);


            db.SaveChanges();

            return(RedirectToAction("Index"));
        }//edit
        public ActionResult Create(ValoViewModel model)
        {
            Valot view = new Valot();

            view.ValoId    = model.ValoId;
            view.HuoneValo = model.HuoneValo;
            db.Valot.Add(view);
            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Light66(ValoViewModel model)
        {
            Valot valo = db.Valot.Find(model.ValoId);

            valo.ValoOn33  = false;
            valo.ValoOn66  = true;
            valo.ValoOn100 = false;



            // ViewBag.Huone = new SelectList((from tv in db.Valot select new { ValoId = tv.ValoId, Huone = tv.Huone }), "ValoId", "Huone", null);

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }//
        public ActionResult Valo100(ValoViewModel model)
        {
            Valot va = db.Valot.Find(model.ValoID);

            va.Valot0    = false;
            va.Valot33   = false;
            va.Valot66   = false;
            va.Valot100  = true;
            va.ValoHuone = model.ValoHuone;
            //va.ValoTime0 = DateTime.Now;
            //va.ValoTime33 = DateTime.Now;
            //va.ValoTime66 = DateTime.Now;
            va.ValoTime100 = DateTime.Now;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Create(ValoViewModel model)
        {
            Valot va = new Valot();

            va.ValoID    = model.ValoID;
            va.ValoHuone = model.ValoHuone;
            db.Valot.Add(va);
            try
            {
                db.SaveChanges();
            }
            catch (Exception ex)
            {
            }

            return(RedirectToAction("Index"));
        }
        // GET: Valo/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Valot talovalo = db.Valot.Find(id);

            if (talovalo == null)
            {
                return(HttpNotFound());
            }

            ValoViewModel valo = new ValoViewModel();

            valo.ValoId = talovalo.ValoId;
            valo.Huone  = talovalo.Huone;


            // ViewBag.Huone = new SelectList((from tv in db.Valot select new { Valo_ID = tv.ValoId, Huone = tv.Huone }), "ValoId", "Huone", null);


            return(View(valo));
        }
        }//edit

        // GET: TaloValo/LightsOff/5
        public ActionResult LightsOff(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Valot Valot = db.Valot.Find(id);

            if (Valot == null)
            {
                return(HttpNotFound());
            }

            ValoViewModel valo = new ValoViewModel();

            valo.ValoId    = Valot.ValoId;
            valo.ValoOn33  = false;
            valo.ValoOn66  = false;
            valo.ValoOn100 = false;
            valo.ValoOff   = true;


            return(View(valo));
        }