Пример #1
0
        public ServiceResult CancelRegistration(int existingRegistrationId)
        {
            var result = new ServiceResult();
            IEmailService emailService = new EmailService();
            IDiscountService discountService = new DiscountService(this._repository, false);

            Registration cancelReg = _repository.Registrations.Find(x => x.RegistrationId == existingRegistrationId);
            cancelReg.RegistrationStatus = RegistrationStatus.Cancelled;
            cancelReg.DateUpdated = DateTime.Now;

            var newTransferCode = new RedemptionCode
            {
                GeneratingRegistrationId = existingRegistrationId,
                Code = discountService.GenerateDiscountCode(),
                RedemptionCodeType = RedemptionCodeType.StraightValue,
                Value = GetRegistrationPathValue(existingRegistrationId),
                DiscountType = DiscountType.Dollars
            };

            result = discountService.CreateRedemptionCode(newTransferCode);

            if (!_sharedRepository)
            {
                _repository.SaveChanges();
                emailService.SendCancellationEmail(newTransferCode.DiscountItemId);
            }

            return result;
        }
Пример #2
0
        public ServiceResult TransferRegistration(int existingRegistrationId, string name, string email)
        {
            ServiceResult result = null;

            IEmailService emailService = new EmailService();
            var discountService = new DiscountService(this._repository, false);

            Registration transferReg = _repository.Registrations.Find(x => x.RegistrationId == existingRegistrationId);
            transferReg.RegistrationStatus = RegistrationStatus.Held;
            transferReg.DateUpdated = DateTime.Now;

            var newTransferCode = new RedemptionCode
            {
                GeneratingRegistrationId = existingRegistrationId,
                Code = discountService.GenerateDiscountCode(),
                RedemptionCodeType = RedemptionCodeType.Transfer,
                Value = GetRegistrationPathValue(existingRegistrationId),
                DiscountType = DiscountType.Dollars
            };

            result = discountService.CreateRedemptionCode(newTransferCode);

            if (!_sharedRepository)
            {
                _repository.SaveChanges();
                emailService.SendTransferEmail(newTransferCode.DiscountItemId, name, email);
            }

            return result;
        }
Пример #3
0
        private bool SaveCart(SessionCart tempCart, CartSummary summary, int userId, string transactionId, CartType cartType)
        {
            try
            {
                Cart cart = new Cart
                {
                    TransactionDate = DateTime.Now,
                    TransactionId = transactionId,
                    UserId = userId,
                    CartType = cartType,
                    CartItems = new List<CartItem>(),
                    TotalCost = summary.TotalCost
                };

                _repository.Carts.Create(cart);
                _repository.SaveChanges();

                foreach (var summaryItem in summary.CartItems)
                {
                    CartItem newItem = new CartItem
                        {
                            CartId = cart.CartId,
                            PurchaseItemId = summaryItem.PurchaseItemId,
                            Cost = summaryItem.ItemCost,
                            Total = summaryItem.ItemTotal,
                            StandAloneItem = summaryItem.ProcessType == ProcessType.Individual ? true : false,
                            LocalTaxPercentage = summaryItem.LocalTaxPercentage,
                            LocalTaxValue = summaryItem.LocalTax,
                            StateTaxPercentage = summaryItem.StateTaxPercentage,
                            StateTaxValue = summaryItem.StateTax,
                            DiscountItemId = summaryItem.DiscountItemId,
                            DiscountValue = summaryItem.DiscountValue,
                            DiscountType = summaryItem.DiscountType,
                            DiscountValueTotal = summaryItem.DiscountTotal
                        };

                    cart.CartItems.Add(newItem);

                    _repository.SaveChanges();

                    if (summaryItem.SessionKey.HasValue && tempCart.ActionItems[summaryItem.SessionKey.Value].ActionObject != null)
                    {
                        ActionItem action = tempCart.ActionItems[summaryItem.SessionKey.Value];
                        int? discountId = summaryItem.DiscountItemId;
                        CompleteActions(action, newItem.CartItemId, discountId, transactionId);
                    }

                }

                IEmailService emailService = new EmailService();
                emailService.SendPaymentConfirmationEmail(cart.CartId);

                tempCart.ResultingConfirmationCode = cart.TransactionId;

                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
Пример #4
0
 private static void SendPasswordResetForGoLiveEmail(User user)
 {
     IEmailService emailService = new EmailService();
     emailService.SendPasswordResetForGoLiveEmail(user.UserId);
 }
Пример #5
0
        public bool SendEmailConfirmation(User user)
        {
            try
            {
                if (user.EmailVerificationCode == null)
                {
                    // Auto-Activate user.  Ability to have email validation exists in the app and to enable it
                    // Uncomment the following line and then change the Email Confirmation Template.
                    user.EmailVerificationCode = DirtyGirlServiceConfig.Settings.UsersMustConfirmEmail ? GenerationEmailConfirmationCode() : null;
                    _repository.SaveChanges();
                }

                IEmailService emailService = new EmailService();
                emailService.SendRegistrationConfirmationEmail(user.UserId);

                return true;
            }
            catch
            {
                return false;
            }
        }
Пример #6
0
        public ActionResult ViewTeam(int teamId)
        {
            var team = _teamService.GetTeamById(teamId);
            var emailService = new EmailService();
            var teamDetails = new vmTeam_Details();
            if (team != null)
            {
                teamDetails = new vmTeam_Details
                                      {
                                          Team = team,
                                          RegistrationList = team.Registrations,
                                          Event = team.Event,
                                          EventWave = GetRegistrationsByEventWave(team.Registrations),
                                          IsTeamMember = (CurrentUser != null && team.Registrations.FirstOrDefault(x => x.UserId == CurrentUser.UserId) != null ? true : false),
                                          User = CurrentUser
                                      };
                var eventDate = team.Event.EventDates.OrderBy(x => x.DateOfEvent).FirstOrDefault() ?? new EventDate();
                var myEventWave = teamDetails.RegistrationList.FirstOrDefault(x => x.User.UserName == User.Identity.Name) ?? new Registration();
                if (myEventWave.EventWave != null && CurrentUser != null)
                {
                    ViewBag.ShareBody = emailService.GetShareBodyText(team, myEventWave.EventWave, CurrentUser, eventDate, false);
                }

            }
            return View(teamDetails);
        }