Exemple #1
0
        public async Task <IActionResult> UploadArrivals(UploadDataViewModel model)
        {
            List <ArrivalsUploadedViewModel> dataUploaded = new List <ArrivalsUploadedViewModel>();

            try
            {
                using (StreamReader reader = new StreamReader(model.File.OpenReadStream()))
                {
                    while (reader.Peek() >= 0)
                    {
                        string[] entries = (reader.ReadLine()).Split(";");
                        ArrivalsUploadedViewModel data = new ArrivalsUploadedViewModel
                        {
                            InDate   = DateTime.Parse(entries[0]),
                            OutDate  = DateTime.Parse(entries[1]),
                            UserCode = entries[2]
                        };
                        dataUploaded.Add(data);
                    }
                    List <ArrivalsEntity> arrivalsUploaded = _converterHelper.ToArrivalsEntity(dataUploaded);
                    bool IsSuccess = await _arrivalsHelper.AddArrivals(arrivalsUploaded);

                    if (!IsSuccess)
                    {
                        ViewBag.Message = "There has been an error when trying to process the file";
                        return(View(model));
                    }
                }
                ViewBag.Message = $"The file {model.File.FileName} has been processed successfully!";
            }
            catch (Exception)
            {
                ViewBag.Message = "There has been an error when trying to process the file";
            }

            return(View(model));
        }