private void JoinExistingTeam(vmRegistration_CreateTeam model, Registration reg)
        {
            if (string.IsNullOrEmpty(model.TeamCode))
            {
                ModelState.AddModelError("TeamCode", "Team Code is Required.");
                ViewBag.showTeamCode = "true";
                return;
            }

            var existingTeam = _service.GetTeamByCode(model.EventId, model.TeamCode);

            if (existingTeam != null)
                reg.TeamId = existingTeam.TeamId;
            else
                ModelState.AddModelError("TeamCode", "There is no team using this code for this event.");
        }
        private bool CheckAddProcessingFee(Registration reg, Guid itemId)
        {
            if (reg.RegistrationType == RegistrationType.CancerRegistration)
                return false;

            var processingActions = SessionManager.CurrentCart.ActionItems.Where(x => (x.Value as ActionItem).ActionType == CartActionType.ProcessingFee).ToList();
            return processingActions.Select(proc => proc.Value.ActionObject as ProcessingFeeAction).All(processesAction => processesAction.RegItemGuid != itemId);
        }
        private void CreateNewTeam(vmRegistration_CreateTeam model, Registration reg)
        {
            if (string.IsNullOrEmpty(model.TeamName))
            {
                ModelState.AddModelError("TeamName", "Team Name is Required");
                return;
            }

            Match match = Regex.Match(model.TeamName, @"([a-zA-Z].*?){3}", RegexOptions.IgnoreCase);

            if (!match.Success)
            {
                ModelState.AddModelError("TeamName", "Team Name must contain at least 3 letters.");
                return;
            }

            Team newTeam = new Team {EventId = model.EventId, Name = model.TeamName, CreatorID = CurrentUser.UserId};

            ServiceResult tempTeamResult = _service.GenerateTempTeam(newTeam);

            if (!tempTeamResult.Success)
                Utilities.AddModelStateErrors(ModelState, tempTeamResult.GetServiceErrors());
            else
                reg.Team = newTeam;
        }
Ejemplo n.º 4
0
 private bool ValidateRegistration(Registration registrationToValidate, ServiceResult result)
 {
     return result.Success;
 }
Ejemplo n.º 5
0
        public ServiceResult ChangeEvent(int registrationId, int eventWaveId, int? cartItemId, string confirmationCode)
        {
            var result = new ServiceResult();

            try
            {
                Registration existingReg = _repository.Registrations.Find(x => x.RegistrationId == registrationId);
                existingReg.RegistrationStatus = RegistrationStatus.Changed;
                existingReg.DateUpdated = DateTime.Now;

                var newReg = new Registration
                    {
                        EventWaveId = eventWaveId,
                        RegistrationStatus = RegistrationStatus.Active,
                        RegistrationType = existingReg.RegistrationType,
                        ParentRegistrationId = existingReg.RegistrationId,
                        FirstName = existingReg.FirstName,
                        LastName = existingReg.LastName,
                        Address1 = existingReg.Address1,
                        Address2 = existingReg.Address2,
                        Locality = existingReg.Locality,
                        RegionId = existingReg.RegionId,
                        PostalCode = existingReg.PostalCode,
                        PacketDeliveryOption = existingReg.PacketDeliveryOption,
                        Email = existingReg.Email,
                        Phone = existingReg.Phone,
                        EmergencyContact = existingReg.EmergencyContact,
                        EmergencyPhone = existingReg.EmergencyPhone,
                        SpecialNeeds = existingReg.SpecialNeeds,
                        TShirtSize = existingReg.TShirtSize,
                        Gender = existingReg.Gender,
                        UserId = existingReg.UserId,
                        CartItemId = cartItemId,
                        AgreeToTerms = existingReg.AgreeToTerms,
                        AgreeTrademark = existingReg.AgreeTrademark,
                        IsFemale = existingReg.IsFemale,
                        IsOfAge = existingReg.IsOfAge,
                        EventLeadId = existingReg.EventLeadId,
                        IsSignatureConsent = existingReg.IsSignatureConsent,
                        IsThirdPartyRegistration = existingReg.IsThirdPartyRegistration,
                        Signature = existingReg.Signature,
                        Birthday = existingReg.Birthday,
                        IsIAmTheParticipant = existingReg.IsIAmTheParticipant
                    };
                if (string.IsNullOrEmpty(confirmationCode))
                    newReg.ConfirmationCode = existingReg.ConfirmationCode;
                else
                    newReg.ConfirmationCode = confirmationCode;

                _repository.Registrations.Create(newReg);

                if (!_sharedRepository)
                    _repository.SaveChanges();

            }
            catch (Exception ex)
            {
                result.AddServiceError(Utilities.GetInnerMostException(ex));
            }
            return result;
        }
Ejemplo n.º 6
0
        public ServiceResult RedemptionCodeRegistration(string code, Registration r)
        {
            var result = new ServiceResult();

            return result;
        }
Ejemplo n.º 7
0
        public ServiceResult UpdateRegistration(Registration r)
        {
            var result = new ServiceResult();

            try
            {
                var target = _repository.Registrations.Find(x => x.RegistrationId == r.RegistrationId);

                if (ValidateRegistration(r, result))
                {
                    target.Address1 = r.Address1;
                    target.Address2 = r.Address2;
                    target.AgreeToTerms = r.AgreeToTerms;
                    target.AgreeTrademark = r.AgreeTrademark;
                    target.Birthday = r.Birthday;
                    target.CartItemId = r.CartItemId;
                    target.Email = r.Email;
                    target.EmergencyContact = r.EmergencyContact;
                    target.EmergencyPhone = r.EmergencyPhone;
                    target.EventLeadId = r.EventLeadId;
                    target.EventWaveId = r.EventWaveId;
                    target.FirstName = r.FirstName;
                    target.Gender = r.Gender;
                    target.IsFemale = r.IsFemale;
                    target.IsOfAge = r.IsOfAge;
                    target.IsThirdPartyRegistration = r.IsThirdPartyRegistration;
                    target.LastName = r.LastName;
                    target.Locality = r.Locality;
                    target.MedicalInformation = r.MedicalInformation;
                    target.ParentRegistrationId = r.ParentRegistrationId;
                    target.Phone = r.Phone;
                    target.PostalCode = r.PostalCode;
                    target.PacketDeliveryOption = r.PacketDeliveryOption;
                    target.ReferenceAnswer = r.ReferenceAnswer;
                    target.RegionId = r.RegionId;
                    target.RegistrationStatus = r.RegistrationStatus;
                    target.RegistrationType = r.RegistrationType;
                    target.SpecialNeeds = r.SpecialNeeds;
                    target.TShirtSize = r.TShirtSize;
                    target.TeamId = r.TeamId;
                    target.UserId = r.UserId;
                    target.DateUpdated = DateTime.Now;
                    target.ConfirmationCode = r.ConfirmationCode;

                    if (!_sharedRepository)
                        _repository.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                result.AddServiceError(Utilities.GetInnerMostException(ex));
            }

            return result;
        }
Ejemplo n.º 8
0
        public ServiceResult CreateNewRegistration(Registration r, int? redemtpionId)
        {
            var result = new ServiceResult();

            try
            {
                result = CreateNewRegistration(r);

                if (result.Success)
                {
                    //Check to see if the discount id being passed in is a redemption code, if it is, update it.
                    var code = _repository.RedemptionCodes.Find(x => x.DiscountItemId == redemtpionId);

                    if (code != null)
                    {
                        code.GeneratingRegistration.RegistrationStatus = code.RedemptionCodeType == RedemptionCodeType.Transfer ? RegistrationStatus.Transferred : RegistrationStatus.Cancelled;
                        code.ResultingRegistrationId = r.RegistrationId;
                        r.ParentRegistrationId = code.GeneratingRegistrationId;

                        if (!_sharedRepository)
                            _repository.SaveChanges();
                    }
                }

            }
            catch(Exception ex)
            {
                result.AddServiceError(Utilities.GetInnerMostException(ex));
            }

            return result;
        }
Ejemplo n.º 9
0
        public ServiceResult CreateNewRegistration(Registration r)
        {
            var result = new ServiceResult();

            try
            {
                if (ValidateRegistration(r, result))
                {
                    _repository.Registrations.Create(r);

                    if (!_sharedRepository)
                        _repository.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                result.AddServiceError(Utilities.GetInnerMostException(ex));
            }

            return result;
        }
Ejemplo n.º 10
0
 public vmRegistration_Details()
 {
     RegistrationDetails = new Registration();
 }
Ejemplo n.º 11
0
        public ActionResult StartRedemption(string id)
        {
            ServiceResult result = _service.ValidateRedemptionCodeForUserId(id, CurrentUser.UserId);

            if (result.Success)
            {
                RedemptionCode redemptionCode = _service.GetRedemptionCode(id);
                var itemId = Guid.NewGuid();
                var newReg = new Registration
                {
                    UserId = CurrentUser.UserId,
                    FirstName = CurrentUser.FirstName,
                    LastName = CurrentUser.LastName,
                    Address1 = CurrentUser.Address1,
                    Address2 = CurrentUser.Address2,
                    Locality = CurrentUser.Locality,
                    RegionId = CurrentUser.RegionId,
                    PostalCode = CurrentUser.PostalCode,
                    Email = CurrentUser.EmailAddress,
                    RegistrationStatus = RegistrationStatus.Active,
                };

                if (redemptionCode.RedemptionCodeType == RedemptionCodeType.Transfer)
                {
                    newReg.EventWaveId = redemptionCode.GeneratingRegistration.EventWaveId;
                    newReg.TeamId = redemptionCode.GeneratingRegistration.TeamId;
                }

                SessionManager.CurrentCart.DiscountCode = id;

                var newCartItem = new ActionItem
                {
                    ActionType = CartActionType.NewRegistration,
                    ActionObject = newReg,
                    ItemReadyForCheckout = false
                };

                SessionManager.CurrentCart.ActionItems.Add(itemId, newCartItem);
                SessionManager.CurrentCart.CheckOutFocus = CartFocusType.Registration;

                if (redemptionCode.RedemptionCodeType == RedemptionCodeType.Transfer)
                    return RedirectToAction("registrationdetails", "Registration", new {itemId});

                SessionManager.CurrentCart.CheckOutFocus = CartFocusType.Redemption;
                return RedirectToAction("eventselection", "registration", new {itemId});
            }

            string error = "Invalid Redemption Code";
            var errors = result.GetServiceErrors();
            if (errors != null && errors.Count > 0)
                error = errors[0].ErrorMessage;

            return RedirectToAction("InvalidRedemption", "registration", new { redemptionError = error });
        }
Ejemplo n.º 12
0
        public ActionResult StartNewRegistration(int? eventId, int? eventDateId)
        {
            var itemId = Guid.NewGuid();
            var newReg = new Registration
                {
                    UserId = CurrentUser.UserId,
                    FirstName = CurrentUser.FirstName,
                    LastName = CurrentUser.LastName,
                    Address1 = CurrentUser.Address1,
                    Address2 = CurrentUser.Address2,
                    Locality = CurrentUser.Locality,
                    RegionId = CurrentUser.RegionId,
                    PostalCode = CurrentUser.PostalCode,
                    Email = CurrentUser.EmailAddress,
                    RegistrationStatus = RegistrationStatus.Active
                };
            var newCartItem = new ActionItem
                {
                    ActionType = CartActionType.NewRegistration,
                    ActionObject = newReg,
                    ItemReadyForCheckout = false
                };

            SessionManager.CurrentCart.ActionItems.Add(itemId, newCartItem);
            SessionManager.CurrentCart.CheckOutFocus = CartFocusType.Registration;

            return RedirectToAction("eventSelection", "registration", new { itemId, eventId, eventDateId });
        }