示例#1
0
        public ActionResult Create([Bind(Include = "ID,VesselID,TimeFrame,Title,Subtitle,Description")] VesselHistory vesselhistory)
        {
            var redirectURL = "../Vessel/Edit/" + vesselhistory.VesselID + "#story";

            // If the page is reloaded with an error message from below, the vesselId is lost in the querystring
            // so save the VesselID in the ViewBag to use in those cases
            ViewBag.VesselID = vesselhistory.VesselID;

            // The ViewBag with the dropdown lists must also be recreated
            ViewBag.TimeFrame = new SelectList(db.TimeFrames.OrderBy(s => s.DisplayOrder), "ID", "TimeFrame1");


            if (ModelState.IsValid)
            {
                db.VesselHistories.Add(vesselhistory);
                db.SaveChanges();
                //return RedirectToAction("Index");
                return(Redirect(redirectURL));
            }

            ViewBag.VesselID  = new SelectList(db.Vessels, "ID", "VesselName", vesselhistory.VesselID);
            ViewBag.TimeFrame = new SelectList(db.TimeFrames, "ID", "TimeFrame1", vesselhistory.TimeFrame);
            //return View(vesselhistory);
            return(Redirect(redirectURL));
        }
示例#2
0
        private async Task ExecuteFile(string path)
        {
            List <ICosmosEntity> vesselMovements = new List <ICosmosEntity>();

            try
            {
                await foreach (string vesselTrackLine in _s3Service.ReadLinesFromLineDelimetedJsonFile(_bucket, path))
                {
                    VesselHistory entity = _deserializeJsonLine.Serialize(vesselTrackLine);

                    if (entity != null)
                    {
                        entity.Id = $"{entity.Mmmsi}:{Guid.NewGuid()}";
                        vesselMovements.Add(entity);
                    }
                }

                var result = await _vesselHistoryRepository.BatchUploadAsync(vesselMovements);

                _logger.LogDebug($"{result} Number of historical data for " +
                                 $"MMSI {path.Split('_')[1]} has been pushed to the Azure Commos Db");
            }
            catch (Exception exx)
            {
                _logger.LogWarning(exx.Message.ToString());
            }
        }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            VesselHistory vesselhistory = db.VesselHistories.Find(id);
            var           vesselId      = vesselhistory.VesselID;

            db.VesselHistories.Remove(vesselhistory);
            db.SaveChanges();
            //return RedirectToAction("Index");
            var redirectURL = "../../Vessel/Edit/" + vesselId + "#story";

            return(Redirect(redirectURL));
        }
示例#4
0
        // GET: /VesselHistory/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VesselHistory vesselhistory = db.VesselHistories.Find(id);

            if (vesselhistory == null)
            {
                return(HttpNotFound());
            }
            return(View(vesselhistory));
        }
示例#5
0
        // GET: /VesselHistory/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VesselHistory vesselhistory = db.VesselHistories.Find(id);

            if (vesselhistory == null)
            {
                return(HttpNotFound());
            }
            ViewBag.TimeFrame = new SelectList(db.TimeFrames, "ID", "TimeFrame1", vesselhistory.TimeFrame);
            return(View(vesselhistory));
        }
        private static async Task FixDateInJsonFile(string path)
        {
            Dictionary <string, string> _attributeMappings = new Dictionary <string, string>
            {
                { "Mmmsi", "MMSI" },
                { "Status", "STATUS" },
                { "Speed", "SPEED" },
                { "Lon", "LON" },
                { "LAT", "LAT" },
                { "Course", "COURSE" },
                { "Heading", "HEADING" },
                { "TimeStamp", "TIMESTAMP" },
                { "ShipId", "SHIP_ID" },
                { "WindAngle", "WIND_ANGLE" },
                { "WindSpeed", "WIND_SPEED" },
                { "WindTemp", "WIND_TEMP" }
            };

            DeserializeJsonLine <VesselHistory> _deserializeJsonLine = new DeserializeJsonLine <VesselHistory>(_attributeMappings);

            int count = 0;

            int mmsi = 0;

            StringBuilder jsonResult = new StringBuilder();

            foreach (string line in fileService.ReadLines(path))
            {
                VesselHistory entity = _deserializeJsonLine.Serialize(line);

                entity.TimeStamp = entity.TimeStamp.Value.AddSeconds(++count);

                if (mmsi == 0)
                {
                    mmsi = entity.Mmmsi + 100;
                }

                entity.Mmmsi  += 100;
                entity.ShipId += 100;
                jsonResult.Append(JsonConvert.SerializeObject(entity).Replace("\"Id\":null,", "").
                                  Replace("Mmmsi", "MMSI").Replace("Status", "STATUS").Replace("Speed", "SPEED")
                                  .Replace("Lon", "LON").Replace("Course", "COURSE").Replace("Heading", "HEADING")
                                  .Replace("TimeStamp", "TIMESTAMP").Replace("ShipId", "SHIP_ID").Replace("WindAngle", "WIND_ANGLE")
                                  .Replace("WindSpeed", "WIND_SPEED").Replace("WindTemp", "WIND_TEMP"));
                jsonResult.Append(NewLine);
            }
            System.IO.File.AppendAllText(@"D:\Projects\VesselPositionTracker\VesselPositionTracker.Persistance\Voyage-Data-On-AWS-S3\Vessel_" + mmsi.ToString() + "_Movements.json", jsonResult.ToString());
        }
示例#7
0
        public ActionResult Edit([Bind(Include = "ID,VesselID,TimeFrame,Title,Subtitle,Description")] VesselHistory vesselhistory)
        {
            var redirectURL = "../../Vessel/Edit/" + vesselhistory.VesselID + "#story";

            if (ModelState.IsValid)
            {
                db.Entry(vesselhistory).State = EntityState.Modified;
                db.SaveChanges();
                //return RedirectToAction("Index");
                return(Redirect(redirectURL));
            }

            ViewBag.TimeFrame = new SelectList(db.TimeFrames, "ID", "TimeFrame1", vesselhistory.TimeFrame);
            //return View(vesselhistory);
            return(Redirect(redirectURL));
        }