public ReviewRewardsController(RewardService rewardService, EmailSender emailSender,
                                IMapper mapper, ILogger <ReviewRewardsController> logger)
 {
     _rewardService = rewardService;
     _emailSender   = emailSender;
     _logger        = logger;
 }
Exemple #2
0
 public AttachmentController(EventService eventService, RewardService rewardService,
                             FileService fileService, ILogger <AttachmentController> logger)
 {
     _eventService  = eventService;
     _rewardService = rewardService;
     _fileService   = fileService;
     _logger        = logger;
 }
 public GameController(GameService gameService, SpotService spotService, RewardService rewardService, IntersectionGameSpotService intersectionGameSpotService, IntersectionGameRewardService intersectionGameRewardService)
 {
     GameService   = gameService;
     SpotService   = spotService;
     RewardService = rewardService;
     IntersectionGameSpotService   = intersectionGameSpotService;
     IntersectionGameRewardService = intersectionGameRewardService;
 }
Exemple #4
0
 public EmailController(EventService eventService, RewardService rewardService, EmailSender emailSender,
                        IAuthorizationService authorizationService, ILogger <EmailController> logger)
 {
     _eventService         = eventService;
     _rewardService        = rewardService;
     _emailSender          = emailSender;
     _authorizationService = authorizationService;
     _logger = logger;
 }
        public IActionResult AddGame()
        {
            AddGameViewModel addGameViewModel = new AddGameViewModel
            {
                Spots   = SpotService.GetAllSpots(),
                Rewards = RewardService.GetAllRewards(),
            };

            return(View(addGameViewModel));
        }
 public MyRewardsController(RewardService rewardService, FileService fileService, EmailSender emailSender,
                            IAuthorizationService authorizationService, IMapper mapper, ILogger <MyRewardsController> logger)
 {
     _rewardService        = rewardService;
     _fileService          = fileService;
     _emailSender          = emailSender;
     _authorizationService = authorizationService;
     _mapper = mapper;
     _logger = logger;
 }
        public IActionResult Edit(Guid Id)
        {
            EditGameViewModel EditGameViewModel = new EditGameViewModel
            {
                Spots   = SpotService.GetAllSpots(),
                Rewards = RewardService.GetAllRewards(),
                IntersectionGameSpots   = IntersectionGameSpotService.GetAllIntersections(),
                IntersectionGameRewards = IntersectionGameRewardService.GetAllIntersections(),
                GameModel = GameService.GetGameFromGameId(Id)
            };

            return(View(EditGameViewModel));
        }
Exemple #8
0
 public ProfileController(UserManager <User> userManager, SignInManager <User> signInManager,
                          UserService userService, EventService eventService, RewardService rewardService,
                          ProgramService programService, IMapper mapper, ILogger <ProfileController> logger)
 {
     _userManager    = userManager;
     _signInManager  = signInManager;
     _userService    = userService;
     _eventService   = eventService;
     _rewardService  = rewardService;
     _programService = programService;
     _mapper         = mapper;
     _logger         = logger;
 }
Exemple #9
0
        public BillingController(IAuditsRepository auditsRepository, Database _Connection)
        {
            Connection        = _Connection;
            _auditsRepository = auditsRepository;

            RewardBands = Connection.RewardBands.Select(x => new RewardBand
            {
                Max    = x.Max,
                Min    = x.Min,
                Rank   = x.Rank,
                Reward = x.Reward
            }).ToList <RewardBand>();

            rewardService = new RewardService(RewardBands);
        }
 public App42RewardService()
 {
     rewardName = "Golden Reward" + DateTime.Now.Millisecond;
     rewardService = App42API.BuildRewardService();
     if (Constant.sessionId != null && Constant.sessionId != "")
     {
         rewardService.SetSessionId(Constant.sessionId);
     }
     if (Constant.adminKey != null && Constant.adminKey != "")
     {
         rewardService.SetAdminKey(Constant.adminKey);
     }
     this.InitializeComponent();
     this.navigationHelper = new NavigationHelper(this);
     this.navigationHelper.LoadState += navigationHelper_LoadState;
 }
Exemple #11
0
        public void Init()
        {
            var eligibilityService = new MockEligibilityService();

            _mockRepository         = new Mock <IRepository <Reward> >();
            _mockCustomerRepository = new Mock <IRepository <Customer> >();
            _loggerFactory          = new LoggerFactory();

            _loggerFactory.AddDebug();

            _rewardService = new RewardService(
                eligibilityService,
                _mockRepository.Object,
                _mockCustomerRepository.Object,
                _loggerFactory);
        }
Exemple #12
0
        public Discount CreateDiscount(DiscountType discountType, Event.Event @event, decimal discountAmount)
        {
            switch (discountType)
            {
            case DiscountType.HostSpecial:

                var hostSpecialReward = new RewardService().GetHostSpecialReward(@event.ActualDate);

                hostSpecialReward.DiscountAmount  = @event.HostSpecialReward.DiscountAmount;
                hostSpecialReward.ItemCode        = @event.HostSpecialReward.ItemCode;
                hostSpecialReward.SalesThreshold  = @event.HostSpecialReward.SalesThreshold;
                hostSpecialReward.HasBeenRedeemed = @event.HostSpecialReward.HasBeenRedeemed;

                return(hostSpecialReward);

            default:
                throw new NotImplementedException(string.Format("No implementation for {0}.", discountType));
            }
        }
Exemple #13
0
        /// <summary>
        /// This method returns the list of item codes which the customer has already purchased.
        /// </summary>
        protected IList <string> RedeemedandExpiredItemCodes()
        {
            List <string> itemCodes = new List <string>();
            var           rewards   = RewardService.GetCustomerEbRewardDiscounts(CustomerId);

            foreach (var reward in rewards)
            {
                string sku = reward.ItemCode;

                // There shouldn't be any duplicates but it is better to perform the check just in case versus having the application crash...
                // AzamNote: This is where we let the reward be redeemable for 30 days after completion!!!
                if (!itemCodes.Contains(sku) && (reward.HasBeenRedeemed || DateTime.Now >= reward.CompletionDate))
                {
                    itemCodes.Add(sku);
                }
            }

            return(itemCodes);
        }
        private void LinkGameToRewards(ICollection <string> formKeys, GameModel game)
        {
            List <Reward> allRewards = RewardService.GetAllRewards();

            foreach (string key in formKeys)
            {
                foreach (Reward reward in allRewards)
                {
                    if (reward.Id.ToString() == key)
                    {
                        IntersectionGameReward intersectionGameReward = new IntersectionGameReward
                        {
                            GameId   = game.Id,
                            RewardId = reward.Id
                        };
                        IntersectionGameRewardService.AddIntersection(intersectionGameReward);
                    }
                }
            }
        }
Exemple #15
0
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            App42API.Initialize(Constants.API_KEY, Constants.SECRET_KEY);
            GameService       gameService       = App42API.BuildGameService();
            ScoreBoardService scoreBoardService = App42API.BuildScoreBoardService();
            ScoreService      scoreService      = App42API.BuildScoreService();
            RewardService     rewardService     = App42API.BuildRewardService();
            UserService       userService       = App42API.BuildUserService();

            // Set the data context of the listbox control to the sample data
            DataContext = App.ViewModel;


            username.Text = Global.localUsername.ToUpper();
            email.Text    = Global.email;
            // Sample code to localize the ApplicationBar
            //BuildLocalizedApplicationBar();
            scoreBoardService.GetTopNRankers("xp_game", 15, this);
            userService.GetUser(Global.localUsername, this);
        }
Exemple #16
0
        /// <summary>
        /// This method returns all active reward products for this reward.
        /// </summary>
        public IList <Product> GetActiveRewardProducts(IList <Product> productsInShoppingCart)
        {
            if (!isEligible)
            {
                throw new Exception("IsEligible must be called first to ensure the customer is eligible for any discounts.");
            }

            IList <string> ebRewardProductsInCart = productsInShoppingCart.Where(p => p.Discounts.Any(d => d.DiscountType == DiscountType.EBRewards)).Select(p => p.ItemCode).ToList();

            var activeRewardProducts = new List <Product>();
            var rewards = RewardService.GetCustomerEbRewardDiscounts(CustomerId)
                          // AzamNote: This is where we let the reward be redeemable for 30 days after completion!!!
                          .Where(ebr => !ebr.HasBeenRedeemed && ebr.CompletionDate >= DateTime.Now);

            foreach (var reward in rewards)
            {
                var product = ProductService.GetProductByItemCode(reward.ItemCode, returnLongDetail: false);
                if (ebRewardProductsInCart.Contains(product.ItemCode))
                {
                    continue;
                }
                var discount = new EBRewardDiscount()
                {
                    CustomerExtendedDetailId = reward.CustomerExtendedDetailId,
                    ItemCode        = reward.ItemCode,
                    DiscountAmount  = reward.DiscountPercent,
                    DiscountPercent = reward.DiscountPercent,
                    DiscountType    = DiscountType.EBRewards,
                    PhaseNumber     = reward.PhaseNumber,
                    HasBeenRedeemed = reward.HasBeenRedeemed,
                    CompletionDate  = reward.CompletionDate,
                };

                product.EligibleDiscounts.Add(discount);
                activeRewardProducts.Add(product);
            }

            return(activeRewardProducts);
        }
Exemple #17
0
        static void Main(string[] args)
        {
            //insert
            using var Crwdfunddb = new CrowdfundDB();
            {
                //var user = new User()
                //{
                //    UserName = "******",
                //    Email = "*****@*****.**",
                //};

                //Crwdfunddb.Add(user);


                //var user = new User()
                //{
                //    UserName = "******",
                //    Email = "*****@*****.**",
                //};
                //var user2 = new User()
                //{
                //    UserName = "******",
                //    Email = "*****@*****.**",
                //};


                //Crwdfunddb.Add(user);
                //Crwdfunddb.Add(user2);
                //Crwdfunddb.SaveChanges();

                ////get data

                //var user2 = Crwdfunddb
                //    .Set<User>()
                //    .Where(c => c.UserId == 2)
                //    .SingleOrDefault();
                //var project = new Project()
                //{

                //    Title = "Fourth PROJECT",
                //    Description = "Project cgnbkc",
                //    Category = ProjectCategory.Crafts,
                //    Deadline = new DateTime(2020, 11, 21),
                //    TotalFund = 4000,
                //};

                //project.AvailableRewards.Add(new Reward()
                //{
                //    Title = "First Reward of 4 project",
                //    Description = " Beta Version",
                //    Price = 150,

                //});
                //project.AvailableRewards.Add(new Reward()
                //{
                //    Title = "Second Reward of 4 project",
                //    Description = " Full Version",
                //    Price = 250,
                //});

                //user2.Projects.Add(project);
                //Crwdfunddb.SaveChanges();

                //var user1 = Crwdfunddb
                //    .Set<User>()
                //    .Where(c => c.UserId == 1)
                //    .SingleOrDefault();


                //var user2 = Crwdfunddb
                //   .Set<User>()
                //   .Where(c => c.UserId == 2)
                //   .SingleOrDefault();
                //var project = Crwdfunddb
                //   .Set<Project>()
                //   .Where(c => c.ProjectId == 2)
                //   .SingleOrDefault();
                //var reward1 = Crwdfunddb
                //   .Set<Reward>()
                //   .Where(c => c.RewardId == 3)
                //   .SingleOrDefault();
                //var rewarduser = new RewardUser()
                //{
                //    Quantity = 2,
                //    User = user2,
                //    Reward = reward1
                //};
                //project.RewardUsers.Add(rewarduser);
                //Crwdfunddb.SaveChanges();

                //var success = projectService.CreateProject(new CreateProjectOptions()
                //{
                //    CreatorId = 1,
                //    Category = ProjectCategory.Dance,
                //    Deadline = new DateTime(2020, 4, 4),
                //    Description = "my new dance moves",
                //    Title = "Third Project",
                //    TotalFund = 40,

                //});

                //var doublesuccess = projectService.SearchProjects(new SearchProjectOptions()
                //{
                //    CreatorId = 1,
                //}).ToList();


                using (var context = new CrowdfundDB())
                {
                    IUserService       userService       = new UserService(context);
                    IProjectService    projectService    = new ProjectService(context, userService);
                    IRewardService     rewardService     = new RewardService(context, projectService);
                    IRewardUserService rewardUserService = new RewardUserService(context, userService, projectService, rewardService);

                    var test = userService.CreateUser(new CreateUserOptions {
                        UserName = "******", Email = "*****@*****.**"
                    });
                    //var test2 = projectService.CreateProject(new CreateProjectOptions { Category = ProjectCategory.Art });

                    //string print = string.Join("\n", test.Select(x => new { x.Email }).ToList());
                    //Console.WriteLine(print);



                    //var test2 = projectService.CalculateCurrentFund(projectService.GetProjectById(1));
                }
            }
        }
        static void Main(string[] args)
        {
            var dbCtx = new DataContext(null);

            var userSvc    = new UserService(dbCtx);
            var rewardSvc  = new RewardService(dbCtx);
            var mediaSvc   = new MediaService(dbCtx);
            var postSvc    = new PostService(dbCtx);
            var projectSvc = new ProjectService(dbCtx, userSvc, rewardSvc, mediaSvc, postSvc);
            var backingSvc = new BackingService(dbCtx, userSvc, projectSvc);

            // ===============================================================//

            //------------Create users----------------------------//

            /*var user1 = userSvc.CreateUser(new CreateUserOptions
             * {
             *  Email = "*****@*****.**",
             *  FirstName = "julie",
             *  LastName = "kon",
             *  Address = "Aris"
             * });
             * Console.WriteLine(user1.Data.FirstName);*/


            //var user2 = userSvc.CreateUser(new CreateUserOptions
            //{
            //    Email = "*****@*****.**",
            //    FirstName = "julie",
            //    LastName = "kon",
            //     Address = "Kalamata"
            //});
            //Console.WriteLine(user2.UserId);

            //--------------Get user by id---------------------------//

            //var user = userSvc.GetUserById(3);

            //Console.WriteLine(user.FirstName);


            //--------------Search user--------------//

            //var user = userSvc.SearchUser(new Services.SearchOptions.SearchUserOptions()
            //{
            //    FirstName = "Xaris"
            //}).FirstOrDefault();

            //Console.WriteLine(user.Email);

            //----------Update user---------------------//

            //var user = userSvc.UpdateUser(new Services.UpdateOptions.UpdateUserOptions()
            //{
            //    Address = "Kalamata55",
            //    UserId = 3
            //});


            //----------------Create TestUser1's Project---------------//

            var project = projectSvc.CreateProject(1, new CreateProjectOptions
            {
                Title        = "Project 2",
                MainImageUrl = "assadsddasdf",
                Description  = "aeroplano",
                CategoryId   = 5,
                DueTo        = new DateTime(2020, 12, 15),
                Goal         = 55555
            });


            dbCtx.Dispose();
        }
 public RewardController(RewardService rewardService)
 {
     RewardService = rewardService;
 }
Exemple #20
0
    void OnGUI()
    {
        if (Time.time % 2 < 1)
        {
            success = callBack.getResult();
        }
        // For Setting Up ResponseBox.
        GUI.TextArea(new Rect(10, 5, 1300, 175), success);

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(50, 200, 200, 30), "CreateReward"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.CreateReward(cons.rewardName, rewardDescription, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(260, 200, 200, 30), "GetAllRewards"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetAllRewards(callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(470, 200, 200, 30), "GetRewardByName"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetRewardByName(cons.rewardName, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(680, 200, 200, 30), "EarnRewards"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.EarnRewards(cons.gameName, cons.userName, cons.rewardName, rewardPoints1, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(890, 200, 200, 30), "RedeemRewards"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.RedeemRewards(cons.gameName, cons.userName, cons.rewardName, rewardPoints1, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(50, 250, 200, 30), "GetGameRewardPointsForUser"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetGameRewardPointsForUser(cons.gameName, cons.userName, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(260, 250, 200, 30), "GetAllRewardsByPaging"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetAllRewards(max, offSet, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(470, 250, 200, 30), "GetAllRewardsCount"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetAllRewardsCount(callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(680, 250, 200, 30), "GetTopNRewardEarners"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetTopNRewardEarners(cons.gameName, cons.rewardName, max, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(890, 250, 200, 30), "GetAllRewardsByUser"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetAllRewardsByUser(cons.userName, cons.rewardName, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(50, 300, 200, 30), "GetTopNRewardEarnersByGroup"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            IList <string> userList = new List <string> ();
            userList.Add(cons.userName);
            userList.Add(cons.userName1);
            rewardService.GetTopNRewardEarnersByGroup(cons.gameName, cons.rewardName, userList, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button(new Rect(260, 300, 200, 30), "GetUserRankingOnReward"))
        {
            rewardService = sp.BuildRewardService();              // Initializing Reward Service.
            rewardService.GetUserRankingOnReward(cons.gameName, cons.rewardName, cons.userName, callBack);
        }
    }
 public RewardsController(RewardService rewardService, IMapper mapper, ILogger <RewardsController> logger)
 {
     _rewardService = rewardService;
     _mapper        = mapper;
     _logger        = logger;
 }
    void OnGUI()
    {
        if (Time.time % 2 < 1) {
            success = callBack.getResult ();
        }
        // For Setting Up ResponseBox.
        GUI.TextArea (new Rect (10, 5, 1300, 175), success);

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (50, 200, 200, 30), "CreateReward")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.CreateReward (cons.rewardName, rewardDescription, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (260, 200, 200, 30), "GetAllRewards")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetAllRewards (callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (470, 200, 200, 30), "GetRewardByName")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetRewardByName (cons.rewardName, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (680, 200, 200, 30), "EarnRewards")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.EarnRewards (cons.gameName, cons.userName, cons.rewardName, rewardPoints1, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (890, 200, 200, 30), "RedeemRewards")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.RedeemRewards (cons.gameName, cons.userName, cons.rewardName, rewardPoints1, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (50, 250, 200, 30), "GetGameRewardPointsForUser")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetGameRewardPointsForUser (cons.gameName, cons.userName, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (260, 250, 200, 30), "GetAllRewardsByPaging")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetAllRewards (max, offSet, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (470, 250, 200, 30), "GetAllRewardsCount")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetAllRewardsCount (callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (680, 250, 200, 30), "GetTopNRewardEarners")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetTopNRewardEarners (cons.gameName, cons.rewardName, max, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (890, 250, 200, 30), "GetAllRewardsByUser")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetAllRewardsByUser (cons.userName, cons.rewardName, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (50, 300, 200, 30), "GetTopNRewardEarnersByGroup")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            IList<string> userList = new List<string> ();
            userList.Add (cons.userName);
            userList.Add (cons.userName1);
            rewardService.GetTopNRewardEarnersByGroup (cons.gameName, cons.rewardName, userList, callBack);
        }

        //======================================{{{{************}}}}==========================================
        if (GUI.Button (new Rect (260, 300, 200, 30), "GetUserRankingOnReward")) {
            rewardService = sp.BuildRewardService (); // Initializing Reward Service.
            rewardService.GetUserRankingOnReward (cons.gameName, cons.rewardName, cons.userName, callBack);
        }
    }
Exemple #23
0
 public HomeController(EventService eventService, RewardService rewardService, ILogger <HomeController> logger)
 {
     _eventService  = eventService;
     _rewardService = rewardService;
     _logger        = logger;
 }
 public RewardPlayerKill GetRenownBandReward(int renownBand)
 {
     return(RewardService.GetPlayerKillReward(renownBand));
 }
        // TODO: This method can replace the other AddToCart method once it's implemented.
        protected ActionResult AddToCart(Product product, Discount discount = null, IIndividualReward reward = null, Event @event = null)
        {
            var shoppingCart = GetShoppingCart();

            try
            {
                while (product.Discounts.Any())
                {
                    product.UnapplyDiscount(product.Discounts.First());
                }

                // Add the product to the order.
                var p = product.AddToOrder(shoppingCart);

                RewardsAccount pointAccount = null;

                // Validate that the discount can be applied
                // to the product using our validator.
                if (null != discount)
                {
                    bool eventAllowsDiscount  = shoppingCart.ShopperIsHost || shoppingCart.ShopperIsEventSa; // || shoppingCart.ShopperIsBookingRewardsOwner;
                    bool rewardAllowsDiscount = reward != null && reward.IsRewardDiscount(discount) && reward.AllowAddToCart(product, shoppingCart.Products);

                    if ((eventAllowsDiscount || rewardAllowsDiscount) && DiscountValidator.IsValidFor(discount, p, @event))
                    {
                        // TODO: Need to find a better way to map discounts and which point accounts
                        // are deducted based on the discount.
                        switch (discount.DiscountType)
                        {
                        case DiscountType.RewardsCash:
                            pointAccount            = shoppingCart.GetRewardsAccount(PointAccounts.HostRewardsCash);
                            discount.DiscountAmount = pointAccount.AmountRemaining;
                            break;

                        case DiscountType.RecruitingReward:
                            pointAccount            = shoppingCart.GetRewardsAccount(PointAccounts.RecruitingRewards);
                            discount.DiscountAmount = pointAccount.AmountRemaining;
                            break;

                        case DiscountType.EnrolleeReward:
                            pointAccount            = shoppingCart.GetRewardsAccount(PointAccounts.EnrolleeRewards);
                            discount.DiscountAmount = pointAccount.AmountRemaining;
                            break;

                        case DiscountType.HalfOffCredits:
                            pointAccount = shoppingCart.GetRewardsAccount(PointAccounts.Host12offcredits);
                            break;

                        //case DiscountType.BookingRewards:
                        //    pointAccount = shoppingCart.GetRewardsAccount(PointAccounts.BookingsRewardsCash);
                        //    discount.DiscountAmount = pointAccount.AmountRemaining;
                        //    break;
                        case DiscountType.HostSpecial:
                            // TODO: Look into why DI is broken on AJAX calls, seemingly.
                            var hostSpecialReward = new RewardService().GetHostSpecialReward(shoppingCart.EventId.Value);
                            // TODO: Need to validate that the discount exceeds the sales threshold in an IDiscountValidator
                            discount.DiscountAmount = hostSpecialReward.DiscountAmount;
                            break;

                        case DiscountType.Unknown:
                            break;

                        case DiscountType.Fixed:
                            break;

                        case DiscountType.Percent:
                            break;

                        case DiscountType.EBRewards:
                            break;

                        case DiscountType.SAHalfOff:
                            break;

                        case DiscountType.SAHalfOffOngoing:
                            break;

                        case DiscountType.NewProductsLaunchReward:
                            break;

                        case DiscountType.RetailPromoFixed:
                            break;

                        case DiscountType.RetailPromoPercent:
                            break;

                        case DiscountType.PromoCode:
                            break;

                        default:
                            throw new ArgumentOutOfRangeException();
                        }

                        if ((pointAccount == null && discount.DiscountAmount > 0M) || (pointAccount != null && pointAccount.AmountRemaining > 0M))
                        {
                            p.ApplyDiscount(discount);
                        }
                        else
                        {
                            // TODO: Need implement error handling at the client for JSON response
                            //ModelState.AddModelError("RewardsError", "The applied rewards amount exceeds the current balance.");
                        }
                    }
                }

                return(new JsonNetResult(new
                {
                    status = 200, cart = shoppingCart
                }));
            }
            catch (Exception)
            {
                return(new JsonNetResult(new
                {
                    status = 500, cart = shoppingCart
                }));
            }
        }
Exemple #26
0
 public HomeController(UserService userService, RewardService rewardService)
 {
     _userService   = userService;
     _rewardService = rewardService;
 }
Exemple #27
0
        public Api(string node)
        {
            initOss();
            netnode = node;
            switch (netnode)
            {
            case "testnet":

                rs = new RewardService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_testnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_testnet,
                    oss        = oss,
                    bucketName = mh.bucketName_testnet,
                };
                fs = new FinanceService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_testnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_testnet,
                };
                ds = new DiscussService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_testnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_testnet,
                    tokenUrl            = mh.tokenUrl_testnet,
                };
                ps = new ProjService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_testnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_testnet,
                    tokenUrl            = mh.tokenUrl_testnet,
                    oss        = oss,
                    bucketName = mh.bucketName_testnet,
                };
                us = new UserService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_testnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_testnet,
                    tokenUrl            = mh.tokenUrl_testnet,
                    oss        = oss,
                    bucketName = mh.bucketName_testnet
                };
                usV3 = new UserServiceV3
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_testnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_testnet,
                    tokenUrl            = mh.tokenUrl_testnet,
                    oss        = oss,
                    bucketName = mh.bucketName_testnet
                };
                ms = new MoloService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_testnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_testnet,
                    us         = usV3,
                    oss        = oss,
                    bucketName = mh.bucketName_testnet
                };
                break;

            case "mainnet":
                usV3 = new UserServiceV3
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_mainnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_mainnet,
                    tokenUrl            = mh.tokenUrl_mainnet,
                    oss        = oss,
                    bucketName = mh.bucketName_mainnet
                };
                ms = new MoloService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_mainnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_mainnet,
                    us         = usV3,
                    oss        = oss,
                    bucketName = mh.bucketName_mainnet
                };
                rs = new RewardService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_mainnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_mainnet,
                    oss        = oss,
                    bucketName = mh.bucketName_mainnet,
                };
                ds = new DiscussService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_mainnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_mainnet,
                    tokenUrl            = mh.tokenUrl_mainnet,
                };
                ps = new ProjService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_mainnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_mainnet,
                    tokenUrl            = mh.tokenUrl_mainnet,
                    oss        = oss,
                    bucketName = mh.bucketName_mainnet,
                };
                us = new UserService
                {
                    mh = mh,
                    dao_mongodbConnStr  = mh.dao_mongodbConnStr_mainnet,
                    dao_mongodbDatabase = mh.dao_mongodbDatabase_mainnet,
                    tokenUrl            = mh.tokenUrl_mainnet,
                    oss        = oss,
                    bucketName = mh.bucketName_mainnet
                };
                break;
            }
        }
Exemple #28
0
 public RewardsPageViewModel(RewardService rewardService)
 {
     this._rewardService = rewardService;
 }