public ActionResult GetForms(List <string> seats, SeatInCarr model) { string validFormat = "MM.dd.yyyy HH:mm:ss"; CultureInfo provider = new CultureInfo("en-US"); List <string> typesList = new List <string>(); typesList = personServ.GetAllPersonTypes(); SelectList types = new SelectList(typesList, typesList[0]); ForCreateForms param = new ForCreateForms { TrainNumber = model.TrainNumber, DepartDateTime = DateTime.ParseExact(model.DepartDateTime, validFormat, provider), PersonTypes = types, CarriageOrder = model.CarrOrder, BeginInputStation = model.BeginInputStation, EndInputStation = model.EndInputStation, SeatsNumbers = seats.Select(s => Convert.ToInt32(s)).ToList() }; return(View(param)); }
public List <int> GetSeats(SeatInCarr param, out List <SeatInCarr> allSeats, out List <FreeSeatInCarriage> freeSeats) { carriageType = param.CarriageType; Train train = trainServ.GetItemById(trainServ.GetIdByNumber(param.TrainNumber)); int carrTypeID = carriageServ.GetCarrTypeIdByCarrType(param.CarriageType); string validatFormat = "MM.dd.yyyy HH:mm:ss"; CultureInfo provider = new CultureInfo("en-US"); freeSeats = mapper.GetFreeSeatsInCarriages(train.ID, DateTime.ParseExact(param.DepartDateTime, validatFormat, provider), carrTypeID, param.BeginInputStation, param.EndInputStation); int countOfSeatsInCarrType = carriageServ.GetCountOfSeatsByCarrType(param.CarriageType); List <int> carrOrders = trainServ.GetCarrOrderInTrainByCarrType(train, carrTypeID); allSeats = GetAllSeats(carrOrders, countOfSeatsInCarrType, param); return(carrOrders); }
public ActionResult FreeSeatsToView(int carrOrder, SeatInCarr param) { SeatInCarr seatsForView = allSeats.Where(s => s.CarrOrder == carrOrder).ToList()[0]; switch (param.CarriageType) { case "Suite": return(PartialView("Suite", seatsForView)); case "Compartment": return(PartialView("Compartment", seatsForView)); case "Seatpost": return(PartialView("Seatpost", seatsForView)); case "Seating": return(PartialView("Seating", seatsForView)); } return(Content("<h2 style='color:red;text-align:center;'>The page does not found</h2>")); }
public ActionResult GetAnotherCarrType(SeatInCarr param) { List <int> carrOrders = GetSeats(param, out allSeats, out freeSeats); return(PartialView(param.CarriageType, allSeats.Where(s => s.CarrOrder == carrOrders[0]).ToList()[0])); }
public ActionResult GetFreeSeatsFromDb(SeatInCarr param) { List <int> carrOrders = GetSeats(param, out allSeats, out freeSeats); return(View("Wagon", allSeats.Where(s => s.CarrOrder == carrOrders[0]).ToList()[0])); }
private List <SeatInCarr> GetAllSeats(List <int> carrOrders, int countOfSeats, SeatInCarr param) { List <SeatInCarr> result = new List <SeatInCarr>(); bool isFree; Dictionary <int, bool> helper; for (int i = 0; i < carrOrders.Count; i++) { helper = new Dictionary <int, bool>(); for (int j = 1; j <= countOfSeats; j++) { var freeSeat = freeSeats.Where(fs => fs.CarriageOrder == carrOrders[i] && fs.SeatNumbers.Contains(j)); if (freeSeat == null || freeSeat.Count() == 0) { isFree = false; } else { isFree = true; } helper.Add(j, isFree); } result.Add(new SeatInCarr() { TrainNumber = param.TrainNumber, CarriageType = param.CarriageType, CarriageTypes = System.Web.Helpers.Json.Decode <List <CarrTypesAndCountOfSeats> >(param.CarriageTypesJson), BeginInputStation = param.BeginInputStation, EndInputStation = param.EndInputStation, BeginStation = param.BeginStation, EndStation = param.EndStation, DepartDateTime = param.DepartDateTime, ArrivalDateTime = param.ArrivalDateTime, Duration = param.Duration, CarrOrder = carrOrders[i], CarrOrdersForActionLink = carrOrders, SeatsNumbers = helper }); } return(result); }