public async System.Threading.Tasks.Task <ActionResult> Acheter(TicketViewModels ticketvm) { try { uint nbTicketSurLaCarte = 0; IdentityModels userIdentity = await UserManager.FindByEmailAsync(User.Identity.Name); if (userIdentity != null) { var cartes = userIdentity.CarteModels; CarteModels carte = cartes.ElementAt(0); nbTicketSurLaCarte = (uint)carte.TicketModels.Count; if (carte != null) { ICollection <TicketModels> ticketList; if (carte.TicketModels == null) { ticketList = new List <TicketModels>(); } else { ticketList = carte.TicketModels; } for (int i = 0; i < ticketvm.nbTicket; i++) { TicketModels ticket = new TicketModels(); ticket.CarteModelsID = carte.Id; int tarifId = bdd.TarifModels.ToList().Find(t => t.type.Contains("ticket")).Id; ticket.TarifModelsID = tarifId; ticketList.Add(ticket); bdd.TicketModels.Add(ticket); } //carte.TicketModels = ticketList; // bdd.CarteModels.Add(carte); bdd.SaveChanges(); } } ticketvm.nbTicket = (uint)ticketvm.nbTicket + nbTicketSurLaCarte; ticketvm.prixTicket = bdd.TarifModels.Find(3).prix; //return RedirectToAction("Index"); return(View(ticketvm)); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(View(ticketvm)); } }
public ActionResult Souscrire(AbonnementViewModels abo, string nameOfType) { try { CarteModels carteUser = carte.findCarteByUser(User.Identity.Name); AbonnementModels abonnement = new AbonnementModels { TypeAbonnementModelsID = bdd.TypeAbonnementModels.ToList().Find(t => t.Intitule.Contains(nameOfType)).Id, CarteModelsID = carteUser.Id, }; bdd.AbonnementModels.Add(abonnement); //carteUser.AbonnementsModels = carteUser.AbonnementsModels.Add(); bdd.SaveChanges(); return(RedirectToAction("Index", "Home")); } catch { return(View()); } }