public Kontrahent(Enova.API.CRM.Kontrahent enovaKontrahent) { this.PSID = 0; Password = ""; Imie = "firstname"; Nazwisko = "lastname"; GrupaDomyslna = 1; Aktywny = true; Usuniety = false; CzyAgent = false; Stamp = DateTime.Now; Synchronizacja = (int)Enova.Business.Old.Types.RowSynchronizeOld.NotsynchronizedNew; DoSynchronizacji = false; SecureKey = Enova.Business.Old.Core.Tools.GenSecureKey(); if (enovaKontrahent != null) { Guid = enovaKontrahent.Guid; Kod = enovaKontrahent.Kod; Nazwa = enovaKontrahent.Nazwa; Nip = enovaKontrahent.NIP; Email = enovaKontrahent.KontaktEMAIL; Telefon = enovaKontrahent.Adres.Telefon; Rabat = enovaKontrahent.Rabat; string przedtawicielKod = enovaKontrahent.Features["przedstawiciel"].ToString(); Kontrahent przedstawiciel = Enova.Business.Old.Core.ContextManager.WebContext.Kontrahenci.Where(k => k.Kod == przedtawicielKod).FirstOrDefault(); Przedstawiciel = przedstawiciel; } }
private ObjectQuery <DBWeb.ZamowienieView> getQuery() { DateTime from = okresControl.DateFrom.Date; DateTime to = okresControl.DateTo.Date.AddDays(1); string trasa = kontrahentControl.Trasa; string przedstawiciel = kontrahentControl.Przedstawiciel; string sezon = sezonControl.SelectedIndex == 0 ? null : (string)sezonControl.Value; Enova.Business.Old.DB.Web.Kontrahent kontrahent = null; Guid[] guids = null; if (kontrahentControl.Kontrahent != null) { //kontrahent = kontrahentControl.Kontrahent.GetWebKontrahent(); kontrahent = Enova.Business.Old.DB.Web.Kontrahent.GetWebKontrahent(kontrahentControl.Kontrahent); } else if (!string.IsNullOrEmpty(przedstawiciel) && !string.IsNullOrEmpty(trasa)) { trasa = @"\" + przedstawiciel + @"\" + trasa + @"\"; var ec = Enova.Business.Old.Core.ContextManager.DataContext; guids = (from k in ec.Kontrahenci join f in ec.Features on new { ParentType = "Kontrahenci", Parent = k.ID, Name = "TRASY" } equals new { ParentType = f.ParentType, Parent = f.Parent, Name = f.Name } where f.Data == trasa select k.Guid).ToArray(); } string kontrahentKod = kontrahentControl.Kontrahent != null ? kontrahentControl.Kontrahent.Kod : null; string przedtawiciel = string.IsNullOrEmpty(kontrahentControl.Przedstawiciel) ? null : kontrahentControl.Przedstawiciel; var dc = Enova.Business.Old.Core.ContextManager.WebContext; if (guids != null) { return((ObjectQuery <DBWeb.ZamowienieView>)dc.ZamowieniaView.Where(z => (z.DataDodania >= from && z.DataDodania <= to || (z.StatusTyp != null && z.StatusTyp != (int)DBWeb.TypStatusuZamowienia.Anulowane && z.StatusTyp != (int)DBWeb.TypStatusuZamowienia.Wyslane)) && z.KontrahentGuid != null && guids.Contains(z.KontrahentGuid.Value) && (sezon == null || (z.Sezon == sezon || z.SezonDodatkowy == sezon)) && z.Synchronizacja != (int)RowSynchronizeOld.NotsynchronizedDelete && z.Synchronizacja != (int)RowSynchronizeOld.Synchronizing && z.Synchronizacja != (int)RowSynchronizeOld.Notsaved)); } return((ObjectQuery <DBWeb.ZamowienieView>)dc.ZamowieniaView.Where(z => (z.DataDodania >= from && z.DataDodania <= to || (z.StatusTyp != null && z.StatusTyp != (int)DBWeb.TypStatusuZamowienia.Anulowane && z.StatusTyp != (int)DBWeb.TypStatusuZamowienia.Wyslane)) && (kontrahentKod == null || z.KontrahentKod == kontrahentKod) && (przedtawiciel == null || z.PrzedstawicielKod == przedtawiciel) && (sezon == null || (z.Sezon == sezon || z.SezonDodatkowy == sezon)) && z.Synchronizacja != (int)RowSynchronizeOld.NotsynchronizedDelete && z.Synchronizacja != (int)RowSynchronizeOld.Synchronizing && z.Synchronizacja != (int)RowSynchronizeOld.Notsaved)); }
private void zformularzaButton_Click(object sender, EventArgs e) { var form = new ZwrotFormularzForm(); if (Zwrot.Kontrahent != null) { Enova.Business.Old.DB.Web.Kontrahent kontrahent = Zwrot.Kontrahent; form.KontrahentId = Enova.Business.Old.Core.ContextManager.DataContext.Kontrahenci.Where(k => k.Guid == kontrahent.Guid).Select(k => k.ID).FirstOrDefault(); } DialogResult result = form.ShowDialog(); if (result == DialogResult.OK && form.DataSource != null) { var pozycje = form.DataSource.Where(p => p.IloscZam != null && p.IloscZam.Value > 0).OrderBy(p => p.Kod); if (pozycje.Count() > 0) { PozycjaAdding(); } foreach (var p in pozycje) { var produkt = webProdukt(p.TowarGuid.Value); if (produkt != null) { Zwrot zwrot = (Zwrot)this.DataSource; zwrot.Pozycje.Add(new PozycjaZwrotu() { Cena = produkt.Cena == null ? 0 : produkt.Cena.Value, Deleted = false, Guid = Guid.NewGuid(), Ident = Zwrot.GetMaxIdent() + 1, Ilosc = p.IloscZam.Value, Synchronizacja = (int)Enova.Business.Old.Types.RowSynchronizeOld.NotsynchronizedNew, Towar = produkt, TowarNazwa = produkt.Nazwa }); } } loadPozycje(); Zwrot.PrzeliczWartosc(); goToLastRow(); } }
public Enova.Business.Old.DB.Web.Kontrahent GetWebKontrahent(bool insert) { Web.Kontrahent kontrahent = ContextManager.WebContext.Kontrahenci.Where(k => k.Guid == this.Guid).FirstOrDefault(); if (kontrahent == null) { kontrahent = ContextManager.WebContext.Kontrahenci.Where(k => k.Kod == this.Kod && k.Nip == this.NIP).FirstOrDefault(); if (kontrahent == null && insert) { try { kontrahent = new Web.Kontrahent(this); ContextManager.WebContext.AddToKontrahenci(kontrahent); kontrahent.Synchronizacja = (int)Types.RowSynchronizeOld.Notsaved; kontrahent.DoSaveChanges(ContextManager.WebContext); //ContextManager.WebContext.SaveChanges(); Enova.Business.Old.DB.Web.Adres adres = null; Enova.Business.Old.DB.Web.Adres adresKor = null; if (this.Adres != null) { adres = new Web.Adres(this.Adres); kontrahent.Adresy.Add(adres); adres.DoSaveChanges(ContextManager.WebContext); } if (this.AdresKorespondencyjny != null && this.AdresKorespondencyjny.AdresKodPocztowy != null && this.AdresKorespondencyjny.AdresKodPocztowy.Value > 0) { adresKor = new Web.Adres(this.AdresKorespondencyjny); kontrahent.Adresy.Add(adresKor); adresKor.DoSaveChanges(ContextManager.WebContext); } if (adresKor == null) { adres.DomyslnyAdresWysylki = true; } foreach (var cenaGrupowa in this.CenyGrupowe) { Web.GrupaRabatowa grupaRabatowa = ContextManager.WebContext.GrupyRabatowe.Where(gr => gr.GUID == cenaGrupowa.GrupaTowarowa.Guid).FirstOrDefault(); if (grupaRabatowa == null) { grupaRabatowa = new Web.GrupaRabatowa() { EnovaStamp = cenaGrupowa.GrupaTowarowa.Stamp, GUID = cenaGrupowa.GrupaTowarowa.Guid, Kategoria = cenaGrupowa.GrupaTowarowa.Category, Wartosc = cenaGrupowa.GrupaTowarowa.Value } } ; kontrahent.GrupyRabatowe.Add(new Web.KontrahentRabatGrupowy() { EnovaStamp = cenaGrupowa.Stamp, GrupaRabatowa = grupaRabatowa, GUID = cenaGrupowa.Guid, Rabat = (decimal)cenaGrupowa.Rabat, RabatZdefiniowany = (bool)cenaGrupowa.RabatZdefiniowany }); } kontrahent.Synchronizacja = (int)Types.RowSynchronizeOld.NotsynchronizedNew; kontrahent.DoSaveChanges(ContextManager.WebContext); } catch (Exception ex) { MessageBox.Show(ex.Message); } } else if (kontrahent != null) { kontrahent.Guid = this.Guid; } //ContextManager.WebContext.SaveChanges(); } return(kontrahent); }
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(); }