protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         db.Dispose();
     }
     base.Dispose(disposing);
 }
        public JsonResult LogiTallennus()
        {
            string json = Request.InputStream.ReadToEnd(); //WebUtilities -luokka, laajennusmetodi
            LaiteTallennusViewModel inputData =
                JsonConvert.DeserializeObject<LaiteTallennusViewModel>(json);

            bool success = false;
            string error = "";

            SeurantaEntities entities = new SeurantaEntities();

            try
            {
                //haetaan ensin paikan id-numero koodin perusteella:
                int tilaId = (from t in entities.Tilat
                              where t.Tarkennus == inputData.Tarkennus
                              select t.TilaID).FirstOrDefault();

                //haetaan laitteen id-numero koodin perusteella:
                int laiteId = (from l in entities.Laitteet
                               where l.Sarjanumero == inputData.Merkki
                               select l.LaiteID).FirstOrDefault();

                //haetaan kirjaaja henkilön id-numero koodin perusteella:
                //int henkiloId = (from h in entities.Henkilot
                //               where h.Etunimi == inputData.Etunimi
                //               select h.HenkiloID).FirstOrDefault();

                if ((tilaId > 0) && (tilaId > 0) /*&& (henkiloId > 0)*/)
                {
                    //tallennetaan uusi rivi aikaleiman kanssa kantaan:
                    Logi newEntry = new Logi();
                    newEntry.PaikkaID = tilaId;
                    newEntry.SijaintiID = laiteId;
                    //newEntry.KirjaajaID = henkiloId;
                    newEntry.Kirjattusisään = DateTime.Now;

                    entities.Logi.Add(newEntry);

                    entities.SaveChanges();

                    success = true;
                }
            }
            catch (Exception ex)
            {
                error = ex.GetType().Name + ": " + ex.Message;
            }
            finally
            {
                entities.Dispose();
            }

            //palautetaan JSON-muotoinen tulos kutsujalle
            var result = new { success = success, error = error };
            return Json(result);
        }
        public ActionResult TestiListaus()
        {
            List<LaiteTallennusViewModel> model = new List<LaiteTallennusViewModel>();

            SeurantaEntities entities = new SeurantaEntities();

            try
            {
                List<Logi> logs = entities.Logi.ToList();

                CultureInfo fiFi = new CultureInfo("fi-FI");

                // muodostetaan näkymämalli tietokannan rivien pohjalta
                foreach (Logi log in logs)
                {
                    LaiteTallennusViewModel view = new LaiteTallennusViewModel();
                    view.LogiID = log.LogiID;
                    view.Kirjattusisään = log.Kirjattusisään.Value;

                    view.TilaID = log.Tilat?.TilaID;
                    view.Tarkennus = log.Tilat?.Tarkennus;

                    view.LaiteID = log.Laitteet?.LaiteID;
                    view.Merkki = log.Laitteet?.Merkki;
                    view.Sarjanumero = log.Laitteet?.Sarjanumero;
                    view.Malli = log.Laitteet?.Malli;
                    view.Muuta = log.Laitteet?.Muuta;

                    view.HenkiloID = log.Henkilot?.HenkiloID;
                    view.Etunimi = log.Henkilot?.Etunimi;
                    //view.Sukunimi = log.Henkilot?.Sukunimi;
                    view.EtunimiH = log.Henkilot?.Etunimi;
                    view.SukunimiH = log.Henkilot?.Sukunimi;
                    view.FullNameH = log.Henkilot?.Etunimi + " " + log.Henkilot?.Sukunimi;
                    ViewBag.FullNameH = new SelectList((from h in db.Henkilot select new { HenkiloID = h.HenkiloID, FullNameH = h.Etunimi + " " + h.Sukunimi }), "HenkiloID", "FullNameH", null);

                    //view.SijaintiID = log.SijaintiID;
                    //view.PaikkaID = log.PaikkaID;
                    //view.KirjaajaID = log.KirjaajaID;

                    model.Add(view);
                }
            }
            finally
            {
                entities.Dispose();
            }

            return View(model);
            //return View(db.Logi.Where(i => i.Laitteet.Sarjanumero.Equals(searching) || searching == null).ToList());
        }