private void ZutatenSpeichern(Rezept rezept, Panel rezeptAbteilungPanel, Rezeptabteilung rezeptAbteilung) { var zutatCtrlList = new List<TextBox>(); var mengeCtrlList = new List<TextBox>(); var einheitCtrlList = new List<DropDownList>(); //Control Listen erstellen foreach (Control control in rezeptAbteilungPanel.Controls) { if (control.ID != null) { if (control.ID.Contains(Helper.REZEPBEARBEITEN_IDENT_EINHEIT)) einheitCtrlList.Add((DropDownList)control); else if (control.ID.Contains(Helper.REZEPBEARBEITEN_IDENT_MENGE)) mengeCtrlList.Add((TextBox)control); else if (control.ID.Contains(Helper.REZEPBEARBEITEN_IDENT_ZUTAT)) zutatCtrlList.Add((TextBox)control); } } //Set RezeptAbteilung for existing Zutaten that have no RezeptAbteilung assigned, yet if(rezeptAbteilung != null && rezeptAbteilung.ID == 0 && zutatCtrlList.Count(d => !d.ID.Contains(Helper.REZEPBEARBEITEN_IDENT_NEU)) > 0) rezept.RezeptZutats.Select(d => { if (d.RezeptabteilungID == null) { d.Rezeptabteilung = rezeptAbteilung; } return d; }).ToList(); //Ggf. neue Zutat einfügen NeueZutatenEinfügen(rezept, zutatCtrlList, mengeCtrlList, einheitCtrlList, rezeptAbteilung); //Zutaten aktualisieren this.BestehendeZutatenAktualisieren(rezept, zutatCtrlList, mengeCtrlList, einheitCtrlList); }
private Rezeptabteilung RezeptabteilungSpeichern(Rezept rezept, Panel rezeptAbteilungPanel, rherzog_70515_rzvwContext db) { var rezeptAbteilungID = Helper.FindIdOnDynamicControl(rezeptAbteilungPanel); Rezeptabteilung rezeptAbteilung = null; //Create Rezeptabteilung var rezeptAbteilungTextbox = (TextBox)Helper.FindControl(rezeptAbteilungPanel, Helper.REZEPBEARBEITEN_IDENT_REZEPABTEILUNG + Helper.REZEPBEARBEITEN_IDENT_NEU); if (rezeptAbteilungID == null && rezeptAbteilungTextbox != null && rezeptAbteilungTextbox.Text != String.Empty) { rezeptAbteilung = new Rezeptabteilung { Name = rezeptAbteilungTextbox.Text }; } //Rename existing Rezeptabteilung rezeptAbteilungTextbox = (TextBox)Helper.FindControl(rezeptAbteilungPanel, Helper.REZEPBEARBEITEN_IDENT_REZEPABTEILUNG); if (rezeptAbteilungID != null && rezeptAbteilungTextbox != null) { rezeptAbteilung = db.Rezeptabteilungs.First(d => d.ID == rezeptAbteilungID); rezeptAbteilung.Name = rezeptAbteilungTextbox.Text; } return rezeptAbteilung; }
/// <summary> /// Display the give Rezeptabteilung /// </summary> private void DisplayRezeptabteilungTextbox(Rezeptabteilung rezeptAbteilung, Panel rezeptAbteilungPanel, int? panelNumber, int rezeptAbteilungNr) { var textbox = new TextBox { Width = RezeptabteilungFeldBreite }; if (rezeptAbteilung == null) { //Leere Textbox anzeigen (Rezeptabteilung kann hinzugefügt werden) textbox.ID = Helper.REZEPBEARBEITEN_IDENT_REZEPABTEILUNG + Helper.REZEPBEARBEITEN_IDENT_NEU + panelNumber; } else { //Textbox mit Rezeptnamen einfügen textbox.ID = Helper.REZEPBEARBEITEN_IDENT_REZEPABTEILUNG + rezeptAbteilung.ID; textbox.Text = rezeptAbteilung.Name; } if (rezeptAbteilungNr != 1) { var label = new Label { Text = "<br/>" }; rezeptAbteilungPanel.Controls.Add(label); } rezeptAbteilungPanel.Controls.Add(textbox); //Delete button for Rezeptabteilung if (rezeptAbteilung != null) { var imageButton = new ImageButton { ID = Helper.REZEPBEARBEITEN_IDENT_REZEPABTEILUNG_DELETE + rezeptAbteilung.ID, ImageUrl = "~/images/delete-icon_small.png", ImageAlign = ImageAlign.Middle }; imageButton.Click += ImageButtonRezeptAbteilungDeleteClick; rezeptAbteilungPanel.Controls.Add(new Literal { Text = " " }); rezeptAbteilungPanel.Controls.Add(imageButton); } Helper.InsertLineBreak(rezeptAbteilungPanel); }
private void NeueZutatenEinfügen(Rezept rezept, IEnumerable<TextBox> zutatCtrlList, IEnumerable<TextBox> mengeCtrlList, IEnumerable<DropDownList> einheitCtrlList, Rezeptabteilung rezeptAbteilung) { //Neue eingefügt Zutaten ermitteln var zutatCtrlListNew = zutatCtrlList.Where(d => d.ID.Contains(Helper.REZEPBEARBEITEN_IDENT_NEU)).ToList(); var mengeCtrlListNew = mengeCtrlList.Where(d => d.ID.Contains(Helper.REZEPBEARBEITEN_IDENT_NEU)).ToList(); var einheitCtrlListNew = einheitCtrlList.Where(d => d.ID.Contains(Helper.REZEPBEARBEITEN_IDENT_NEU)).ToList(); //wenn eine Eingabe erfolgt ist if (zutatCtrlListNew.Count != 0 && mengeCtrlListNew.Count != 0) { //jede neue Zutat dem Rezept hinzufügen foreach (var zutatCtrlNew in zutatCtrlListNew) { NeueZutatEinfügen(rezept, zutatCtrlNew, einheitCtrlListNew, mengeCtrlListNew, rezeptAbteilung); } } }
private static void NeueZutatEinfügen(Rezept rezept, TextBox zutatCtrlNew, IEnumerable<DropDownList> einheitCtrlListNew, IEnumerable<TextBox> mengeCtrlListNew, Rezeptabteilung rezeptAbteilung) { var idNummer = Helper.FindIdOnDynamicNewControl(zutatCtrlNew); //zugeh. Einheit suchen var einheitCtrlNew = einheitCtrlListNew.First(d => d.ID.Contains(""+idNummer)); //zugeh. Menge suchen var mengeCtrlNew = mengeCtrlListNew.First(d => d.ID.Contains(""+idNummer)); if (!string.IsNullOrEmpty(zutatCtrlNew.Text)) { var rezZutat = new RezeptZutat { Menge = mengeCtrlNew.Text, Rezeptabteilung = rezeptAbteilung }; var zutat = new Zutat {Name = zutatCtrlNew.Text}; rezZutat.Zutat = zutat; if(einheitCtrlNew.SelectedIndex != 0) rezZutat.EinheitID = Int32.Parse(einheitCtrlNew.SelectedItem.Value); rezept.RezeptZutats.Add(rezZutat); } }