public ActionResult ReceiptDetails(string fileName)
        {
            if (fileName == null)
            {
                return(NotFound());
            }

            var webRootPath = _hostingEnvironment.WebRootPath;
            var path        = webRootPath + $"/Receipts/";

            IFormatter formatter = new BinaryFormatter();
            Stream     stream    = new FileStream(path + $"{fileName}", FileMode.Open, FileAccess.Read);
            Kvitto     kvitto    = (Kvitto)formatter.Deserialize(stream);

            stream.Close();

            if (kvitto == null)
            {
                return(NotFound());
            }

            //return NotFound();
            return(View(kvitto));
        }
        public ActionResult Receipt(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var exitvehicle = _context.ParkedVehicle.FirstOrDefault(v => v.Id == id);

            if (exitvehicle == null)
            {
                return(NotFound());
            }
            exitvehicle.Parked = false;  //temporary, uncomment later

            var kvitto = new Kvitto();

            kvitto.RegNr     = exitvehicle.RegNr;
            kvitto.StartTime = exitvehicle.StartTime;
            kvitto.EndTime   = DateTime.Now;
            var between = kvitto.EndTime.Subtract(kvitto.StartTime);

            kvitto.Duration   = string.Format("{0} dagar,{1} timmar,{2} minuter", between.Days, between.Hours, between.Minutes);
            kvitto.TotalPrice = Math.Floor(between.TotalMinutes * 0.7);

            _context.SaveChangesAsync();

            string ReceiptsData = kvitto.EndTime.Year.ToString() + "_"
                                  + (kvitto.EndTime.Month < 10 ? "0" : "") + kvitto.EndTime.Month.ToString() + "_"
                                  + kvitto.EndTime.Day.ToString() + "_"
                                  + kvitto.EndTime.Hour.ToString() + "_"
                                  + kvitto.EndTime.Minute.ToString() + "_" +
                                  kvitto.RegNr.ToString();

            var    webRootPath     = _hostingEnvironment.WebRootPath;
            var    contentRootPath = _hostingEnvironment.ContentRootPath; // Not used (HK/MK)
            string receiptsfolder  = "\\Receipts";

            if (!Directory.Exists(webRootPath + receiptsfolder))
            {
                Directory.CreateDirectory(webRootPath + receiptsfolder);
            }

            var path = webRootPath + $"/Receipts/" + $"/{ReceiptsData}.dat";

            IFormatter formatter = new BinaryFormatter();
            Stream     stream    = new FileStream(path, FileMode.Create, FileAccess.Write);

            formatter.Serialize(stream, kvitto);
            stream.Close();

            //Not working, why?
            //JsonSerializer serializer = new JsonSerializer();
            //serializer.Converters.Add(new JavaScriptDateTimeConverter());
            //serializer.NullValueHandling = NullValueHandling.Ignore;
            //Stream stream = new FileStream(path, FileMode.Create, FileAccess.Write);
            //using (StreamWriter sw = new StreamWriter(path))
            //using (JsonWriter writer = new JsonTextWriter(sw))
            //{
            //    serializer.Serialize(writer, kvitto);
            //}

            return(View(kvitto));
        }