/// <summary> /// Generowanie formatek rozliczeniowych dla wszystkich aktywnych klientów /// </summary> /// <param name="properties"></param> internal static void Execute_GenFormRozl(SPItemEventProperties properties, SPWeb web) { Debug.WriteLine("Execute_GenFromRozl"); StringBuilder msg = new StringBuilder(); StringBuilder sb = new StringBuilder(); //sprawdź parametry wywołania SPFieldMultiChoiceValue wt = new SPFieldMultiChoiceValue(properties.ListItem["enumTypKlienta"].ToString()); int okresId = new SPFieldLookupValue(properties.ListItem["selOkres"].ToString()).LookupId; SPListItem item = properties.ListItem; for (int i = 0; i < wt.Count; i++) { if (okresId > 0) { string typKlienta = wt[i]; Array klienci = tabKlienci.Get_AktywniKlienci_Serwis(web, typKlienta); Debug.WriteLine("Wybrano klientów: " + klienci.Length.ToString()); bool createKK = Get_Flag(item, "colDodajKartyKontrolne"); //sprawdź czy jest ograniczona lista serwisów if (item["selSewisy"] != null && BLL.Tools.Get_LookupValueColection(item, "selSewisy").Count > 0) { SPFieldLookupValueCollection serwisy = BLL.Tools.Get_LookupValueColection(item, "selSewisy"); klienci = Refine_Klienci(klienci, serwisy); Debug.WriteLine("Ograniczono listę do: " + klienci.Length.ToString()); foreach (SPListItem klient in klienci) { Debug.WriteLine("klientId=" + klient.ID.ToString()); foreach (SPFieldLookupValue v in serwisy) { switch (v.LookupValue) { case "ZUS-D": case "ZUS-D+C": case "ZUS-M": case "ZUS-M+C": case "ZUS-ZD": case "ZUS-PRAC": ZUS_Forms.CreateAll(web, klienci, okresId, createKK); break; case "PDS-M": case "PDS-KW": PDS_Forms.CreateAll(web, klienci, okresId, createKK); break; case "PDW-M": case "PDW-KW": //PDW_Forms.Create(web, klienci, okresId, createKK); break; case "PD-M": case "PD-KW": PD_Forms.CreateAll(web, klienci, okresId, createKK); break; case "VAT-M": case "VAT-KW": VAT_Forms.CreateAll(web, klienci, okresId, createKK); break; case "RBR": BR_Forms.CreateAll(web, klienci, okresId, createKK); break; case "POW-Dok": case "POW-WBank": Reminder_Forms.CreateAll(web, klienci, okresId); break; default: break; } } } } else { switch (typKlienta) { case "KPiR": ZUS_Forms.CreateAll(web, klienci, okresId, createKK); PD_Forms.CreateAll(web, klienci, okresId, createKK); //PDW_Forms.Create(web, klienci, okresId, createKK); VAT_Forms.CreateAll(web, klienci, okresId, createKK); BR_Forms.CreateAll(web, klienci, okresId, createKK); Reminder_Forms.CreateAll(web, klienci, okresId); break; case "KSH": ZUS_Forms.CreateAll(web, klienci, okresId, createKK); PDS_Forms.CreateAll(web, klienci, okresId, createKK); VAT_Forms.CreateAll(web, klienci, okresId, createKK); BR_Forms.CreateAll(web, klienci, okresId, createKK); Reminder_Forms.CreateAll(web, klienci, okresId); break; case "Firma": PDS_Forms.CreateAll(web, klienci, okresId, createKK); break; case "Osoba fizyczna": ZUS_Forms.CreateAll(web, klienci, okresId, createKK); PD_Forms.CreateAll(web, klienci, okresId, createKK); //PDW_Forms.Create(web, klienci, okresId, createKK); VAT_Forms.CreateAll(web, klienci, okresId, createKK); break; default: break; } } //informacja dla operatora foreach (SPListItem klient in klienci) { msg.AppendFormat(@"<li>klient# {0} {1}</li>", klient.ID.ToString(), BLL.Tools.Get_Text(klient, "_NazwaPrezentowana")); } } } // info o zakończeniu procesu string bodyHTML = string.Empty; if (msg.Length > 0) { bodyHTML = string.Format(@"<ul>{0}</ul>", msg.ToString()); } string subject = string.Format(@"Generowanie formatek rozliczeniowych dla klientów typu {0}", wt.ToString()); SPEmail.EmailGenerator.SendProcessEndConfirmationMail(subject, bodyHTML, web, item); }