public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { Int32 NextAdvantageNumber = GetNextAdvantageNumber(); //Add fields to user here so they will be saved to do the database var user = new AppUser { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, MI = model.MI, DOB = model.DOB, Address = model.Address, City = model.City, State = model.State, ZipCode = model.ZipCode, Miles = model.Miles, PhoneNumber = model.PhoneNumber, AdvantageNumber = NextAdvantageNumber + 1, EmpType = model.EmpType, }; var result = await UserManager.CreateAsync(user, model.Password); //Once you get roles working, you may want to add users to roles upon creation await UserManager.AddToRoleAsync(user.Id, "Customer"); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); MailModelsController c = new MailModelsController(); ActionResult newresult = c.RegistrationConfirmed(model); //return View(); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult ShowTotal() { checkoutviewmodel vm = new checkoutviewmodel(); decimal total = vm.Total; Int32 maxID = db.Reservations.Max(x => x.ReservationID); Reservation newestReservation = db.Reservations.Find(maxID); List <Ticket> ReservationWithNewTickets = db.Tickets.Where(x => x.Reservation.ReservationID == newestReservation.ReservationID).ToList(); string UserId = User.Identity.GetUserId(); AppUser LoggedIn = db.Users.Find(UserId); if (LoggedIn.EmpType == "Customer") { newestReservation.PrimaryTravelerID = LoggedIn; db.SaveChanges(); } else if (newestReservation.PrimaryTravelerID == null && (LoggedIn.EmpType == "Agent" || LoggedIn.EmpType == "Manager")) { return(RedirectToAction("ChoosePrimaryTraveler")); } foreach (Ticket ThisTicket in ReservationWithNewTickets) { total += ThisTicket.ActualFare + ThisTicket.EarlyDiscount + ThisTicket.ChildDiscount + ThisTicket.SeniorDiscount + ThisTicket.InternetDiscount; ThisTicket.DiscountedFare = ThisTicket.ActualFare + ThisTicket.EarlyDiscount + ThisTicket.ChildDiscount + ThisTicket.SeniorDiscount + ThisTicket.InternetDiscount; db.SaveChanges(); vm.Email = ThisTicket.Customer.Email; vm.FirstName = ThisTicket.Customer.FirstName; vm.LastName = ThisTicket.Customer.LastName; vm.Flightnumber = ThisTicket.Flight.FlightNumber.Number; vm.SeatName = ThisTicket.Seat.SeatName; vm.AdvantageNumber = ThisTicket.Customer.AdvantageNumber; vm.DepartDateTime = ThisTicket.Flight.DepartDateTime; vm.DiscountedFare = ThisTicket.DiscountedFare; vm.PreTotal += total; MailModelsController c = new MailModelsController(); ActionResult newresult = c.ReservationConfirmed(vm); } vm.Tickets = ReservationWithNewTickets; vm.PreTotal = total; vm.Total = total * 1.0775m; return(View(vm)); }
public ActionResult Edit([Bind(Include = "FlightNumberID,Number,DepartTime,BaseFare,BeenDisabled")] FlightNumber flightNumber, int[] DaysChosenList) { if (ModelState.IsValid) { checkoutviewmodel vm = new checkoutviewmodel(); FlightNumber flightNumbertochange = db.FlightNumbers.Find(flightNumber.FlightNumberID); List <Day> newdeparturedaylist = new List <Day>(); foreach (int Dayofweek in DaysChosenList) { newdeparturedaylist.Add(db.Days.Find(Dayofweek)); } if (flightNumbertochange.DepartureDays.ToList() != newdeparturedaylist) { flightNumbertochange.DepartureDays = newdeparturedaylist; } if (flightNumbertochange.DepartTime != flightNumber.DepartTime) { flightNumbertochange.DepartTime = flightNumber.DepartTime; } if (flightNumbertochange.BaseFare != flightNumber.BaseFare) { flightNumbertochange.BaseFare = flightNumber.BaseFare; } flightNumbertochange.BeenDisabled = flightNumber.BeenDisabled; Boolean safe = false; foreach (Flight flight in db.Flights.Where(c => c.FlightNumber.Number == flightNumbertochange.Number).Where(c => c.DepartDateTime > DateTime.Now).ToList()) { foreach (Day day in flightNumbertochange.DepartureDays) { if (flight.DepartDateTime.Day.ToString() == day.Name) { safe = true; } } DateTime iterate = new DateTime(2017, 12, 8); while (iterate < new DateTime(2017, 12, 26)) { foreach (Day day in flightNumbertochange.DepartureDays) { if (day.Name == iterate.ToString()) { if (db.Flights.Where(c => c.FlightNumber.FlightNumberID == flightNumbertochange.FlightNumberID && c.DepartDateTime.Date == iterate.Date).ToList().Count == 0) { Flight newflight = new Flight(flightNumbertochange.BaseFare, db); newflight.Cancelled = false; newflight.DepartDateTime = iterate + flightNumbertochange.DepartTime; newflight.Departed = false; newflight.FlightNumber = flightNumbertochange; db.Flights.Add(newflight); db.SaveChanges(); } } } iterate += new TimeSpan(24, 0, 0); } if (safe) { //flight time might change flight.DepartDateTime += (flightNumbertochange.DepartTime - flight.DepartDateTime.TimeOfDay); } else { flight.Cancelled = true; Int32 maxID = db.Reservations.Max(x => x.ReservationID); Reservation newestReservation = db.Reservations.Find(maxID); List <Ticket> ReservationWithNewTickets = db.Tickets.Where(x => x.Reservation.ReservationID == newestReservation.ReservationID).ToList(); foreach (Ticket ThisTicket in ReservationWithNewTickets) { vm.Email = ThisTicket.Customer.Email; vm.FirstName = ThisTicket.Customer.FirstName; vm.LastName = ThisTicket.Customer.LastName; vm.Flightnumber = ThisTicket.Flight.FlightNumber.Number; vm.DepartDateTime = ThisTicket.Flight.DepartDateTime; } MailModelsController c = new MailModelsController(); ActionResult newresult = c.FlightCancelled(vm); } if (flightNumbertochange.BeenDisabled == true) { flight.Cancelled = true; //TODO: DELETE THE FLIGHT BUT FIRST FIND OUT WHO ALL IS ON THE FLIGHT } flight.ActualFare = flightNumbertochange.BaseFare; //TODO: EMAIL THE PEOPLE OF THE CHANGES MY DUDES } db.Entry(flightNumbertochange).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(flightNumber)); }