Beispiel #1
0
        private void dodajPozycje(Enova.Business.Old.DB.Towar towar = null)
        {
            Produkt local = null;

            if (towar == null)
            {
                var form = WyborForm;
                form.ShowDialog();
                this.Activate();


                local = (Produkt)form.SelectedItem;
            }
            else
            {
                local = (Produkt)towar;
            }



            if (local != null && checkObrot(local))
            {
                PozycjaAdding();

                var pozycja = new Enova.Business.Old.DB.Web.PozycjaZwrotu()
                {
                    Towar          = local,
                    Guid           = Guid.NewGuid(),
                    Ident          = Zwrot.GetMaxIdent() + 1,
                    TowarNazwa     = local.Kod + " - " + local.Nazwa,
                    Cena           = local.Cena == null ? 0 : local.Cena.Value,
                    Ilosc          = 1,
                    Deleted        = false,
                    Synchronizacja = (int)Enova.Business.Old.Types.RowSynchronizeOld.NotsynchronizedNew
                };

                Zwrot.Pozycje.Add(pozycja);
                pozycjeZwrotuGrid.Focus();
                loadPozycje();
                Zwrot.PrzeliczWartosc();
                goToLastRow();
            }
        }
Beispiel #2
0
        private void generujZwrotButton_Click(object sender, EventArgs e)
        {
            if (this.Reklamacja.ID == 0)
            {
                BAL.Forms.FormManager.Alert("Musisz najpierw zapisać zwrot");
                return;
            }

            if (!BAL.Forms.FormManager.Confirm("Czy napewno chcesz wygenerować zwrot z reklamacji?"))
            {
                return;
            }

            var dc = (Enova.Business.Old.DB.Web.WebContext)Reklamacja.DbContext;

            var zwrot = new OldDBWeb.Zwrot();

            dc.Zwroty.AddObject(zwrot);
            var kontrahent = dc.Kontrahenci.Where(r => r.ID == this.Reklamacja.Kontrahent.ID).FirstOrDefault();

            zwrot.Kontrahent          = kontrahent;
            zwrot.DataDodania         = DateTime.Now;
            zwrot.DataModyfikacji     = zwrot.DataDodania;
            zwrot.Deleted             = false;
            zwrot.Guid                = Guid.NewGuid();
            zwrot.IloscPaczek         = 0;
            zwrot.Opis                = "Zwrot do reklamacji " + this.Reklamacja.Numer.NumerPelny;
            zwrot.SkorygowanyWCalosci = false;
            zwrot.Synchronizacja      = (int)Enova.Business.Old.Types.RowSynchronizeOld.NotsynchronizedNew;
            zwrot.SetStatus(OldDBWeb.TypStatusuZwrotu.Sprawdzony);

            int ident = 1;

            foreach (var poz in this.Reklamacja.Pozycje.Where(r => r.Indywidualny == false && r.IloscBraki > 0))
            {
                var towar   = dc.Produkty.Where(r => r.ID == poz.TowarID).First();
                var pozycja = new OldDBWeb.PozycjaZwrotu()
                {
                    Cena             = towar.Cena == null ? 0 : towar.Cena.Value,
                    Deleted          = false,
                    Guid             = Guid.NewGuid(),
                    Ident            = ident++,
                    IlocsDeklarowana = 0,
                    Ilosc            = poz.IloscBraki,
                    IloscOrg         = poz.IloscBraki,
                    IloscSkorygowana = 0,
                    Opis             = "",
                    Synchronizacja   = (int)Enova.Business.Old.Types.RowSynchronizeOld.NotsynchronizedNew,
                    Towar            = towar,
                    TowarNazwa       = towar.Nazwa,
                    Zwrot            = zwrot
                };
            }

            var form = new AbakTools.Zwroty.Forms.ZwrotEditForm();

            form.DataSource = zwrot;
            if (form.ShowDialog() == DialogResult.OK)
            {
                int opt = (int)Core.OpcjeStatusuDokumentu.Koncowy;
                //var statusy = Core.CoreModule.GetInstance(this.DataContext).StatusyDokumentow.WgOpcji[Core.OpcjeStatusuDokumentu.Koncowy].ToList();
                var statusy = dc.StatusyDokumentow.Where(r => r.Kategoria == "Reklamacje" && (r.OpcjeInt & opt) == opt).ToList();
                if (statusy.Count == 0)
                {
                    BAL.Forms.FormManager.Alert("UWAGA !!! Brak zdefiniowanego statusu końcowego dla reklamacji");
                    return;
                }
                //Core.StatusDokumentu status = null;
                Enova.Business.Old.DB.Web.StatusDokumentu status = null;
                if (statusy.Count > 1)
                {
                    var form2 = new Core.Forms.WyborStatusuForm()
                    {
                        Statusy = statusy
                    };

                    if (form2.ShowDialog() == DialogResult.OK)
                    {
                        status = form2.WybranyStatus;
                    }
                }
                else
                {
                    status = statusy.First();
                }

                if (status != null)
                {
                    this.Reklamacja.ZmienStatus(status, "Wygenerowano zwrot nr: " + zwrot.ID);
                }
            }
        }