//Funktion um sich einem Auto zuzuordnen public void AddToCar_Click(object sender, GridViewCommandEventArgs e) { string[] arg = new string[2]; arg = e.CommandArgument.ToString().Split(';'); string param = arg[0]; string[] splitparam = param.Split('_'); string eventName = splitparam[0]; string eventDate = splitparam[1]; string carNr = arg[1]; //Routingparameter wird erzeugt //string identifier = (Request.QueryString["id"]).ToString(); //string[] identifiers = identifier.Split('_'); //string eventName = identifiers.First(); //string eventDate = identifiers.Last(); DateTime event_date = Convert.ToDateTime(eventDate); //string carNr = (Request.QueryString["car"]).ToString(); //Useremail wird ausgelesen und in Variable geschrieben string username = User.Identity.Name; List <Mitglied> user = MitgliedController.getMitgliedViaEmail(username); Mitglied mitglied = user.ElementAt(0); DateTime geburtstag = Convert.ToDateTime(mitglied.Geburtstag); List <Car> auto = CarController.selectCar(eventName, event_date, carNr); //string vorname, string nachname, DateTime geburtsdatum, string autonummer, string eventname, DateTime eventdatum CarMitglied newPass = new CarMitglied(mitglied.Vorname, mitglied.Nachname, geburtstag, carNr, eventName, event_date); //User wird mit einer Controllerfunktion dem zugewiesen CarController.addPassangerToCar(newPass); //Neue UL-Listeninstanz wird erstellt HtmlGenericControl autoListe = new HtmlGenericControl("ul"); //Funktion um Autos zu laden wird ausgeführt, danach der Tabelle hinzugefügt autoListe = LoadCars(eventName, eventDate, autoListe); event_details_container.Controls.Add(EventController.GetEvent(eventName, event_date, autoListe)); //Eventseite wird aufgerufen Response.Redirect("/Views/Event/EventDetails.aspx?id=" + param); }
//Autoliste mit Passagieren wird zurückgegeben public static List <HtmlGenericControl> getHtmlCarList(string eventName, string eventDate) { //Eventdatum String zu DateTime konvertieren DateTime event_date = Convert.ToDateTime(eventDate); //Gibt Mitfahrerliste zurück List <Car> AutoListe = Car.getCarList(eventName, event_date); //Neue Listinstanz wird erstellt List <HtmlGenericControl> AutoHTML = new List <HtmlGenericControl>(); //Jedes Auto in der Liste wird durchlaufen foreach (Car auto in AutoListe) { List <CarMitglied> passangers = CarMitglied.getPassangers(eventName, event_date, auto.Autonummer); DateTimeFormatInfo fmt = (new CultureInfo("de-DE")).DateTimeFormat; string date = event_date.ToString("d", fmt); string routingParam = eventName + "_" + date; string mitfahrerString = ""; string carNr = auto.Autonummer; //Jeder Passagier wird durchlaufen foreach (CarMitglied passagier in passangers) { mitfahrerString += passagier.ToString() + " "; } //HTML Element wird erstellt string htmltxt = "<asp:LinkButton ID='addToCarBtn' runat='server' class='btn btn-default' OnCommand='AddToCar_Click' CommandArgument='" + routingParam + ";" + carNr + "'>Einschreiben</a>"; //string htmltxt = "<a runat='server' class='btn btn-default' onServerClick='EventDetails.AddToCar_Click' href='/Views/Event/EventDetails.aspx?id="+routingParam+"&car="+carNr+"'>Einschreiben</a>"; string htmltxt1 = "<br>"; HtmlGenericControl htmlelem = new HtmlGenericControl("li"); htmlelem.InnerHtml = string.Format("{0}, {1}, {2}; Freie Plätze: {3} {4} {5} {6}", auto.Name, auto.Fahrer_Vorname, auto.Fahrer_Nachname, (auto.Plaetze - passangers.Count), htmltxt, htmltxt1, mitfahrerString); //Element wird hinzugefügt AutoHTML.Add(htmlelem); } //View wird hinzugefpgt return(AutoHTML); }
//Passagier hizufügen public static List <CarMitglied> addPassangerToCar(CarMitglied newPass) { return(CarMitglied.addPassanger(newPass)); }
//Passagier entfernen public static List <CarMitglied> removePassangerFromCar(CarMitglied removePass) { return(CarMitglied.removePassanger(removePass)); }
//Passagiere laden public static List <CarMitglied> getPassangersForCar(string eventName, DateTime eventDate, string autonummer) { return(CarMitglied.getPassangers(eventName, eventDate, autonummer)); }