Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public ActionResult GetTickets(ForCreateForms param, InformAboutPassengers personsInf, int[] HaveBed, int[] HaveTea)
        {
            int             countTickets = personsInf.FirstName.Count();
            string          startStation = statServ.GetFirstStationOnRoute(param.TrainNumber);
            List <TicketVM> tickets      = new List <TicketVM>();

            for (int i = 0; i < countTickets; i++)
            {
                TicketVM ticket = new TicketVM();
                ticket.TrainNumber       = param.TrainNumber;
                ticket.CarriageType      = carrServ.GetCarrTypeByCarrOrderInTrain(param.TrainNumber, param.CarriageOrder);
                ticket.CarriageOrder     = param.CarriageOrder;
                ticket.SeatNumber        = personsInf.SeatNumber[i];
                ticket.StartStation      = param.BeginInputStation;
                ticket.EndStation        = param.EndInputStation;
                ticket.DepartureDateTime = sqlServ.GetDepartArrivlDateTime(param.DepartDateTime, param.TrainNumber, startStation, param.BeginInputStation);
                ticket.ArrivalDateTime   = sqlServ.GetDepartArrivlDateTime(param.DepartDateTime, param.TrainNumber, startStation, param.EndInputStation);
                ticket.FirstName         = personsInf.FirstName[i];
                ticket.LastName          = personsInf.LastName[i];
                ticket.BirthDate         = personsInf.BirthDate[i];
                ticket.PersonType        = personsInf.PersonType[i];
                if (HaveTea != null && HaveTea.Count() != 0 && HaveTea.Contains(personsInf.SeatNumber[i]))
                {
                    ticket.HaveTea = true;
                }
                if (HaveBed != null && HaveBed.Count() != 0 && HaveBed.Contains(personsInf.SeatNumber[i]))
                {
                    ticket.HaveBed = true;
                }
                tickets.Add(ticket);
            }

            mapper.CreateNewTickets(ref tickets, personsInf);

            List <string> filesPaths = WorkWithPDFAndEmail.CreatePdfFileAndSendEmail(tickets, personsInf);

            string ticketsPDFfilePath = WorkWithPDFAndEmail.MergePDFFiles(filesPaths);
            int    idx = ticketsPDFfilePath.LastIndexOf('\\');

            FilePdfTickets file = new FilePdfTickets(ticketsPDFfilePath.Substring(0, idx), ticketsPDFfilePath.Substring(idx + 1));

            return(View("GetTickets", file));
        }