Esempio n. 1
0
        public IActionResult FileLoad(FileLoadViewModel lvm)
        {
            FarmData fd;

            if (lvm.unsavedData)
            {
                ModelState.Clear();
                lvm.unsavedData = false;
                return(View(lvm));
            }

            string fileContents = "";

            if (Request.Form.Files.Count > 0)
            {
                if (Request.Form.Files.Count > 1)
                {
                    ModelState.AddModelError("", "Only one file may be selected.");
                }
                else
                {
                    try
                    {
                        foreach (var file in Request.Form.Files)
                        {
                            var fileBytes = new byte[file.Length];

                            file.OpenReadStream().Read(fileBytes, 0, (int)file.Length);
                            fileContents = System.Text.Encoding.Default.GetString(fileBytes);
                        }

                        try
                        {
                            fd = JsonConvert.DeserializeObject <FarmData>(fileContents);
                        }
                        catch (Exception ex)
                        {
                            ModelState.AddModelError("", "File does not appear to be a valid NMP data file.");
                            return(View(lvm));
                        }

                        // Returns message that successfully uploaded
                        _ud.SaveFarmData(fd);
                        HttpContext.Session.SetObject("Farm", _ud.FarmDetails().farmName + " " + _ud.FarmDetails().year);

                        string url = Url.Action("Farm", "Farm");
                        return(Json(new { success = true, url = url }));
                    }
                    catch (Exception ex)
                    {
                        return(Json("Error occurred. Error details: " + ex.Message));
                    }
                }
            }
            else
            {
                ModelState.AddModelError("", "A file has not been selected.");
            }
            return(View(lvm));
        }
Esempio n. 2
0
        public IActionResult FileLoad()
        {
            FileLoadViewModel lvm = new FileLoadViewModel();

            lvm.warningMsg = _sd.GetUserPrompt("fileoverwritewarning");
            FarmData farmData = _ud.FarmData();

            if (farmData != null && farmData.unsaved)
            {
                lvm.unsavedData = true;
            }

            return(View(lvm));
        }
Esempio n. 3
0
 public FileViewModelTest()
 {
     sut = new FileLoadViewModel(fileDlg.Object, startUp.Object, modelFact.Object,
                                 r => new RootViewModel(r), nav.Object);
 }