public ActionResult Upload() { var uploadMediaLocation = _mediaRepository.GetCallUploadMediaFileLocation(); var model = new CallUploadEditModel { UploadCsvMediaUrl = uploadMediaLocation.Url }; return(View(model)); }
public ActionResult Upload(CallUploadEditModel model) { var uploadMediaLocation = _mediaRepository.GetCallUploadMediaFileLocation(); model.UploadCsvMediaUrl = uploadMediaLocation.Url; HttpPostedFileBase postedFile = Request.Files[0]; if (postedFile == null || postedFile.ContentLength < 1) { model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("No file has been uploaded. Please upload a csv file."); return(View(model)); } if (System.IO.Path.GetExtension(postedFile.FileName).ToLower() != ".csv") { model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("Please upload a csv file!"); return(View(model)); } var physicalPath = uploadMediaLocation.PhysicalPath; var fileContent = System.IO.Path.GetFileNameWithoutExtension(postedFile.FileName) + "_" + DateTime.Now.ToString("MMddyyyyhhmmss") + System.IO.Path.GetExtension(postedFile.FileName); var fullPath = physicalPath + fileContent; postedFile.SaveAs(fullPath); var customerTable = _csvReader.ReadWithTextQualifier(fullPath); if (customerTable.Rows.Count == 0) { model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("Uploaded file has no data."); return(View(model)); } var missingColumnNames = _callUploadHelper.CheckForColumns(customerTable.Rows[0]); if (!string.IsNullOrEmpty(missingColumnNames)) { model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("Missing Column Name(s) : " + missingColumnNames); return(View(model)); } var file = new File { Path = fileContent, FileSize = postedFile.ContentLength, Type = FileType.Csv, UploadedBy = new OrganizationRoleUser(_session.UserSession.CurrentOrganizationRole.OrganizationRoleUserId), UploadedOn = DateTime.Now }; file = _fileRepository.Save(file); var callUpload = new CallUpload { FileId = file.Id, UploadTime = DateTime.Now, StatusId = (long)CallUploadStatus.Uploaded, UploadedBy = _session.UserSession.CurrentOrganizationRole.OrganizationRoleUserId }; callUpload = _callUploadRepository.Save(callUpload); if (callUpload != null && callUpload.Id > 0) { model.FeedbackMessage = FeedbackMessageModel.CreateSuccessMessage("File Uploaded Successfull."); } return(View(model)); }