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; } } }
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 })); } }
public IHttpActionResult Put(WebTicket webTicket) { string response = crudFuction.BizUpdateTicket(webTicket.WebTicketToBizTicket()); if (!response.Equals("EXITO")) { return(BadRequest(response)); } else { return(Ok(response)); } }
/// <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); }