public IActionResult DisplayFilesFromDb(UploadDataViewModel model) { bool userExists = _context.Users.Where(x => x.UserName == model.UserName).Any(); List <LoadFileViewModel> ufls = new List <LoadFileViewModel>(); if (userExists) { var userId = _context.Users.Where(x => x.UserName == model.UserName).Select(x => x.Id).FirstOrDefault(); var userFiles = _context.UserFiles.Where(x => x.UserId == userId).ToList(); foreach (var userFile in userFiles) { string type = null; int index = userFile.FileType.IndexOf('/'); if (index > 0) { type = userFile.FileType.Substring(0, index); } ufls.Add(new LoadFileViewModel() { FileName = userFile.FileName, FileType = type, Id = userFile.Id }); } return(View(ufls)); } else { ModelState.AddModelError("", "User Not Exists."); return(RedirectToAction("LoadFiles", "Home")); } }
public IActionResult UploadEmployee(UploadDataViewModel model) { List <Employee> employees = new List <Employee>(); try { using (StreamReader reader = new StreamReader(model.File.OpenReadStream())) { while (reader.Peek() >= 0) { string[] entries = (reader.ReadLine()).Split(";"); Employee data = new Employee { Nombre = entries[0], Apellido = entries[1], Cedula = entries[2], direccion = entries[3], FechaIngreso = DateTime.Parse(entries[4]), //Debe estar en el siguiente formato YYYY-MM-DD hh:mm:ss FechaEntrega = DateTime.Parse(entries[5]), //Debe estar en el siguiente formato YYYY-MM-DD hh:mm:ss Tipo = entries[6], Serial = entries[7], Marca = entries[8], Descripcion = entries[9], Respuesta = entries[10], GarantiaMarca = entries[11], GarantiaTecnica = entries[12], TipoServicio = entries[13], ValorPagar = int.Parse(entries[14]), CantidadEquipos = int.Parse(entries[15]), NumeroCelular = entries[16], Correos = entries[17], Total = int.Parse(entries[18]) //ProfilePicture= entries[18] }; dbContext.Employees.Add(data); } } dbContext.SaveChanges(); ViewBag.Message = $"El {model.File.FileName} Fue procesado exitosamente!"; } catch (Exception ex) { ViewBag.Message = ex.Message; } return(View(model)); }
public IActionResult UploadToDb(UploadDataViewModel model) { bool userExists = _context.Users.Where(x => x.UserName == model.UserName).Any(); if (!userExists) { User us = new User { Id = Guid.NewGuid().ToString(), UserName = model.UserName }; _context.Users.Add(us); _context.SaveChanges(); } if (model.Files != null && model.Files.Count > 0 && model.Files[0] != null) { foreach (var file in model.Files) { var fileName = Path.GetFileName(file.FileName); bool fileExists = _context.UserFiles.Where(x => x.FileName == fileName).Any(); if (!fileExists) { var fileType = file.ContentType; Stream stream = file.OpenReadStream(); BinaryReader reader = new BinaryReader(stream); var fileContent = reader.ReadBytes((int)file.Length); var userId = _context.Users.Where(x => x.UserName == model.UserName).Select(x => x.Id).FirstOrDefault(); UserFiles uf = new UserFiles { Id = Guid.NewGuid().ToString(), FileName = fileName, FileType = fileType, UserFile = fileContent, UserId = userId }; _context.UserFiles.Add(uf); _context.SaveChanges(); ModelState.AddModelError("", "File Uploaded."); } else { ModelState.AddModelError("", "File exists."); } } } return(RedirectToAction("UploadToDatabase")); }
public async Task <IActionResult> UploadCalls(UploadDataViewModel model) { List <CallsUploadedViewModel> dataUploaded = new List <CallsUploadedViewModel>(); try { using (StreamReader reader = new StreamReader(model.File.OpenReadStream())) { while (reader.Peek() >= 0) { string[] entries = (reader.ReadLine()).Split(";"); CallsUploadedViewModel data = new CallsUploadedViewModel { CustomerId = entries[0], CustomerProduct = entries[1], StartDate = DateTime.Parse(entries[2]), EndDate = DateTime.Parse(entries[3]), CodificationId = Int32.Parse(entries[4]), UserCode = entries[5] }; dataUploaded.Add(data); } List <CallEntity> callsUploaded = await _converterHelper.ToCallEntity(dataUploaded); bool IsSuccess = await _callHelper.AddCalls(callsUploaded); 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 ex) { ViewBag.Message = ex.Message; } return(View(model)); }
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)); }