isotonicq

Untitled

Feb 27th, 2019
99
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System.Linq;
  2. using BST.MarrodentObiegDokumentowEmail.Klasy;
  3. using BST.MarrodentObiegDokumentowEmail.Konfiguracja;
  4. using Soneta.Business;
  5. using Soneta.Business.App;
  6. using Soneta.Handel;
  7. using Soneta.Types;
  8. using Soneta.Kadry;
  9. using Soneta.Zadania;
  10.  
  11. [assembly: Service(typeof(ISessionListener), typeof(SessionListener))]
  12.  
  13. namespace BST.MarrodentObiegDokumentowEmail.Klasy
  14. {
  15.     public sealed class SessionListener : ISessionListener
  16.     {
  17.         public void Created(Session session)
  18.         {
  19.         }
  20.  
  21.         public void BusinessCommit(Session session)
  22.         {
  23.         }
  24.  
  25.         public void Saving(Session session)
  26.         {
  27.         }
  28.  
  29.         public void Saved(Session session)
  30.         {
  31.         }
  32.  
  33.         public void ServerSaving(Session session)
  34.         {
  35.         }
  36.  
  37.         public void ServerSaved(Session session)
  38.         {
  39.             if (!new KonfiguracjaMarrodentObiegDokumentowEmail(session).AktywnyObieg) return;
  40.             if(!string.IsNullOrWhiteSpace(session.Name) && session.Name == "BST Workflow") return;
  41.  
  42.             foreach (DokumentHandlowy dokumentHandlowy in session.Tables["DokHandlowe"].Rows.Changed)
  43.             {
  44.                 //Drukowanie
  45.                 if (!dokumentHandlowy.Features.GetBool("BylDrukowanyWorkflow"))
  46.                 {
  47.                     if (dokumentHandlowy.Definicja.Symbol.ToUpper() == "PW" || dokumentHandlowy.Definicja.Symbol.ToUpper() == "MMWYP" || dokumentHandlowy.Definicja.Symbol.ToUpper() == "MM")
  48.                     {
  49.                         if (dokumentHandlowy.ID > 0 && dokumentHandlowy.Features.GetBool("DokumentZaakceptowany"))
  50.                         {
  51.                             using (Session sesja = session.Login.CreateSession(false,false, "BST Workflow"))
  52.                             {
  53.                                 HandelModule hm = HandelModule.GetInstance(sesja);
  54.  
  55.                                 using (ITransaction transakcja = sesja.Logout(true))
  56.                                 {
  57.                                     WydrukAspx druk = new WydrukAspx(dokumentHandlowy);
  58.                                     hm.DokHandlowe[dokumentHandlowy.Guid].Features["BylDrukowanyWorkflow"] = druk.Drukuj();
  59.  
  60.                                     foreach (PozycjaDokHandlowego pozycja in dokumentHandlowy.Pozycje)
  61.                                     {
  62.                                         if (((Amount)pozycja.Features["PierwotnaIlosc"]).Value == 0)
  63.                                             hm.PozycjeDokHan[pozycja.ID].Features["PierwotnaIlosc"] = new Amount(pozycja.Ilosc.Value, pozycja.Ilosc.Symbol);
  64.                                     }
  65.  
  66.                                     transakcja.CommitUI();
  67.                                 }
  68.                                 sesja.Save();
  69.                             }
  70.                         }
  71.                     }
  72.  
  73.                     if(dokumentHandlowy.Definicja.Symbol == "RW" && dokumentHandlowy.Stan != StanDokumentuHandlowego.Bufor && dokumentHandlowy.Stan != StanDokumentuHandlowego.Anulowany && dokumentHandlowy.ID > 0)
  74.                     {
  75.                         if (!dokumentHandlowy.Features.GetBool("BylDrukowanyWorkflow"))
  76.                         {
  77.                             using (Session sesja = session.Login.CreateSession(false, false, "BST Workflow"))
  78.                             {
  79.                                 HandelModule hm = HandelModule.GetInstance(sesja);
  80.  
  81.                                 using (ITransaction transakcja = sesja.Logout(true))
  82.                                 {
  83.                                     WydrukAspx druk = new WydrukAspx(dokumentHandlowy);
  84.                                     hm.DokHandlowe[dokumentHandlowy.Guid].Features["BylDrukowanyWorkflow"] = druk.Drukuj();
  85.                                     transakcja.CommitUI();
  86.                                 }
  87.                                 sesja.Save();
  88.                             }
  89.                         }
  90.                     }
  91.                 }
  92.             }
  93.         }
  94.  
  95.         public void OnLoaded(Row row)
  96.         {
  97.         }
  98.  
  99.         public void OnAdded(Row row)
  100.         {
  101.         }
  102.  
  103.         public void OnDeleting(Row row)
  104.         {
  105.         }
  106.  
  107.         public void OnDeleted(Row row)
  108.         {
  109.         }
  110.     }
  111. }
RAW Paste Data