Пример #1
0
 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);
 }
Пример #2
0
        /*
         * 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);
        }
Пример #3
0
 public ZamowienieMagazynAVView(DbWeb.Zamowienie zamowienie)
 {
     this.zamowienie = zamowienie;
 }
Пример #4
0
        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();
        }
Пример #5
0
        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;
                }
            }
        }