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); }
private object ZapiszPlik(Stream stream) { var kodKontrahenta = Dokument.Kontrahent.Kod; var numerFaktury = String.Join("", Dokument.NumerPelnyZapisany.Split(Path.GetInvalidFileNameChars())); var timeStamp = DateTime.Now.ToString("ddMMyyyyHHmmss"); var rozszerzenie = ".pdf"; var nazwaPliku = $"{kodKontrahenta}_{numerFaktury}_{timeStamp}{rozszerzenie}"; using (var session = context.Login.CreateSession(false, false)) { using (var transaction = session.Logout(true)) { var kontrahent = CRMModule.GetInstance(session).Kontrahenci[Dokument.Kontrahent.Guid]; var zalacznik = new Attachment(kontrahent, AttachmentType.Attachments) { Name = nazwaPliku }; var bm = BusinessModule.GetInstance(session); bm.Attachments.AddRow(zalacznik); zalacznik.LoadFromStream(stream); transaction.Commit(); } session.Save(); } return($"Dodano fakturę jako załącznik dla {Dokument.Kontrahent}"); }
private static ScheduleDefinition UtworzScheduleDefinition(Context context, Zadanie szablon) { var scheduleDefinition = new ScheduleDefinition(); using (var session = context.Session.Login.CreateSession(false, true, "ScheduleDefinition")) { var coreModule = CoreModule.GetInstance(session); var businessModule = BusinessModule.GetInstance(session); var taskDefinition = businessModule.TaskDefs.ByName["CfgNodes", "WysylkaMailiZWydrukiem"]; using (var transaction = session.Logout(true)) { scheduleDefinition.Name = $"Scheduler_{szablon.NumerPelny}"; scheduleDefinition.TaskDefinition = taskDefinition; coreModule.ScheduleDefs.AddRow(scheduleDefinition); transaction.CommitUI(); } session.Save(); } return(scheduleDefinition); }
private static void KopiujZalaczniki(WiadomoscRobocza wiadomosc, FileStream stream) { var businessModule = BusinessModule.GetInstance(wiadomosc.Session); var zalacznik = new Attachment(wiadomosc, AttachmentType.Attachments) { Name = "Raport.pdf" }; businessModule.Attachments.AddRow(zalacznik); zalacznik.LoadFromStream(stream); zalacznik.LoadIconFromFile(stream.Name); }
private void DodajZalacznik(Context cx, string nazwaPliku, Stream stream) { stream.Seek(0L, SeekOrigin.Begin); using (var session = cx.Login.CreateSession(false, false)) { using (var transaction = session.Logout(true)) { var kontrahent = CRMModule.GetInstance(session).Kontrahenci[Dokument.Kontrahent.Guid]; var zalacznik = new Attachment(kontrahent, AttachmentType.Attachments) { Name = nazwaPliku }; var bm = BusinessModule.GetInstance(session); bm.Attachments.AddRow(zalacznik); zalacznik.LoadFromStream(stream); transaction.Commit(); } session.Save(); } }
public Login Login(string user, string password) { lock (this) { try { Login login = new Login(this, user, password); using (Session session = login.CreateSessionInternal(false, false, true, "Login.Operator")) { BusinessModule instance = BusinessModule.GetInstance(session); /* * if (instance.SystemInfos[SysInfoIdentifier.ConversionInProgress] == "True") * { * throw new LoginException("Baza danych podczas konwersji lub uszkodzona nieudaną konwersją."); * } */ Operator row = instance.Operators.ByName[user]; if ((row == null) || (bool)row.Locked) { throw new OperatorNotFoundException(user, this); } if (row.Trusting(password) && !row.IsValidPassword(password)) { /* * try * { * if (row.Module.Config.AccountPolicies.AccountLockoutThreshold > 0) * { * this.modifyOperator(row, delegate(Operator op2) * { * op2.Extension.InvalidLogin(); * }); * } * } * catch (InvalidDatabaseStructureException) * { * } * catch (ConfigKeyNotFoundException) * { * } */ throw new IncorrectPasswordException(user, row.PromptPassword, row.Guid == Operators.Administrator, this); } //this.checkDB(instance, row.ID); //login.IsEntitleAvailable = instance.Config.Authorization.UseEntitle && (EnovaLicence.KolorLicencji(this, instance.SystemInfos[SysInfoIdentifier.NumerSeryjny]) == Kolor.Platynowy); login.Operator = row; login.checkRole(session); bool singleOperatorLogin = false; bool flag2 = BusApplication.Instance.SetLogin(login, session, singleOperatorLogin); /* * if (singleOperatorLogin && flag2) * { * throw new RowException(row, "Operator {0} jest już zalogowany do programu. Nie można logować się jednocześnie na dw\x00f3ch stanowiskach.", new object[] { row }); * } * if (row.IsAccountLocked || (row.Extension.InvalidLoginCounter > 0)) * { * this.modifyOperator(row, delegate(Operator op2) * { * op2.IsAccountLocked = false; * }); * } * instance.Config.ChangeInfos.LoadInfos(); * string machineName = Environment.MachineName; * if (BusApplication.Instance.ApplicationName != null) * { * machineName = BusApplication.Instance.ApplicationName + " - " + machineName; * } * session.ChangeInfos.Add(null, ChangeInfoType.Login, machineName); */ session.Save(); login.isLoginEntry = true; } return(login); } catch { return(null); } } }