private void AddButton_Click(object sender, RoutedEventArgs e) { Potrawy recipe = new Potrawy(); recipe.NazwaPotrawy = NameTextBox.Text; recipe.Skladniki = IngTextBox.Text; recipe.Przygotowanie = PrepTextBox.Text; try { using (var dbCtx = new KitchenEntities1()) { dbCtx.Entry(recipe).State = EntityState.Added; dbCtx.SaveChanges(); Skladniki ingridient = new Skladniki(); string[] ingr = System.Text.RegularExpressions.Regex.Split(recipe.Skladniki, "\r\n"); ingridient.IdPotrawy = recipe.IdPotrawy; foreach (string i in ingr) { ingridient.Skladnik = i; dbCtx.Entry(ingridient).State = EntityState.Added; dbCtx.SaveChanges(); } } this.Close(); } catch (Exception) { MessageBox.Show("Added failed"); } }
public EditWindow(Potrawy p, KitchenEntities1 dataEntities) { InitializeComponent(); this.p = p; NameTextBox.Text = p.NazwaPotrawy; IngTextBox.Text = p.Skladniki; PrepTextBox.Text = p.Przygotowanie; IdLabel.Content = "" + p.IdPotrawy; this.dataEntities = dataEntities; }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { try { Potrawy recipeRow = new Potrawy(); //int dataGridSelection = DataGrid.SelectedIndex + 1; //recipeRow.IdPotrawy = dataGridSelection; using (var dataEntities = new KitchenEntities1()) { var original = dataEntities.Potrawy.Find(GetSelectedId()); string msgtext = "Do you really want to delete that row?"; string txt = "Deleting row"; MessageBoxButton button = MessageBoxButton.YesNoCancel; MessageBoxResult result = MessageBox.Show(msgtext, txt, button); switch (result) { case MessageBoxResult.Yes: original.NazwaPotrawy = "NULL"; original.Skladniki = "NULL"; original.Przygotowanie = "NULL"; dataEntities.Entry(original).State = EntityState.Modified; dataEntities.SaveChanges(); dataEntities.Database.ExecuteSqlCommand("DELETE FROM Skladniki WHERE IdPotrawy=" + original.IdPotrawy); Window_Loaded(sender, e); break; case MessageBoxResult.No: break; case MessageBoxResult.Cancel: break; } } } catch (Exception Ex) { MessageBox.Show(Ex.Message); return; } }
private void Window_Loaded(object sender, RoutedEventArgs e) { //ObjectQuery<Potrawy> recipes = dataEntities.Potrawy; using (var dataEntities = new KitchenEntities1()) { var query = from recipe in dataEntities.Potrawy where recipe.Skladniki != "NULL" select new { recipe.IdPotrawy, recipe.NazwaPotrawy, recipe.Skladniki, recipe.Przygotowanie }; DataGrid.ItemsSource = query.ToList(); } /*KitchenDbApp.KitchenDataSet kitchenDataSet = ((KitchenDbApp.KitchenDataSet)(this.FindResource("kitchenDataSet"))); * // Load data into the table Potrawy. You can modify this code as needed. * KitchenDbApp.KitchenDataSetTableAdapters.PotrawyTableAdapter kitchenDataSetPotrawyTableAdapter = new KitchenDbApp.KitchenDataSetTableAdapters.PotrawyTableAdapter(); * kitchenDataSetPotrawyTableAdapter.Fill(kitchenDataSet.Potrawy); * System.Windows.Data.CollectionViewSource potrawyViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("potrawyViewSource"))); * potrawyViewSource.View.MoveCurrentToFirst();*/ }
private void EditButton_Click(object sender, RoutedEventArgs e) { try { Potrawy recipeRow = new Potrawy(); using (var dataEntities = new KitchenEntities1()) { var original = dataEntities.Potrawy.Find(GetSelectedId()); var newWindow = new EditWindow(original, dataEntities); newWindow.ShowDialog(); } Window_Loaded(sender, e); } catch (Exception Ex) { MessageBox.Show(Ex.Message); return; } }
private void findRecipes() { if (ingridients.Count() > 0) { using (var dataEntities = new KitchenEntities1()) { //var query = // from ingr in dataEntities.Skladniki // where ingridients.Contains(ingr.Skladnik) // select new { ingr.IdPotrawy }; //var quer = // from ingr in dataEntities.Skladniki // select new { ingr.Skladnik, ingr.IdPotrawy }; //bool[,] found = new bool[ingridients.Length, quer.Count()]; //for (int i = 0; i < ingridients.Length ; i++) //{ // for (int j = 0 ; j < quer.Count(); j++) // { // found[i, j] = false; // } //} //int iI = 0; //int iQ = 0; //foreach (var ingrid in ingridients) //{ // foreach (var que in quer) // { // if (que.Skladnik.Contains(ingrid)) // { // ID.Add((int)que.IdPotrawy); // INGR.Add(que.Skladnik); // found[iI,iQ] = true; // continue; // } // iQ++; // } // iQ = 0; // iI++; //} foreach (var ingrid in ingridients) { var quer = from ingr in dataEntities.Skladniki where ingr.Skladnik.Contains(ingrid) group ingr by ingr.IdPotrawy into IdPotrawy select new { IDpotrawy = IdPotrawy.Key }; try { foreach (var el in quer) { bufID.Add((int)el.IDpotrawy); } } catch (Exception) { } } var q = from data in dataEntities.Skladniki group data by data.IdPotrawy into g select new { Id = g.Key }; foreach (var item in q) { int howMany = bufID.Count <int>(x => x == (int)item.Id); if (howMany == ingridients.Count()) { ID.Add((int)item.Id); } } //for (int i = 0; i < quer.Count(); i++) //{ // if (found[0, i] == true) // { // for (int j = 0; j < ingridients.Length; j++) // { // if (found[j, i] == false) // { // try // { // int f = INGR.FindIndex(x => x == ingridients[j]); // ID.RemoveAt(f); // break; // } // catch (Exception) {/*...*/ } // } // } // } //} //var query = dataEntities.Skladniki // .GroupBy(x => x.IdPotrawy) // .Select(x => x.FirstOrDefault()); var query = from ingr in dataEntities.Skladniki where ingr.IdPotrawy == ID.FirstOrDefault(x => x == ingr.IdPotrawy) select new { ingr.IdPotrawy }; List <int> iList = new List <int>(); foreach (var row in query) { iList.Add((int)row.IdPotrawy); //int counter = 0; //foreach (var r in query) //{ // if (r.IdPotrawy == row.IdPotrawy) counter++; //} //if (counter == ingridients.Count()) } var nextQuery = from recipe in dataEntities.Potrawy where iList.Contains(recipe.IdPotrawy) where recipe.Skladniki != "NULL" select new { recipe.IdPotrawy, recipe.NazwaPotrawy, recipe.Skladniki, recipe.Przygotowanie }; result = new DataGrid(); result.ItemsSource = nextQuery.ToList(); } } }