Beispiel #1
0
        public List <string> PostWebTicketToDb(WebTicket webTicket, string userId)
        {
            var response = new List <string>();

            webTicket.UserBalance = GetUserWalletBalance(userId).Amount;
            webTicket.User        = _context.ApplicationUsers.FirstOrDefault(x => x.Id == userId);

            var result = _ticketValidator.Validate(webTicket);

            if (!result.IsValid)
            {
                foreach (var error in result.Errors)
                {
                    response.Add(error.ToString());
                }
                return(response);
            }
            else
            {
                try
                {
                    var ticket = new Ticket
                    {
                        TicketCode                 = Service.GenerateTicketCode(),
                        Stake                      = webTicket.Stake,
                        PossibleReturn             = webTicket.PossibleReturn,
                        StakeWithManipulationCosts = webTicket.StakeWithManipulationCosts,
                        TicketMatches              = webTicket.TicketMatches.ToList(),
                        TotalMatchesCoefficient    = webTicket.TotalMatchesCoefficient,
                        ApplicationUserId          = userId
                    };

                    _context.Tickets.Add(ticket);

                    foreach (var match in webTicket.TicketMatches)
                    {
                        _context.TicketMatches.Add(match);
                    }

                    _context.SaveChanges();

                    var withdrawTransaction = new WebWallet
                    {
                        Amount = -webTicket.Stake,
                    };

                    MakeTransaction(withdrawTransaction, userId);

                    return(response);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
Beispiel #2
0
        public IActionResult PostTicket(WebTicket webTicket, string userId)
        {
            var response = _webBetQueries.PostWebTicketToDb(webTicket, userId);

            if (response.Count == 0)
            {
                return(Ok());
            }
            else
            {
                return(BadRequest(new { message = response }));
            }
        }
Beispiel #3
0
        public IHttpActionResult Put(WebTicket webTicket)
        {
            string response = crudFuction.BizUpdateTicket(webTicket.WebTicketToBizTicket());

            if (!response.Equals("EXITO"))
            {
                return(BadRequest(response));
            }
            else
            {
                return(Ok(response));
            }
        }
Beispiel #4
0
        /// <summary>
        /// Bizs the ticket to web ticket.
        /// </summary>
        /// <param name="DataTicket">The data ticket.</param>
        /// <returns>WebTicket.</returns>
        public static WebTicket BizTicketToWebTicket(this BizTicket DataTicket)
        {
            WebTicket webTicket = new WebTicket
            {
                Id               = DataTicket.Id,
                UserId           = DataTicket.UserId,
                EventualityId    = DataTicket.EventualityId,
                StatusId         = DataTicket.StatusId,
                Nombre           = DataTicket.Nombre,
                EventualityName  = DataTicket.EventualityName,
                StatusName       = DataTicket.StatusName,
                CreationDate     = DataTicket.CreationDate,
                ModificationDate = DataTicket.ModificationDate,
            };

            return(webTicket);
        }