public override void Remove(object obj) { DBWeb.Zamowienie zam = ((DBWeb.ZamowienieView)obj).Zamowienie; zam.DeleteRecord(); Enova.Business.Old.Core.ContextManager.WebContext.Refresh(RefreshMode.StoreWins, obj); this.Reload(); base.Remove(obj); }
/* * public override DataContext CreateContext(object data) * { * return new ZamowienieViewContext(data); * } */ public override object CreateData() { var data = new DBWeb.Zamowienie(); data.GUID = Guid.NewGuid(); data.DataDodania = DateTime.Now; data.DataAtualizacji = DateTime.Now; data.PSID = 0; data.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew; data.Stamp = DateTime.Now; data.RodzajTransportu = RodzajTransportu.NieWybrano; return(data); }
public ZamowienieMagazynAVView(DbWeb.Zamowienie zamowienie) { this.zamowienie = zamowienie; }
public void OnAction() { DialogResult result = MessageBox.Show("Czy napewno chcesz połączyć zamówienia?", "EnovaTools", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.No) { return; } List <DBWeb.Zamowienie> zamowienia = new List <DBWeb.Zamowienie>(); List <DBWeb.PozycjaZamowienia> pozycje = new List <DBWeb.PozycjaZamowienia>(); foreach (ZamowienieView row in StatusAction.SelectedRows) { DBWeb.Zamowienie zam = row.Zamowienie; zamowienia.Add(zam); foreach (var poz in zam.PozycjeZamowienia.Where(p => p.Synchronizacja != (int)RowSynchronizeOld.NotsynchronizedDelete)) { pozycje.Add(poz); } } DBWeb.Kontrahent kontrahent = zamowienia.Select(z => z.Kontrahent).FirstOrDefault(); DBWeb.Adres adresFaktury = zamowienia.Select(z => z.AdresFaktury).FirstOrDefault(); DBWeb.Adres adresWysylki = zamowienia.Select(z => z.AdresWysylki).FirstOrDefault(); DBWeb.Zamowienie noweZam = new DBWeb.Zamowienie() { AdresFaktury = adresFaktury, AdresWysylki = adresWysylki, Blokada = false, BlokadaEdycji = false, DataDodania = DateTime.Now, GUID = Guid.NewGuid(), Kontrahent = kontrahent, NaKiedy = DateTime.Now, NaKiedyTyp = "N", Pilne = false, PSID = 0, RodzajTransportu = RodzajTransportu.NieWybrano, Stamp = DateTime.Now, Synchronizacja = (int)RowSynchronizeOld.Notsaved, ZamPrzedstawiciela = false }; int ident = 1; foreach (var poz in pozycje) { try { DBWeb.PozycjaZamowienia pozycja = null; if (poz.ProduktIndywidualny != null && poz.ProduktIndywidualny.Value) { pozycja = noweZam.PozycjeZamowienia.Where(p => p.ProduktIndywidualny == true && p.ProduktNazwa == poz.ProduktNazwa).FirstOrDefault(); } else { pozycja = noweZam.PozycjeZamowienia.Where(p => p.Produkt != null && p.Produkt.ID == poz.Produkt.ID && (poz.AtrybutProduktu == null || p.AtrybutProduktu != null && p.AtrybutProduktu.ID == poz.AtrybutProduktu.ID)).FirstOrDefault(); } if (pozycja == null) { noweZam.PozycjeZamowienia.Add(new DBWeb.PozycjaZamowienia() { AtrybutProduktu = poz.AtrybutProduktu, Cena = poz.Cena, Ident = ident++, Ilosc = poz.Ilosc, IloscOrg = poz.Ilosc, Opis = poz.Opis, Produkt = poz.Produkt, ProduktNazwa = poz.ProduktNazwa, ProduktIndywidualny = poz.ProduktIndywidualny, PSID = poz.PSID, Stamp = DateTime.Now, StawkaVatSymbol = poz.StawkaVatSymbol, StawkaVatValue = poz.StawkaVatValue, Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew, OgraniczenieSprzedazy = poz.OgraniczenieSprzedazy == null ? 0 : poz.OgraniczenieSprzedazy.Value }); } else { pozycja.Ilosc += poz.Ilosc; pozycja.IloscOrg = pozycja.Ilosc; pozycja.OgraniczenieSprzedazy += poz.OgraniczenieSprzedazy == null ? 0 : poz.OgraniczenieSprzedazy.Value; } } catch (Exception ex) { // MessageBox.Show("Ident: " + poz.Ident + " ID: " + poz.ID); throw ex; } } Operator @operator = Enova.Business.Old.Core.ContextManager.WebContext.Operatorzy .Where(p => p.Nazwa == Enova.Business.Old.DB.Web.User.LoginedUser.Login || p.Nazwa == User.LoginedUser.EnovaOperatorLogin).FirstOrDefault(); StatusZamowienia status = Enova.Business.Old.Core.ContextManager.WebContext.StatusyZamowien .Where(s => s.NoweZamowienie == true).FirstOrDefault(); noweZam.HistoriaZamowienia.Add(new DBWeb.HistoriaZamowienia() { DataDodania = DateTime.Now, Operator = @operator, Status = status, Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew, }); Enova.Business.Old.Core.ContextManager.WebContext.SaveChanges(); foreach (var zam in zamowienia) { foreach (var poz in zam.PozycjeZamowienia) { poz.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedDelete; } foreach (var h in zam.HistoriaZamowienia) { h.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedDelete; } foreach (var m in zam.Wiadomosci) { m.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedDelete; } zam.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedDelete; } noweZam.Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew; Enova.Business.Old.Core.ContextManager.WebContext.SaveChanges(); this.Reload(); MessageBox.Show("Stworzono nowe zamówienie o numerze " + noweZam.NumerPelny, "EnovaTools", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Reload(); }
private void zamowienieButton_Click(object sender, EventArgs e) { if (Zamowienie != null) { if (Zamowienie.ZamowionoBraki != null && Zamowienie.ZamowionoBraki.Value) { DialogResult result = MessageBox.Show("Do tego zamówienia wygenerowano już zamówienie braków o numerze " + Zamowienie.ZamowienieBrakow.ToString() + "\r\nCzy napewno chcesz wygenerować nowe zamówienie?", "EnovaTools", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (result == DialogResult.No) { return; } } var kontr = Enova.Business.Old.Core.ContextManager.DataContext.Kontrahenci.Where(r => r.Guid == Zamowienie.Kontrahent.Guid).FirstOrDefault(); if (kontr.BlokadaSprzedazy != null && kontr.BlokadaSprzedazy.Value) { BAL.Forms.FormManager.Alert(string.Format("Kontrahent {0} jest zablokowany i nie może być wybrany na formularzu zamówienia", kontr.Kod)); return; } Enabled = false; Cursor = Cursors.WaitCursor; try { Zamowienie.PrzeliczZamowienie(); var pozycjeBrakow = Zamowienie.PozycjeZamowienia.Where(p => p.Synchronizacja != (int)RowSynchronizeOld.NotsynchronizedDelete && p.IloscOrg != null && p.IloscOrg > p.Ilosc).ToList(); if (pozycjeBrakow.Count > 0) //if (Zamowienie.WartoscBraki != null && Zamowienie.WartoscBraki < 0) { DBWeb.Zamowienie noweZam = new DBWeb.Zamowienie() { DataDodania = DateTime.Now, AdresFaktury = Zamowienie.AdresFaktury, AdresWysylki = Zamowienie.AdresWysylki, Blokada = false, BlokadaEdycji = false, GUID = Guid.NewGuid(), Kontrahent = Zamowienie.Kontrahent, RodzajTransportu = Enova.Business.Old.Types.RodzajTransportu.NieWybrano, NaKiedy = DateTime.Now, Stamp = DateTime.Now, Synchronizacja = (int)Enova.Business.Old.Types.RowSynchronizeOld.Notsaved }; int ident = 1; foreach (var poz in pozycjeBrakow) { noweZam.PozycjeZamowienia.Add(new DBWeb.PozycjaZamowienia() { AtrybutProduktu = poz.AtrybutProduktu, PSID = 0, Cena = poz.Cena, Ident = ident++, Ilosc = poz.IloscOrg - poz.Ilosc, IloscOrg = poz.IloscOrg - poz.Ilosc, Opis = poz.Opis, Produkt = poz.Produkt, ProduktIndywidualny = poz.ProduktIndywidualny, ProduktNazwa = poz.ProduktNazwa, Stamp = DateTime.Now, StawkaVatSymbol = poz.StawkaVatSymbol, StawkaVatValue = poz.StawkaVatValue, Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew }); } /* * Pracownik pracownik = Enova.Business.Old.Core.ContextManager.WebContext.Pracownicy * .Where(p => p.Kod == Enova.Business.Old.DB.Web.User.LoginedUser.Login || p.Kod == Enova.Business.Old.DB.Web.User.LoginedUser.EnovaOperator).FirstOrDefault(); * StatusZamowienia status = Enova.Business.Old.Core.ContextManager.WebContext.StatusyZamowien * .Where(s => s.NoweZamowienie == true).FirstOrDefault(); * noweZam.HistoriaZamowienia.Add(new HistoriaZamowienia() * { * DataDodania = DateTime.Now, * Pracownik = pracownik, * Status = status, * Synchronizacja = (int)Enova.Business.Old.Types.RowSynchronize.NotsynchronizedNew * }); */ noweZam.ZmienStatus(Enova.Business.Old.Types.StatusyZamowieniaTyp.NoweZamowienie); Enova.Business.Old.Core.ContextManager.WebContext.SaveChanges(); noweZam.Synchronizacja = (int)Enova.Business.Old.Types.RowSynchronizeOld.NotsynchronizedNew; Zamowienie.ZamowionoBraki = true; Zamowienie.ZamowienieBrakow = noweZam.ID; Enova.Business.Old.Core.ContextManager.WebContext.SaveChanges(); MessageBox.Show("Stworzono nowe zamówienie o numerze " + noweZam.NumerPelny, "EnovaTools", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { throw ex; } finally { Cursor = Cursors.Default; Enabled = true; } } }