Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Linq;
- using BST.MarrodentObiegDokumentowEmail.Klasy;
- using BST.MarrodentObiegDokumentowEmail.Konfiguracja;
- using Soneta.Business;
- using Soneta.Business.App;
- using Soneta.Handel;
- using Soneta.Types;
- using Soneta.Kadry;
- using Soneta.Zadania;
- [assembly: Service(typeof(ISessionListener), typeof(SessionListener))]
- namespace BST.MarrodentObiegDokumentowEmail.Klasy
- {
- public sealed class SessionListener : ISessionListener
- {
- public void Created(Session session)
- {
- }
- public void BusinessCommit(Session session)
- {
- }
- public void Saving(Session session)
- {
- }
- public void Saved(Session session)
- {
- }
- public void ServerSaving(Session session)
- {
- }
- public void ServerSaved(Session session)
- {
- if (!new KonfiguracjaMarrodentObiegDokumentowEmail(session).AktywnyObieg) return;
- if(!string.IsNullOrWhiteSpace(session.Name) && session.Name == "BST Workflow") return;
- foreach (DokumentHandlowy dokumentHandlowy in session.Tables["DokHandlowe"].Rows.Changed)
- {
- //Drukowanie
- if (!dokumentHandlowy.Features.GetBool("BylDrukowanyWorkflow"))
- {
- if (dokumentHandlowy.Definicja.Symbol.ToUpper() == "PW" || dokumentHandlowy.Definicja.Symbol.ToUpper() == "MMWYP" || dokumentHandlowy.Definicja.Symbol.ToUpper() == "MM")
- {
- if (dokumentHandlowy.ID > 0 && dokumentHandlowy.Features.GetBool("DokumentZaakceptowany"))
- {
- using (Session sesja = session.Login.CreateSession(false,false, "BST Workflow"))
- {
- HandelModule hm = HandelModule.GetInstance(sesja);
- using (ITransaction transakcja = sesja.Logout(true))
- {
- WydrukAspx druk = new WydrukAspx(dokumentHandlowy);
- hm.DokHandlowe[dokumentHandlowy.Guid].Features["BylDrukowanyWorkflow"] = druk.Drukuj();
- foreach (PozycjaDokHandlowego pozycja in dokumentHandlowy.Pozycje)
- {
- if (((Amount)pozycja.Features["PierwotnaIlosc"]).Value == 0)
- hm.PozycjeDokHan[pozycja.ID].Features["PierwotnaIlosc"] = new Amount(pozycja.Ilosc.Value, pozycja.Ilosc.Symbol);
- }
- transakcja.CommitUI();
- }
- sesja.Save();
- }
- }
- }
- if(dokumentHandlowy.Definicja.Symbol == "RW" && dokumentHandlowy.Stan != StanDokumentuHandlowego.Bufor && dokumentHandlowy.Stan != StanDokumentuHandlowego.Anulowany && dokumentHandlowy.ID > 0)
- {
- if (!dokumentHandlowy.Features.GetBool("BylDrukowanyWorkflow"))
- {
- using (Session sesja = session.Login.CreateSession(false, false, "BST Workflow"))
- {
- HandelModule hm = HandelModule.GetInstance(sesja);
- using (ITransaction transakcja = sesja.Logout(true))
- {
- WydrukAspx druk = new WydrukAspx(dokumentHandlowy);
- hm.DokHandlowe[dokumentHandlowy.Guid].Features["BylDrukowanyWorkflow"] = druk.Drukuj();
- transakcja.CommitUI();
- }
- sesja.Save();
- }
- }
- }
- }
- }
- }
- public void OnLoaded(Row row)
- {
- }
- public void OnAdded(Row row)
- {
- }
- public void OnDeleting(Row row)
- {
- }
- public void OnDeleted(Row row)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement