コード例 #1
0
 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 {
     }));
 }
コード例 #2
0
        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);
        }