private void usunPozycje() { if (pozycjeZwrotuGrid.CurrentRow != null) { DialogResult result = MessageBox.Show("Czy napewno chcesz usunąć pozycję?", "EnovaTools", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == System.Windows.Forms.DialogResult.Yes) { PozycjaZwrotu poz = (PozycjaZwrotu)pozycjeZwrotuGrid.CurrentRow.DataBoundItem; poz.ToRemove = true; pozycjeZwrotuGrid.Rows.Remove(pozycjeZwrotuGrid.CurrentRow); } Zwrot.ReIdentPozycje(); } }
private void generujZwrotButton_Click(object sender, EventArgs e) { if (MessageBox.Show("Czy napewno chcesz wygenerować zwrot", "AbakTools", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { this.Cursor = Cursors.WaitCursor; this.Enabled = false; var dc = Enova.Business.Old.Core.ContextManager.WebContext; Zwrot nowyZwrot = new Zwrot() { Guid = Guid.NewGuid(), DataDodania = DateTime.Now, DataModyfikacji = DateTime.Now, Deleted = false, IloscPaczek = 0, SkorygowanyWCalosci = false, Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew, Kontrahent = this.Zwrot.Kontrahent, Opis = "Zwrot z pozycji nieskorygowanych ze zwrotu " + this.Zwrot.ID, OstatniStatus = dc.StatusyZwrotow.Where(sz => sz.Typ == (int)TypStatusuZwrotu.ZwrotZNieskorygowanych).FirstOrDefault() }; nowyZwrot.HistoriaZwrotu.Add(new HistoriaZwrotu() { Data = DateTime.Now, Deleted = false, Guid = Guid.NewGuid(), Status = dc.StatusyZwrotow.Where(sz => sz.Typ == (int)TypStatusuZwrotu.ZwrotZNieskorygowanych).FirstOrDefault(), Synchronize = (int)RowSynchronizeOld.NotsynchronizedNew, Uzytkownik = User.LoginedUser }); dc.OptimisticSaveChanges(); dc.Refresh(System.Data.Objects.RefreshMode.StoreWins, nowyZwrot); var pozycje = this.Zwrot.Pozycje.Where(p => p.Deleted == false && p.Synchronizacja != (int)RowSynchronizeOld.NotsynchronizedDelete && (p.IloscSkorygowana == null || p.IloscSkorygowana < p.Ilosc)).ToList(); foreach (var poz in pozycje) { var nowaPozycja = new PozycjaZwrotu() { Cena = poz.Cena, Guid = Guid.NewGuid(), Deleted = false, Ilosc = poz.IloscPozostaloDoSkorygowania, IloscOrg = poz.IloscPozostaloDoSkorygowania, IloscSkorygowana = 0, Opis = poz.Opis, Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew, Towar = poz.Towar, TowarNazwa = poz.TowarNazwa }; nowyZwrot.Pozycje.Add(nowaPozycja); if (poz.IloscOrg == null) { poz.IloscOrg = poz.Ilosc; } poz.Ilosc -= nowaPozycja.Ilosc; } this.Zwrot.SkorygowanyWCalosci = true; this.Zwrot.PrzeliczWartosc(); nowyZwrot.ReIdentPozycje(); nowyZwrot.PrzeliczWartosc(); dc.OptimisticSaveChanges(); dc.Refresh(System.Data.Objects.RefreshMode.StoreWins, this.Zwrot); dc.Refresh(System.Data.Objects.RefreshMode.StoreWins, nowyZwrot); this.Enabled = true; this.Cursor = Cursors.Default; this.Close(); MessageBox.Show("Wygenerowano nowy zwrot o numerze " + nowyZwrot.ID); } }
private void rozdzielButton_Click(object sender, EventArgs e) { if (this.pozycjeZwrotuGrid.SelectedRows.Count > 0 && MessageBox.Show("Czy napewno chcesz rozdzielić zwrot?", "EnovaTools", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes) { List <PozycjaZwrotu> pozycje = new List <PozycjaZwrotu>(); foreach (DataGridViewRow row in this.pozycjeZwrotuGrid.SelectedRows) { if (row.DataBoundItem != null) { pozycje.Add((PozycjaZwrotu)row.DataBoundItem); } } Zwrot nowyZwrot = new Zwrot() { DataDodania = DateTime.Now, DataModyfikacji = DateTime.Now, Deleted = false, Guid = Guid.NewGuid(), IloscPaczek = 0, Kontrahent = this.Zwrot.Kontrahent, Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew, }; DbContext.SaveChanges(); DbContext.Refresh(RefreshMode.StoreWins, nowyZwrot); nowyZwrot.HistoriaZwrotu.Add(new HistoriaZwrotu() { Data = DateTime.Now, Deleted = false, Guid = Guid.NewGuid(), Status = this.Zwrot.OstHistoriaZwrotu.Status, Synchronize = (int)RowSynchronizeOld.NotsynchronizedNew, Uzytkownik = User.LoginedUser, }); foreach (var pozycja in pozycje) { nowyZwrot.Pozycje.Add(new PozycjaZwrotu() { Cena = pozycja.Cena, Deleted = false, Guid = Guid.NewGuid(), Ident = nowyZwrot.GetMaxIdent() + 1, Ilosc = pozycja.Ilosc, Opis = pozycja.Opis, IlocsDeklarowana = pozycja.IlocsDeklarowana, Synchronizacja = (int)RowSynchronizeOld.NotsynchronizedNew, Towar = pozycja.Towar, TowarNazwa = pozycja.TowarNazwa }); pozycja.Deleted = true; } this.Zwrot.ReIdentPozycje(); this.Zwrot.PrzeliczWartosc(); nowyZwrot.ReIdentPozycje(); nowyZwrot.PrzeliczWartosc(); DbContext.SaveChanges(); DbContext.Refresh(RefreshMode.StoreWins, nowyZwrot); this.loadPozycje(); MessageBox.Show("Stworzono nowy zwrot o numerze " + nowyZwrot.ID); } }