Beispiel #1
0
        private static void ManageTasks(Microsoft.SharePoint.SPItemEventProperties properties)
        {
            // TODO:obsługa zadań nie podlegających restrykcjom czasowym

            Manage_ProsbaOPrzeslanieWyciaguBankowego(properties);
            Manage_ProsbaODokumenty(properties);
        }
Beispiel #2
0
        private static void Manage_ProsbaOPrzeslanieWyciaguBankowego(Microsoft.SharePoint.SPItemEventProperties properties)
        {
            List <SPListItem> list = BLL.tabZadania.Get_ActiveTasksByContentType(properties.Web, "Prośba o przesłanie wyciągu bankowego");

            foreach (SPListItem item in list)
            {
                Set_StatusZadania(item, "Gotowe");
            }
        }
Beispiel #3
0
        internal static void Execute(Microsoft.SharePoint.SPItemEventProperties properties, Microsoft.SharePoint.SPWeb web)
        {
            results = BLL.tabWiadomosci.Select_Batch(web);

            foreach (SPListItem item in results)
            {
                //todo: ??? obsługa pojedyńczej wiadomości - to chyba nie w tym miejscu
                BLL.Workflows.StartWorkflow(item, "Obsługa wiadomości");
                Debug.WriteLine("Workflow initiated for message #" + item.ID.ToString());
            }
        }
Beispiel #4
0
        const string targetList = @"Faktury za obsługę - import"; //"intFakturyZaObsluge";

        internal static void Execute(Microsoft.SharePoint.SPItemEventProperties properties, Microsoft.SharePoint.SPWeb web)
        {
            SPListItem sItem   = properties.ListItem;
            int        okresId = new SPFieldLookupValue(sItem["selOkres"].ToString()).LookupId;

            SPList list = web.Lists.TryGetList(targetList);

            list.Items.Cast <SPListItem>()
            .ToList()
            .ForEach(item =>
            {
                Import_DaneOFakturze(web, item, okresId);
            });
        }
Beispiel #5
0
        private static void ManageTasks_WorkingHours(Microsoft.SharePoint.SPItemEventProperties properties)
        {
            TimeSpan startTS     = TimeSpan.Parse(BLL.admSetup.GetValue(properties.Web, "PROC_TASK_START"));
            TimeSpan endTS       = TimeSpan.Parse(BLL.admSetup.GetValue(properties.Web, "PROC_TASK_END"));
            TimeSpan currentTime = DateTime.Now.TimeOfDay;

            if (currentTime.CompareTo(startTS) < 0 || currentTime.CompareTo(endTS) > 0)
            {
                //zatrzymaj procedurę jeżeli aktualny czas nie mieści się w dozwolonym przedziale
                return;
                //Manage_ProsbaOPrzeslanieWyciaguBankowego(properties);
                //Manage_ProsbaODokumenty(properties);
                //Manage_AudytowaneZadania(properties);
            }
        }
        const string targetList = @"Bufor wiadomości"; //"intBuforWiadomosci";

        internal static void Execute(Microsoft.SharePoint.SPItemEventProperties properties, Microsoft.SharePoint.SPWeb web)
        {
            SPList list = web.Lists.TryGetList(targetList);

            //if (list != null)
            //{
            list.Items.Cast <SPListItem>()
            .ToList()
            .ForEach(item =>
            {
                //WorkflowHelpers.StartWorkflow(item, "wfImport_WiadomoscBufora.OnDemand");
            });

            //}
        }
Beispiel #7
0
        internal static void Execute(Microsoft.SharePoint.SPItemEventProperties properties, Microsoft.SharePoint.SPWeb web, out string message)
        {
            StringBuilder sb = new StringBuilder();

            //sprawdź parametry wywołania
            SPFieldMultiChoiceValue wt = new SPFieldMultiChoiceValue(properties.ListItem["enumTypKlienta"].ToString());

            SPList list = web.Lists.TryGetList(targetList);

            for (int i = 0; i < wt.Count; i++)
            {
                switch (wt[i])
                {
                case "KPiR":
                    Import_KPiR(web, list);
                    sb.AppendFormat(@"<li>{1} Import {0} zakończony</li>", wt[i], DateTime.Now.ToString());
                    break;

                case "KSH":
                    Import_KSH(web, list);
                    sb.AppendFormat(@"<li>{1} Import {0} zakończony</li>", wt[i], DateTime.Now.ToString());
                    break;

                case "Osoba fizyczna":
                    Import_OsobaFizyczna(web, list);
                    sb.AppendFormat(@"<li>{1} Import {0} zakończony</li>", wt[i], DateTime.Now.ToString());
                    break;

                case "Firma":
                    Import_Firma(web, list);
                    sb.AppendFormat(@"<li>{1} Import {0} zakończony</li>", wt[i], DateTime.Now.ToString());
                    break;

                default:
                    break;
                }
            }

            message = String.Format(@"<ul>{0}</ul>", sb.ToString());
        }
        const string targetList = @"Przeterminowane należności - import"; //"intPrzeterminowaneNaleznosci";

        internal static void Execute(Microsoft.SharePoint.SPItemEventProperties properties, Microsoft.SharePoint.SPWeb web)
        {
            string mode = properties.ListItem["cmdPrzeterminowaneNaleznosci"] != null ? properties.ListItem["cmdPrzeterminowaneNaleznosci"].ToString() : string.Empty;

            SPList list = web.Lists.TryGetList(targetList);


            Array aRekordy = list.Items.Cast <SPListItem>()
                             .OrderBy(i => i["Title"].ToString())
                             .ThenBy(i => i["colDataSprzedazy"].ToString())
                             .ThenBy(i => i["colTerminPlatnosci"].ToString())
                             .ToArray();

            List <string> lstDluznicy = new List <string>();

            if (aRekordy != null)
            {
                string klient  = string.Empty;
                string klient0 = string.Empty;
                foreach (SPListItem item in aRekordy)
                {
                    string dluznik = item["Title"].ToString();

                    if (!lstDluznicy.Exists(i => i == dluznik))
                    {
                        lstDluznicy.Add(dluznik);
                    }
                }
            }

            foreach (string dluznik in lstDluznicy)
            {
                int klientId = tabKlienci.Get_KlientId_BestFit(web, dluznik);
                if (klientId > 0)
                {
                    Array items = list.Items.Cast <SPListItem>()
                                  .Where(i => i["Title"].ToString() == dluznik)
                                  .ToArray();

                    StringBuilder sb          = new StringBuilder();
                    string        rowTemplate = dicSzablonyKomunikacji.Get_TemplateByKod(web, "OVERDUE_PAYMENTS_TR_TEMPLATE", false);
                    double        value1total = 0;
                    double        value2total = 0;


                    foreach (SPListItem item in items)
                    {
                        item["selKlient"] = klientId;
                        item.SystemUpdate();


                        StringBuilder sbRow = new StringBuilder(rowTemplate);
                        sbRow.Replace("___colNumerFaktury___", item["colNumerFaktury"].ToString());
                        sbRow.Replace("___colDataSprzedazy___", item["colDataSprzedazy"].ToString());
                        sbRow.Replace("___colDataWystawienia___", item["colDataWystawienia"].ToString());
                        sbRow.Replace("___colTerminPlatnosci___", item["colTerminPlatnosci"].ToString());

                        //int dniZwloki = (DateTime.Today - DateTime.Parse(item["colTerminPlatnosci"].ToString())).Days;

                        double value1 = Double.Parse(item["colKwotaFaktury"].ToString());
                        value1total = value1total + value1;
                        double value2 = Double.Parse(item["colKwotaDlugu"].ToString());
                        value2total = value2total + value2;

                        sbRow.Replace("___colKwotaFaktury___", BLL.Tools.Format_Currency(value1));
                        sbRow.Replace("___colZaplacono___", BLL.Tools.Format_Currency(value1 - value2));
                        sbRow.Replace("___colKwotaDlugu___", BLL.Tools.Format_Currency(value2));

                        sb.Append(sbRow);
                    }

                    string temat;
                    string trescHTML;

                    //StringBuilder sb0 = new StringBuilder(dicSzablonyKomunikacji.Get_TemplateByKod(web, "OVERDUE_PAYMENTS_TEMPLATE.Include", false));
                    dicSzablonyKomunikacji.Get_TemplateByKod(web, "OVERDUE_PAYMENTS_TEMPLATE.Include", out temat, out trescHTML, false);
                    StringBuilder sb0 = new StringBuilder(trescHTML);
                    sb0.Replace("___TABLE_ROW___", sb.ToString());
                    sb0.Replace("___colKwotaFakturyRazem___", BLL.Tools.Format_Currency(value1total));
                    sb0.Replace("___colKwotaDluguRazem___", BLL.Tools.Format_Currency(value2total));


                    StringBuilder lt = new StringBuilder(dicSzablonyKomunikacji.Get_TemplateByKod(web, "OVERDUE_PAYMENTS_LEADING_TEXT", false));
                    lt.Replace("___FIRMA___", BLL.tabKlienci.Get_NazwaFirmyById(web, klientId));
                    lt.Replace("___ADRES___", BLL.tabKlienci.Get_PelnyAdresFirmyById(web, klientId));
                    lt.Replace("___DATA___", DateTime.Now.ToShortDateString());
                    sb0.Replace("___OVERDUE_PAYMENTS_LEADING_TEXT___", lt.ToString());

                    StringBuilder tt = new StringBuilder(dicSzablonyKomunikacji.Get_TemplateByKod(web, "OVERDUE_PAYMENTS_TRAILING_TEXT", false));
                    tt.Replace("___DATA___", DateTime.Now.ToShortDateString());
                    tt.Replace("___KwotaDoZaplaty___", BLL.Tools.Format_Currency(value2total));
                    sb0.Replace("___OVERDUE_PAYMENTS_TRAILING_TEXT___", tt.ToString());


                    if (mode == "Import")
                    {
                        //zapisz w buforze wiadomości o ile

                        string nadawca  = BLL.admSetup.GetValue(web, "EMAIL_BIURA");
                        string odbiorca = BLL.tabKlienci.Get_EmailById(web, klientId);
                        string kopiaDla = BLL.dicOperatorzy.EmailByUserId(web, properties.CurrentUserId);

                        //dodanie nazwy firmy do tematu
                        temat = BLL.Tools.AddCompanyName(web, temat, klientId);

                        trescHTML = sb0.ToString();

                        BLL.tabWiadomosci.AddNew(web, nadawca, odbiorca, kopiaDla, false, true, temat, string.Empty, trescHTML, new DateTime(), 0, klientId);

                        foreach (SPListItem item in items)
                        {
#if DEBUG
                            // w trybie debugowania przetworzony rekord nie jest usówany z tablicy źródłowej
#else
                            item.Delete();
#endif
                        }
                    }

                    // jeżeli mode "Weryfikacja" to jedynie mamy przypisanie kodu klient do rekordu i dzięki temu wiemy czy rekord został rozpoznany czy nie
                }
            }
        }
Beispiel #9
0
 internal static void Execute(Microsoft.SharePoint.SPItemEventProperties properties, Microsoft.SharePoint.SPWeb web)
 {
     ManageTasks_WorkingHours(properties);
     ManageTasks(properties);
 }
Beispiel #10
0
        internal static void Execute(Microsoft.SharePoint.SPItemEventProperties properties, Microsoft.SharePoint.SPWeb web)
        {
            StringBuilder msg = new StringBuilder();

            SPListItem item = properties.ListItem;

            // sprawdź czy wybrana procedura jest obsługiwana
            string procName = string.Empty;
            int    procId   = 0;

            if (item["selProcedura"] != null)
            {
                procName = new SPFieldLookupValue(item["selProcedura"].ToString()).LookupValue;
                procId   = new SPFieldLookupValue(item["selProcedura"].ToString()).LookupId;
            }

            switch (procName)
            {
            case ": Rozliczenie podatku dochodowego":
            case ": Rozliczenie podatku dochodowego spółki":
            case ": Rozliczenie podatku VAT":
            case ": Rozliczenie ZUS":
                Array tasks = BLL.tabZadania.Get_GotoweZadaniaByProceduraId(web, procId);
                foreach (SPListItem task in tasks)
                {
                    //Sprawdź czy klient ma ustawiony serwis AD czy ADO
                    //w przypadku AD zablokuj automatyczną akceptację

                    if (BLL.tabKlienci.Has_ServiceById(task.Web, BLL.Tools.Get_LookupId(task, "selKlient"), "ADO"))
                    {
                        //uruchom proces zatwierdzenia
                        Update_msg(msg, procName, task);
                        BLL.WorkflowHelpers.StartWorkflow(task, "Zatwierdzenie zadania");
                    }
                }

                break;

            case ": Prośba o dokumenty":
            case ": Prośba o przesłanie wyciągu bankowego":
            case ": Rozliczenie z biurem rachunkowym":
                Array tasks2 = BLL.tabZadania.Get_AktywneZadaniaByProceduraId(web, procId);
                foreach (SPListItem task in tasks2)
                {
                    Update_msg(msg, procName, task);
                    BLL.WorkflowHelpers.StartWorkflow(task, "Zatwierdzenie zadania");
                }
                break;

            default:
                break;
            }

            // 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(@"Automatyczne zatwierdzenie zadań typu {0}", procName);

            SPEmail.EmailGenerator.SendProcessEndConfirmationMail(subject, bodyHTML, web, item);
        }