public object StartPDF(Context cx)
        {
            foreach (DokumentHandlowy dokhan in dh)
            {
                return(new ReportResult
                {
                    Context = cx,
                    TemplateFileSource = AspxSource.Storage,
                    Format = ReportResultFormat.PDF,

                    TemplateFileName = @"C:\Users\jaroslaw.pitala\Source\Repos\enova\SonetaRaporty\Reports\handel\sprzedaz.aspx",

                    OutputHandler = (stream) =>
                    {
                        var attName = "FV_" + Date.Now.ToString("yyyyMMddHHmmss") + ".pdf";
                        var dirName = "C:\\wydruki\\";
                        // wymagany jest katalog w którym pdf zostanie zapisany, ścieżkę należy dostować do środowiska instalacji
                        var outFileName = System.IO.Path.Combine(dirName, attName);

                        using (var file = System.IO.File.Create(outFileName))
                        {
                            Soneta.Tools.CoreTools.StreamCopy(stream, file);
                            file.Flush();
                        }

                        using (Session s = cx.Login.CreateSession(false, false))
                        {
                            var zm = ZadaniaModule.GetInstance(s);
                            var crm = CRMModule.GetInstance(s);
                            var bm = BusinessModule.GetInstance(s);
                            using (ITransaction transakcja = s.Logout(true))
                            {
                                WiadomoscRobocza wr = new WiadomoscRobocza();
                                crm.WiadomosciEmail.AddRow(wr);
                                wr.Tresc.Add("Witam serdecznie,<br><br>W załączniku przesyłam fakturę numer " + dokhan.Numer + " Prosimy o terminową wpłatę");
                                if (zm.Config.Operatorzy.Aktualny.DomyslneKontoPocztowe != null)
                                {
                                    wr.KontoPocztowe = zm.Config.Operatorzy.Aktualny.DomyslneKontoPocztowe;
                                    wr.Tresc.Add(zm.Config.Operatorzy.Aktualny.Podpis);
                                }
                                Soneta.Business.Db.Attachment zal = new Soneta.Business.Db.Attachment(wr, AttachmentType.Attachments);
                                zal.Name = attName;

                                // stworzenie załącznika z wygenerowanego pliku pdf

                                bm.Attachments.AddRow(zal);
                                System.IO.FileStream strumien = new System.IO.FileStream(outFileName, System.IO.FileMode.Open);
                                zal.LoadFromStream(strumien);
                                zal.LoadIconFromFile(outFileName);

                                transakcja.CommitUI();
                                return null;
                                // return wr;
                            }
                        }
                    }
                });
            }
            return(null);
        }
예제 #2
0
        // Metoda dodająca w CRM zdarzenie NOT
        public Zadanie DodajNotatke()
        {
            if (Kontrahent == null)
            {
                return(null);
            }

            Zadanie dokument;

            using (Session session1 = Kontrahent.Session.Login.CreateSession(false, false))
            {
                using (ITransaction tran = session1.Logout(true))
                {
                    ZadaniaModule zadaniamodule = ZadaniaModule.GetInstance(session1);
                    dokument = new Zadanie {
                        Definicja = zadaniamodule.DefZadan.WgSymbolu["NOT"]
                    };
                    zadaniamodule.Zadania.AddRow(dokument);
                    dokument.Kontrahent = session1[Kontrahent] as Kontrahent;
                    if (Osoba != null)
                    {
                        dokument.Przedstawiciel = session1[Osoba] as KontaktOsoba;
                    }
                    dokument.Nazwa = "Notatka z wizyty " + Date.Today.ToString();
                    tran.Commit();
                }
            }
            return(dokument);
        }
        public void RefreshTasks()
        {
            if (!FilterParameters.NeedRefresh)
            {
                return;
            }
            FilterParameters.NeedRefresh = false;

            var list          = new List <TaskProxy>();
            var zadaniaModule = ZadaniaModule.GetInstance(Context);
            var condition     = RowCondition.Empty;

            condition &= new FieldCondition.GreaterEqual("DataOd", FilterParameters.Month.FirstDay);
            condition &= new FieldCondition.LessEqual("DataOd", FilterParameters.Month.LastDay);

            var zadania = zadaniaModule.Zadania.WgKontrahent.CreateView();

            zadania.Sort      = "DataOd, CzasOd";
            zadania.Condition = condition;

            foreach (Zadanie zadanie in zadania)
            {
                list.Add(new TaskProxy(zadanie, Context));
            }
            tasks = list.ToArray();
        }
예제 #4
0
        public PocztaEnova(Row row)
        {
            RowCondition rc = new FieldCondition.Like("Nazwa", "automat%");

            this.konto = CRMModule.GetInstance(row).KontaPocztowe.WgNazwa[rc].Cast <KontoPocztowe>().FirstOrDefault();
            if (konto == null)
            {
                Console.WriteLine("Nie znalazłem");
                konto = ZadaniaModule.GetInstance(row.Session).Config.Operatorzy.Aktualny.DomyslneKontoPocztowe;
            }
            Console.WriteLine(konto.Nazwa);
            this.row = row;
        }
        private static List <Zadanie> PobierzAktywneSzablony(Session session)
        {
            var zadaniaModule = ZadaniaModule.GetInstance(session);

            var defSzablonu = zadaniaModule.DefZadan.WgSymbolu["SM"];
            var zadania     = zadaniaModule.Zadania.WgDefinicja;

            var rowCondition = RowCondition.Empty;

            rowCondition |= new FieldCondition.Equal("Definicja", defSzablonu);
            rowCondition |= new FieldCondition.Equal("Features.PowiadomieniaZablokowany", true);

            return(zadania[rowCondition].ToList());
        }
예제 #6
0
        private static Zadanie UtworzDokument(Context context)
        {
            var szablon = new Zadanie();

            using (var session = context.Session.Login.CreateSession(false, true, "UtworzDokument"))
            {
                var module    = ZadaniaModule.GetInstance(session);
                var definicja = module.DefZadan.WgSymbolu["SM"];

                using (var transaction = session.Logout(true))
                {
                    szablon.Definicja = definicja;
                    szablon.Nazwa     = "Szablon maila";

                    module.Zadania.AddRow(szablon);

                    transaction.CommitUI();
                }

                session.Save();
            }

            return(szablon);
        }