private void Button2_Click(object sender, EventArgs e) { int n = 1; foreach (var poz in _lista_zl) { label1.Text = $"Rozbijam {n++}/{_lista_zl.Count()}"; label1.Refresh(); this.Invalidate(); try { var lista = Analiza_zlec.Lista_pozycji(int.Parse(poz)); foreach (var poz1 in lista) { if (Math.Abs(poz1.Różnica_wartość) > _min_wartosc) { lista_do_gv.Add(poz1); } } } catch { } } dataGridView1.DataSource = lista_do_gv; dataGridView1.Refresh(); }
public void Update_grid() { var db1 = new db_raportyDataContext(); var nlinie = from c in db1.IPO_ZDAWKA_PWs where c.Nr_zlecenia_IPO == nr_zlec select c; var n_linie = Analiza_zlec.Lista_pozycji(nr_zlec); double nilosc_zlec = (double)(from c in nlinie where c.RW_PW == "PW" select c.Ilosc).Sum(); label1.Text = kod_wyr + " : " + nilosc_zlec.ToString() + " SZT" + " ; Korekty na magazyn: " + mag_zlec; dataGridView1.DataSource = n_linie; dataGridView1.Update(); return; var srv = new WebReference.Service1(); var db = new db_raportyDataContext(); var db2008 = new DB2008DataContext(); //skasuj stare rozpisy var do_skas = from c in db.IPO_ZDAWKA_PW_NORMAs where c.Nr_zlecenia_IPO == nr_zlec select c; db.IPO_ZDAWKA_PW_NORMAs.DeleteAllOnSubmit(do_skas); db.SubmitChanges(); //znajdz magazyn domyślny dla zlecenia var linie = from c in db.IPO_ZDAWKA_PWs where c.Nr_zlecenia_IPO == nr_zlec select c; //wyceń materiały - nie przejmujemy się jednostkami. foreach (var l in linie) { var tkw = (from c in db.słownik_TKWs where c.Indeks.Trim() == l.Nr_indeksu.Trim() select c.Koszt).FirstOrDefault(); if (l.RW_PW == "PW") { l.Koszt_IPO = Math.Round((double)tkw * (double)l.Ilosc, 3); } if (l.RW_PW == "RW") { l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3); } if (l.RW_PW == "PU") { l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3); } db.SubmitChanges(); } double ilosc_zlec = (double)(from c in linie where c.RW_PW == "PW" select c.Ilosc).Sum(); // utwórz zlecenie w tabeli przejściowej. label1.Text = kod_wyr + " : " + ilosc_zlec.ToString() + " SZT" + " ; Korekty na magazyn: " + mag_zlec; srv.Dodaj_rozpis_do_Tabeli(nr_zlec, 0, ilosc_zlec); // wyceń rozpis var linie_norma = from c in db.IPO_ZDAWKA_PW_NORMAs where c.Nr_zlecenia_IPO == nr_zlec && c.RW_PW == "RW" select c; //wyceń materiały - nie przejmujemy się jednostkami. foreach (var l in linie_norma) { var tkw = (from c in db.słownik_TKWs where c.Indeks.Trim() == l.Nr_indeksu.Trim() select c.Koszt).FirstOrDefault(); if (l.RW_PW == "PW") { l.Koszt_IPO = Math.Round((double)tkw * (double)l.Ilosc, 3); } if (l.RW_PW == "RW") { l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3); } if (l.RW_PW == "PU") { l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3); } db.SubmitChanges(); } var total = (from c in linie where c.RW_PW == "RW" select new { TYP = "JDE", c.Nr_zlecenia_IPO, Indeks = c.Nr_indeksu.Trim(), c.Nazwa_pozycji, c.Ilosc, c.Koszt_IPO }) .Concat(from g in linie_norma select new { TYP = "NORMA", g.Nr_zlecenia_IPO, Indeks = g.Nr_indeksu.Trim(), g.Nazwa_pozycji, g.Ilosc, g.Koszt_IPO }).ToArray(); // zgrupuj List <Item> lst = new List <Item>(); //utwórz listę indeksów var lista_indeksow = (from c in total select c.Indeks).Distinct(); foreach (var i in lista_indeksow) { Item itm = new Item(); var tmp = from c in total where c.Indeks == i select c; itm.Nr_indeksu = i; itm.Nazwa = tmp.First().Nazwa_pozycji; itm.Ilość_JDE = (double)(from c in tmp where c.TYP == "JDE" select c.Ilosc).Sum(); itm.Wartość_JDE = (double)(from c in tmp where c.TYP == "JDE" select c.Koszt_IPO).Sum(); itm.Ilość_NORMA = (double)(from c in tmp where c.TYP == "NORMA" select c.Ilosc).Sum(); itm.Wartość_NORMA = (double)(from c in tmp where c.TYP == "NORMA" select c.Koszt_IPO).Sum(); itm.Różnica_ilość = Math.Round(itm.Ilość_JDE + itm.Ilość_NORMA); itm.Różnica_wartość = Math.Round(itm.Wartość_JDE + itm.Wartość_NORMA, 3); lst.Add(itm); } dataGridView1.DataSource = lst; dataGridView1.Update(); }