public ActionResult RegisterGuest([Bind(Include = "GuestId,FirstName,LastName,Email,Preregistered,WonCheckInRaffle,ExtraRaffleEntry,WonExtraRaffleEntry")] EventGuest eventGuest) { Trace.WriteLine("POST /EventGuests/RegisterGuest eventGuest: " + eventGuest.ToString()); ViewBag.Title = "Register"; ViewBag.Message = EventGuestConstants.REGISTRATION_DEFAULT; ViewBag.EventName = Settings.Default.EventName; ViewBag.FailedCheckInPreregister = true; if (!ModelState.IsValid) { return(View(eventGuest)); } if (!repository.AddEventGuestToDbContext(eventGuest)) { String errorMessage = ViewBag.Message = EventGuestConstants.REGISTRATION_EXISTING_ERROR + eventGuest.Email; return(View(eventGuest)); } if (eventGuest.Preregistered == false) { ViewBag.SuccessfulCheckIn = true; } else { ViewBag.SuccessfulPreregister = true; } ViewBag.FailedCheckInPreregister = null; return(View(new EventGuest { })); }
public CsvUploadStatus UploadGuestsFromCsvFile(HttpPostedFileBase upload) { CsvUploadStatus status = new CsvUploadStatus(); status.SuccessfulUpload = false; status.ErrorMessage = EventGuestConstants.LOAD_REGISTRANTS_UPLOAD_ERROR; if (upload == null || upload.ContentLength <= 0) { return(status); } status.ErrorMessage = EventGuestConstants.LOAD_REGISTRANTS_FILE_TYPE_ERROR; if (!upload.FileName.EndsWith(".csv")) { return(status); } DataTable csvTable = createNewDataTableFromUpload(upload); int[] firstLastEmailArray = createIntArrayForFirstLastEmailColumns(csvTable); if (intArrayHasNegativeValues(firstLastEmailArray)) { return(status); } int registeredCount = 0; int notRegisteredCount = 0; foreach (DataRow row in csvTable.Rows) { EventGuest tableGuest = repository.CreateEventGuestFromRowData(row, firstLastEmailArray); if (repository.AddEventGuestToDbContext(tableGuest)) { registeredCount++; } else { notRegisteredCount++; } } status.SuccessfulUpload = true; status.EventGuestsUploaded = registeredCount; status.ColumnsNotUploaded = notRegisteredCount; return(status); }