private RedirectToRouteResult ChangeWave(int registrationId, int eventWaveId, Guid itemId, int?initialWaveId) { // did they even change it? if (initialWaveId.HasValue && initialWaveId.Value == eventWaveId) { SessionManager.CurrentCart.ActionItems.Remove(itemId); DisplayMessageToUser(new DisplayMessage(DisplayMessageType.SuccessMessage, "head-Event wave was not changed.")); return(RedirectToAction("viewuser", "user", new { userId = CurrentUser.UserId })); } var userRegistrations = _service.GetRegistrationByUserID(CurrentUser.UserId); Registration curRegistration = userRegistrations.FirstOrDefault(x => x.RegistrationId == registrationId); // are you already registered for that wave? if (_service.IsDuplicateRegistration(eventWaveId, CurrentUser.UserId, curRegistration.FirstName, curRegistration.LastName)) { DisplayMessageToUser(new DisplayMessage(DisplayMessageType.Warning, "You have already registered for this event wave.")); return(RedirectToAction("viewuser", "user", new { userId = CurrentUser.UserId })); } ServiceResult eventWaveChangeResult = _service.ChangeWave(registrationId, eventWaveId); if (eventWaveChangeResult.Success) { SessionManager.CurrentCart.ActionItems.Remove(itemId); DisplayMessageToUser(new DisplayMessage(DisplayMessageType.SuccessMessage, "head-You have successfully updated your event wave.")); return(RedirectToAction("viewuser", "user", new { userId = CurrentUser.UserId })); } return(null); }