Exemplo n.º 1
0
 public IActionResult Upload(UploadCsvFileModel model)
 {
     if (null == model)
     {
         model = new UploadCsvFileModel()
         {
             Error = Error.NoErrors
         }
     }
     ;
     return(View(model));
 }
Exemplo n.º 2
0
        public IActionResult Upload(IFormFile file, bool firstAccess)
        {
            var csvFileModel = new UploadCsvFileModel
            {
                CsvAnswers             = file,
                Error                  = Error.NoErrors,
                QuestionParametersList = HttpContext.Session.GetObjectFromJson <IEnumerable <string> >(SessionNameFieldConst.SessionQuestionList),
                AnswersParametersList  = HttpContext.Session.GetObjectFromJson <IEnumerable <string> >(SessionNameFieldConst.SessionAnswerList)
            };

            if (firstAccess)
            {
                return(View(csvFileModel));
            }

            if (null == file)
            {
                return(SetErrorAndReturnToView(csvFileModel, Error.NullFile));
            }

            if (!csvFileModel.IsCsv())
            {
                return(SetErrorAndReturnToView(csvFileModel, Error.NonCsvFile));
            }

            if (csvFileModel.IsEmpty())
            {
                return(SetErrorAndReturnToView(csvFileModel, Error.EmptyFile));
            }

            if (!csvFileModel.HasValidHeader())
            {
                return(SetErrorAndReturnToView(csvFileModel, Error.CsvInvalidHeader));
            }

            if (!csvFileModel.IsWellFormed())
            {
                return(SetErrorAndReturnToView(csvFileModel, Error.CsvBadFormed));
            }


            var csvAsList = csvFileModel.ConvertCsvToListOfArrayString();

            HttpContext.Session.SetObjectAsJson(SessionNameFieldConst.SessionCsvFile, csvAsList);
            return(View(PathToDownloadView));
        }
Exemplo n.º 3
0
 private IActionResult SetErrorAndReturnToView(UploadCsvFileModel model, Error error)
 {
     model.Error = error;
     return(View(PathToUploadCsvView, model));
 }