Beispiel #1
0
        public JsonResult GetSpots(int id)
        {
            using (var entities = new Model.Hydra2Entities())
            {
                var model = entities.Station.Where(s => s.Id_River == id)
                    .OrderBy(s => s.Spot)
                    .Select(s => new { name = s.Spot, id = s.Id })
                    .ToArray();

                return Json(model, JsonRequestBehavior.AllowGet);
            }
        }
Beispiel #2
0
        public ActionResult Index()
        {
            var now = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Central Europe Standard Time");

            using (var entities = new Model.Hydra2Entities())
            {
                var model = new GrafViewModel()
                {
                    Rivers = entities.River
                        .OrderBy(r => r.Name)
                        .Select(r => new SelectListItem()
                        {
                            Text = r.Name,
                            Value = r.Id.ToString(),
                        })
                        .ToList(),
                    StartDate = now.AddDays(-7).ToString("dd'/'MM'/'yyyy"),
                    StopDate = now.AddDays(1).ToString("dd'/'MM'/'yyyy"),
                };

                return View(model);
            }
        }
Beispiel #3
0
        public JsonResult GetData(int spot, string start, string stop, string type)
        {
            DateTime startDate = ParseDateTime(start);
            DateTime stopDate = ParseDateTime(stop);

            using (var entities = new Model.Hydra2Entities())
            {
                var stationEntity = entities.Station.First(r => r.Id == spot);

                Sample[] samples = new Sample[0];
                if (type == "h")
                    samples =
                        entities.Sample.Where(
                            s =>
                                s.Id_Station == spot && s.TimeStamp >= startDate && s.TimeStamp <= stopDate &&
                                s.Level.HasValue)
                            .OrderBy(s => s.TimeStamp)
                            .Select(s => new Sample() {Date = s.TimeStamp, Value = s.Level})
                            .ToArray();

                if (type == "Q")
                    samples =
                        entities.Sample.Where(
                            s =>
                                s.Id_Station == spot && s.TimeStamp >= startDate && s.TimeStamp <= stopDate &&
                                s.Flow.HasValue)
                            .OrderBy(s => s.TimeStamp)
                            .Select(s => new Sample() { Date = s.TimeStamp, Value = s.Flow })
                            .ToArray();

                if (type == "t")
                    samples =
                        entities.Sample.Where(
                            s =>
                                s.Id_Station == spot && s.TimeStamp >= startDate && s.TimeStamp <= stopDate &&
                                s.Temperature.HasValue)
                            .OrderBy(s => s.TimeStamp)
                            .Select(s => new Sample() { Date = s.TimeStamp, Value = s.Temperature })
                            .ToArray();

                var jsonSamples = samples.Select(s => new { date = s.Date.ToString("yyyy-MM-dd HH:mm"), value = s.Value.ToString() });

                var result = new
                {
                    spot = new
                    {
                        spa0 = stationEntity.Spa0,
                        spa1 = stationEntity.Spa1,
                        spa2 = stationEntity.Spa2,
                        spa3 = stationEntity.Spa3,
                        spa3e = stationEntity.Spa3e,
                        link = stationEntity.Link,
                        type = stationEntity.Type,
                        raftLink = string.IsNullOrEmpty(stationEntity.River.RaftLink) ? "" : "http://www.raft.cz/" + stationEntity.River.RaftLink,
                    },
                    samples = jsonSamples,
                };

                return Json(result, JsonRequestBehavior.AllowGet);
            }
        }
Beispiel #4
0
        public ActionResult ExportRaft(int spot, string start, string stop)
        {
            DateTime startDate = ParseDateTime2(start);
            DateTime stopDate = ParseDateTime2(stop);

            XmlDocument doc = new XmlDocument();
            XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
            doc.AppendChild(docNode);

            XmlNode stavy = doc.CreateElement("stavy");

            using (var entities = new Model.Hydra2Entities())
            {
                var stationEntity = entities.Station.First(r => r.Id == spot);

                var samples = entities.Sample.Where(
                        s =>
                            s.Id_Station == spot && s.TimeStamp >= startDate && s.TimeStamp <= stopDate &&
                            s.Level.HasValue)
                        .OrderBy(s => s.TimeStamp);

                foreach(var sample in samples)
                {
                    XmlNode stav = doc.CreateElement("s");
                    XmlNode datum = doc.CreateElement("d");
                    datum.InnerText = sample.TimeStamp.ToString("dd.MM.yyyy HH:mm");
                    stav.AppendChild(datum);

                    XmlNode prutok = doc.CreateElement("p");
                    prutok.InnerText = sample.Flow.HasValue ? sample.Flow.ToString() : "";
                    stav.AppendChild(prutok);

                    XmlNode vyska = doc.CreateElement("v");
                    vyska.InnerText = sample.Level.HasValue ? Convert.ToInt32(sample.Level).ToString() : "";
                    stav.AppendChild(vyska);

                    XmlNode teplota = doc.CreateElement("t");
                    teplota.InnerText = sample.Temperature.HasValue ? sample.Temperature.ToString() : "";
                    stav.AppendChild(teplota);

                    stavy.AppendChild(stav);
                }

                var spa1 = doc.CreateAttribute("spa1");
                spa1.Value = stationEntity.Spa1.HasValue ? stationEntity.Spa1.ToString() : "";
                stavy.Attributes.Append(spa1);

                var spa2 = doc.CreateAttribute("spa2");
                spa2.Value = stationEntity.Spa2.HasValue ? stationEntity.Spa2.ToString() : "";
                stavy.Attributes.Append(spa2);

                var spa3 = doc.CreateAttribute("spa3");
                spa3.Value = stationEntity.Spa3.HasValue ? stationEntity.Spa3.ToString() : "";
                stavy.Attributes.Append(spa3);

                doc.AppendChild(stavy);

                return Content(doc.OuterXml, "text/xml");
            }
        }