예제 #1
0
        private void KontrahentEditForm_Load(object sender, EventArgs e)
        {
            if (this.DataSource != null)
            {
                setEnovaTextBox();

                if (((Enova.Business.Old.DB.Web.Kontrahent) this.DataSource).EntityState != System.Data.EntityState.Detached &&
                    ((Enova.Business.Old.DB.Web.Kontrahent) this.DataSource).EntityState != System.Data.EntityState.Added)
                {
                    Enova.Business.Old.Core.ContextManager.WebContext.Refresh(System.Data.Objects.RefreshMode.StoreWins, this.DataSource);
                    ((Enova.Business.Old.DB.Web.Kontrahent) this.DataSource).Adresy.Load();
                }

                Enova.Business.Old.DB.Web.Adres adres = ((Enova.Business.Old.DB.Web.Kontrahent) this.DataSource).DomyslnyAdresFaktury;
                if (adres == null)
                {
                    adres = new Enova.Business.Old.DB.Web.Adres()
                    {
                        Domyslny             = true,
                        DomyslnyAdresFaktury = true,
                        DomyslnyAdresWysylki = false,
                        Kontrahent           = (Enova.Business.Old.DB.Web.Kontrahent) this.DataSource
                    }
                }
                ;

                adresBindingSource.DataSource = adres;
                Enova.Business.Old.DB.Web.Adres adresKor = ((Enova.Business.Old.DB.Web.Kontrahent) this.DataSource)
                                                           .Adresy.Where(a => a.DomyslnyAdresWysylki == true && (a.Usuniety == null || a.Usuniety == false) &&
                                                                         (a.DomyslnyAdresFaktury == null || a.DomyslnyAdresFaktury == false)).FirstOrDefault();


                if (adresKor == null)
                {
                    adresKor = new Enova.Business.Old.DB.Web.Adres()
                    {
                        Kontrahent           = (Enova.Business.Old.DB.Web.Kontrahent) this.DataSource,
                        DomyslnyAdresFaktury = false,
                        DomyslnyAdresWysylki = true
                    };
                }
                else
                {
                    checkBox1.Checked = false;
                }



                adresKorBindingSource.DataSource = adresKor;
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
        public static Enova.Business.Old.DB.Web.Kontrahent GetWebKontrahent(API.CRM.Kontrahent enova, bool insert)
        {
            Web.Kontrahent kontrahent = Enova.Business.Old.Core.ContextManager.WebContext.Kontrahenci.Where(k => k.Guid == enova.Guid).FirstOrDefault();
            if (kontrahent == null)
            {
                kontrahent = Core.ContextManager.WebContext.Kontrahenci.Where(k => k.Kod == enova.Kod && k.Nip == enova.NIP).FirstOrDefault();
                if (kontrahent == null && insert)
                {
                    try
                    {
                        kontrahent = new Web.Kontrahent(enova);
                        Core.ContextManager.WebContext.AddToKontrahenci(kontrahent);
                        kontrahent.Synchronizacja = (int)Types.RowSynchronizeOld.Notsaved;
                        kontrahent.DoSaveChanges(Core.ContextManager.WebContext);

                        //ContextManager.WebContext.SaveChanges();

                        Enova.Business.Old.DB.Web.Adres adres    = null;
                        Enova.Business.Old.DB.Web.Adres adresKor = null;

                        if (enova.Adres != null)
                        {
                            adres = new Web.Adres(enova, enova.Adres, 1);
                            kontrahent.Adresy.Add(adres);
                            adres.DoSaveChanges(Core.ContextManager.WebContext);
                        }

                        if (enova.AdresDoKorespondencji != null && !string.IsNullOrEmpty(enova.AdresDoKorespondencji.KodPocztowy))
                        {
                            adresKor = new Web.Adres(enova, enova.AdresDoKorespondencji, 2);
                            kontrahent.Adresy.Add(adresKor);
                            adresKor.DoSaveChanges(Core.ContextManager.WebContext);
                        }

                        if (adresKor == null)
                        {
                            adres.DomyslnyAdresWysylki = true;
                        }


                        /*
                         * foreach (var cenaGrupowa in enova.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(Core.ContextManager.WebContext);
                    }
                    catch (Exception ex)
                    {
                        BAL.Business.AppController.ThrowException(ex);
                    }
                }
                else if (kontrahent != null)
                {
                    kontrahent.Guid = enova.Guid;
                }
                //ContextManager.WebContext.SaveChanges();
            }

            return(kontrahent);
        }
예제 #4
0
        private void enovaButton_Click(object sender, EventArgs e)
        {
            if (((Enova.Business.Old.DB.Web.Kontrahent) this.DataSource).Guid != null)
            {
                DialogResult result = MessageBox.Show("Czy napewno chcesz zmienić kontrahenta ?", "EnovaTools", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == System.Windows.Forms.DialogResult.No)
                {
                    return;
                }
            }
            var view = new Enova.Forms.CRM.KontrahenciView()
            {
                SelectionMode = true
            };

            if (BAL.Forms.FormManager.Instance.ShowGridFormDialog(view) == System.Windows.Forms.DialogResult.OK)
            //if (form.SelectedItem != null)
            {
                //Enova.Business.Old.DB.Kontrahent enovaKontrahent = (Enova.Business.Old.DB.Kontrahent)form.SelectedItem;
                Enova.API.CRM.Kontrahent enovaKontrahent = (Enova.API.CRM.Kontrahent)view.Current;
                if (Enova.Business.Old.Core.ContextManager.WebContext.Kontrahenci.Any(k => k.Guid == enovaKontrahent.Guid))
                {
                    MessageBox.Show("Istnieje już konto dla tego kontrahenta", "EnovaTools", MessageBoxButtons.OK);
                    return;
                }
                Enova.Business.Old.DB.Web.Kontrahent kontrahent = (Enova.Business.Old.DB.Web.Kontrahent) this.DataSource;
                kontrahent.Guid  = enovaKontrahent.Guid;
                kontrahent.Kod   = enovaKontrahent.Kod;
                kontrahent.Nazwa = enovaKontrahent.Nazwa;
                kontrahent.Nip   = enovaKontrahent.NIP;

                string prKod = enovaKontrahent.Features["przedstawiciel"].ToString();

                Enova.Business.Old.DB.Web.Kontrahent przedstawiciel = Enova.Business.Old.Core.ContextManager.WebContext.Kontrahenci
                                                                      .Where(k => k.CzyAgent == true && k.Kod == prKod).FirstOrDefault();

                kontrahent.Przedstawiciel = przedstawiciel;
                przedstawicielComboBox.DataBindings["SelectedItem"].ReadValue();


                var enovaAdres = enovaKontrahent.Adres;
                Enova.Business.Old.DB.Web.Adres adres = kontrahent.DomyslnyAdresFaktury;
                adres.KodPocztowy = enovaAdres.KodPocztowy;
                adres.Miasto      = enovaAdres.Miejscowosc;
                adres.Adres1      = enovaAdres.Ulica + (enovaAdres.NrDomu != "" ? (" " + enovaAdres.NrDomu + (enovaAdres.NrLokalu != "" ? "/" + enovaAdres.NrLokalu : "")) : "");
                adres.Alias       = enovaKontrahent.Kod;
                adres.Firma       = enovaKontrahent.Nazwa;
                adres.Telefon     = enovaAdres.Telefon;

                var enovaAdresKor = enovaKontrahent.AdresDoKorespondencji;
                if (enovaAdresKor != null && !string.IsNullOrEmpty(enovaAdresKor.KodPocztowy) && enovaAdresKor.KodPocztowy != "0")
                {
                    Enova.Business.Old.DB.Web.Adres adresKor = kontrahent.Adresy.Where(a => a.DomyslnyAdresFaktury == false && a.DomyslnyAdresWysylki == true).FirstOrDefault();
                    adresKor.Firma       = enovaKontrahent.Nazwa;
                    adresKor.Alias       = enovaKontrahent.Kod;
                    adresKor.Adres1      = enovaAdresKor.Ulica + (enovaAdresKor.NrDomu != "" ? (" " + enovaAdresKor.NrDomu + (enovaAdresKor.NrLokalu != "" ? "/" + enovaAdresKor.NrLokalu : "")) : "");
                    adresKor.KodPocztowy = enovaAdresKor.KodPocztowy;
                    adresKor.Miasto      = enovaAdresKor.Miejscowosc;
                    adresKor.Telefon     = enovaAdresKor.Telefon;
                }

                setEnovaTextBox();
            }
        }