Beispiel #1
0
        public async Task <ActionResult> ClaimPrizeModal(int prizeId)
        {
            var userId = User.Identity.GetUserId <int>();
            var prize  = await PrizeReader.GetUserPrize(userId, prizeId);

            if (prize.Type != PrizeType.Crypto)
            {
                return(RedirectToAction("ViewUserPrizeModal", new { prizeId = prizeId }));
            }

            var paymentMethod = await PaymentReader.GetMethod(prize.Data);

            return(View(new ClaimPrizeModel
            {
                Id = prize.Id,
                Name = prize.Name,
                Description = prize.Description,
                Game = prize.Game,
                Points = prize.Points,
                Status = prize.Status,
                Type = prize.Type,
                X = prize.X,
                Y = prize.Y,

                Data = prize.Data,
                Data2 = prize.Data2,
                Data3 = prize.Data3,
                Data4 = prize.Data4,

                Rate = paymentMethod.Rate,
                Amount = decimal.Parse(prize.Data2)
            }));
        }
Beispiel #2
0
 public async Task <ActionResult> Game()
 {
     return(View(new AdminGameViewModel
     {
         Games = await GameReader.GetGames(),
         Prizes = await PrizeReader.GetPrizes(),
     }));
 }
Beispiel #3
0
        public async Task <ActionResult> ClaimPrizeModal(ClaimPrizeModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var userId = User.Identity.GetUserId <int>();
            var prize  = await PrizeReader.GetUserPrize(userId, model.Id);

            if (prize.Status != PrizeStatus.Unclaimed)
            {
                return(CloseModalSuccess());
            }

            if (model.IsPointsClaim)
            {
                var paymentMethod = await PaymentReader.GetMethod(prize.Data);

                if (paymentMethod == null)
                {
                    return(CloseModalError("Unknown Error"));
                }

                var paymentUserMethod = await PaymentReader.GetUserMethod(userId, paymentMethod.Id);

                if (paymentUserMethod == null)
                {
                    await PaymentWriter.CreateMethod(userId, paymentMethod.Id);
                }

                paymentUserMethod = await PaymentReader.GetUserMethod(userId, paymentMethod.Id);

                if (paymentUserMethod == null)
                {
                    return(CloseModalError("Unknown Error"));
                }

                model.Data3 = paymentUserMethod.Data;
            }

            if (string.IsNullOrEmpty(model.Data3))
            {
                ModelState.AddModelError("", "Invalid Crypto Address");
                return(View(model));
            }

            var result = await PrizeWriter.ClaimPrize(userId, model);

            if (!ModelState.IsWriterResultValid(result))
            {
                return(View(model));
            }

            return(CloseModalSuccess());
        }
Beispiel #4
0
        public async Task <ActionResult> ViewPrizesModal(int gameId)
        {
            var game = await GameReader.GetGame(gameId);

            return(View(new ViewPrizesModalModel
            {
                Game = game,
                Prizes = await PrizeReader.GetPrizes(game.Id)
            }));
        }
Beispiel #5
0
        public LottoController(IOptions <JwtIssuerOptions> jwtOptions, AppDbContext dbContext, WinnerReader winnerReader, PrizeReader prizeReader, PipeClient pipeClient, dForcast forcast)
        {
            __usermgr    = new UserManager(jwtOptions.Value);
            __db_context = dbContext;

            __winner_reader = winnerReader;
            __prize_reader  = prizeReader;

            __pipe_client   = pipeClient;
            __prize_forcast = forcast;
        }
Beispiel #6
0
        public async Task <ActionResult> Index()
        {
            var prizes = await PrizeReader.GetPrizes();

            return(View(new PrizesViewModel
            {
                Prizes = prizes
                         .Where(x => x.GameStatus != GameStatus.Finished)
                         .ToList()
            }));
        }
Beispiel #7
0
        public async Task <ActionResult> ViewPrizeModal(int prizeId)
        {
            var prize = await PrizeReader.GetPrize(prizeId);

            var game = await GameReader.GetGame(prize.GameId);

            return(View(new ViewPrizeModalModel
            {
                Game = game,
                Prize = prize
            }));
        }
Beispiel #8
0
        public async Task <ActionResult> ViewUserPrizeModal(int prizeId)
        {
            var userId = User.Identity.GetUserId <int>();
            var prize  = await PrizeReader.GetUserPrize(userId, prizeId);

            var game = await GameReader.GetGame(prize.GameId);

            return(View(new ViewUserPrizeModalModel
            {
                Game = game,
                Prize = prize
            }));
        }
Beispiel #9
0
        public async Task <ActionResult> UpdatePrizePoolModal(int gameId, string name)
        {
            var prizes = await PrizeReader.GetPrizes(gameId);

            var prize = prizes.FirstOrDefault(x => x.Name == name);

            return(View(new UpdatePrizePoolModel
            {
                GameId = gameId,
                Name = prize.Name,
                Description = prize.Description,
                NewName = prize.Name
            }));
        }
Beispiel #10
0
        public async Task <ActionResult> UpdatePrizePaymentModal(int prizeId)
        {
            var prize = await PrizeReader.GetPrizePayment(prizeId);

            return(View(new UpdatePrizePaymenModel
            {
                Id = prize.Id,
                Name = prize.Name,
                Status = prize.Status,
                Data = prize.Data,
                Data2 = prize.Data2,
                Data3 = prize.Data3,
                Data4 = prize.Data4,
            }));
        }
Beispiel #11
0
 public async Task <ActionResult> GetPrizePayments(DataTablesParam model)
 {
     return(DataTable(await PrizeReader.GetPrizePayments(model)));
 }
Beispiel #12
0
 public async Task <ActionResult> GetUserHistory(DataTablesParam model)
 {
     return(DataTable(await PrizeReader.GetUserHistory(model, User.Identity.GetUserId <int>(), null)));
 }
Beispiel #13
0
 public async Task <ActionResult> GetGameHistory(DataTablesParam model, int gameId)
 {
     return(DataTable(await PrizeReader.GetGameHistory(model, gameId)));
 }
Beispiel #14
0
 public async Task <ActionResult> GetHistory(DataTablesParam model)
 {
     return(DataTable(await PrizeReader.GetHistory(model)));
 }