public CompilerResults Build(string dirWithSrc) { string[] sources = GetSourcesFromDir(dirWithSrc, new string[] { ".cpp", ".h" }); var cppc = new CppCodeProvider(); var parameters = new CompilerParameters(); parameters.OutputAssembly = OutputFile; parameters.GenerateExecutable = Executable; parameters.GenerateInMemory = GenerateInMemory; parameters.IncludeDebugInformation = IncludeDebugInfo; parameters.ReferencedAssemblies.AddRange(IncludedLibraries.ToArray()); parameters.EmbeddedResources.AddRange(EmbeddedResources.ToArray()); parameters.LinkedResources.AddRange(LinkedResources.ToArray()); if (MainClass != null) { parameters.MainClass = MainClass; } CompilerResults results = cppc.CompileAssemblyFromSource(parameters, sources); return(results); }
public CompilerResults Build(string[] sourceCodes) { var csc = new CSharpCodeProvider(new Dictionary <string, string>() { { "CompilerVersion", CompilerVersion } }); var parameters = new CompilerParameters(); parameters.OutputAssembly = OutputFile; parameters.GenerateExecutable = Executable; parameters.GenerateInMemory = GenerateInMemory; parameters.IncludeDebugInformation = IncludeDebugInfo; parameters.ReferencedAssemblies.AddRange(IncludedLibraries.ToArray()); parameters.EmbeddedResources.AddRange(EmbeddedResources.ToArray()); parameters.LinkedResources.AddRange(LinkedResources.ToArray()); if (MainClass != null) { parameters.MainClass = MainClass; } CompilerResults results = csc.CompileAssemblyFromSource(parameters, sourceCodes); return(results); }
public CompilerParameters ToCompilerParameters(string outputAssembly) { CompilerParameters cp = new CompilerParameters { GenerateExecutable = false, GenerateInMemory = false, WarningLevel = WarningLevel, TreatWarningsAsErrors = TreatWarningsAsErrors, IncludeDebugInformation = IncludeDebugInformation, CompilerOptions = CompilerOptions, OutputAssembly = outputAssembly, CoreAssemblyFileName = CoreAssemblyFileName, Win32Resource = Win32Resource }; if (LinkedResources != null && LinkedResources.Count > 0) { cp.LinkedResources.AddRange(LinkedResources.ToArray()); } if (EmbeddedResources != null && EmbeddedResources.Count > 0) { cp.EmbeddedResources.AddRange(EmbeddedResources.ToArray()); } if (ReferencedAssemblies != null && ReferencedAssemblies.Count > 0) { cp.ReferencedAssemblies.AddRange(ReferencedAssemblies.ToArray()); } return(cp); }
private void SendEmail(string subject, string htmlMessageBody) { // Create and configure the smtp client var smtpClient = SmtpClientFactory.ParseConfiguration(Transport); var mailMessage = new MailMessage { From = new MailAddress(From), Subject = subject, }; mailMessage.To.Add(To); mailMessage.BodyEncoding = Encoding.ASCII; var htmlView = AlternateView.CreateAlternateViewFromString( htmlMessageBody, new ContentType("text/html;charset=utf-8")); // Add icons as attachments to the email. LinkedResources.AddAttachmentIffGifFound(htmlView, "fatal", "/image/FatalIcon.gif"); LinkedResources.AddAttachmentIffGifFound(htmlView, "error", "/image/ErrorIcon.gif"); LinkedResources.AddAttachmentIffGifFound(htmlView, "warn", "/image/WarnIcon.gif"); LinkedResources.AddAttachmentIffGifFound(htmlView, "notice", "/image/NoticeIcon.gif"); LinkedResources.AddAttachmentIffGifFound(htmlView, "info", "/image/InfoIcon.gif"); LinkedResources.AddAttachmentIffGifFound(htmlView, "debug", "/image/DebugIcon.gif"); LinkedResources.AddAttachmentIffGifFound(htmlView, "trace", "/image/TraceIcon.gif"); mailMessage.AlternateViews.Add(htmlView); if (!string.IsNullOrEmpty(ReplyTo)) { mailMessage.ReplyTo = new MailAddress(ReplyTo); } smtpClient.Send(mailMessage); }
public SendResponse Send() { SendResponse result = new SendResponse(); var smtpServer = SPContext.Current.Web.Site.WebApplication.OutboundMailServiceInstance.Server.Address; SetMessageFrom(); var localServerName = HttpContext.Current?.Server?.MachineName; var userName = HttpContext.Current?.User?.Identity?.Name; try { SPSecurity.RunWithElevatedPrivileges(delegate() { SetMessageFrom(); SetMessageTo(); SetMessageCc(); SetMessageBcc(); MailMessage mail = new MailMessage(); mail.From = new MailAddress(From); if (!string.IsNullOrWhiteSpace(To)) { mail.To.Add(To); } if (!string.IsNullOrWhiteSpace(Cc)) { mail.CC.Add(Cc); } if (!string.IsNullOrWhiteSpace(Bcc)) { mail.Bcc.Add(Bcc); } mail.Subject = GetMessageSubject(); mail.IsBodyHtml = true; mail.Body = GetMessageBody(); var htmlView = AlternateView.CreateAlternateViewFromString(mail.Body, null, "text/html"); if (LinkedResources != null && LinkedResources.Any()) { foreach (var res in LinkedResources) { htmlView.LinkedResources.Add(res); } } mail.AlternateViews.Add(htmlView); //var smtpServer = SPContext.Current.Web.Site.WebApplication.OutboundMailServiceInstance.Server.Address; SmtpClient smtp = new SmtpClient(smtpServer); smtp.Send(mail); result.Successful = true; result.Status = "Success"; result.Message = "Success"; }); } catch (Exception ex) { result.Successful = false; result.Status = "Failed"; result.Message = $"{ex.Message} \r\n{ex.StackTrace}\r\n{ex.InnerException?.Message}\r\n{ex.InnerException?.StackTrace} - {ex.InnerException?.InnerException?.Message} - {ex.InnerException?.InnerException?.StackTrace} "; } try { if (!string.IsNullOrWhiteSpace(LogListUrl)) { if (result.Successful) { UnifiedLogging.WriteLog(UnifiedLogging.Category.Information, "ArkUtility.SPMail", "ArkUtility.SPMail - EmailMessage.Send() Success"); } else { UnifiedLogging.WriteLog(UnifiedLogging.Category.Unexpected, "ArkUtility.SPMail", $"ArkUtility.SPMail - EmailMessage.Send() Failure: {result.Message} \r\nFrom: {From}\r\n To:{To}\r\n CC:{Cc}\r\nSubject: { GetMessageSubject()}\r\nRequested by User: {userName}"); } SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(LogListUrl)) { using (SPWeb web = site.OpenWeb(LogListUrl)) { SPList list = web.GetList(LogListUrl); web.AllowUnsafeUpdates = true; if (!list.Fields.ContainsField("EmailResult")) { list.Fields.Add("EmailResult", SPFieldType.Note, false); list.Update(); } var listItems = list.Items; var logentry = listItems.Add(); if (list.Fields.ContainsField("Title")) { logentry["Title"] = $"Email Sent {DateTime.UtcNow.ToString("u")} - { (result.Successful ? "Successful" : "Failed")}"; } logentry["EmailResult"] = $"{ (result.Successful ? "Successful" : "Failed")}\r\n Status: {result.Status}\r\n{result.Message}\r\nSubject: { GetMessageSubject()}\r\nFrom: {From}\r\n To:{To}\r\n CC:{Cc}\r\nRequested by User: {userName}\r\nLogged:{DateTime.UtcNow.ToString("u")} from {localServerName}"; logentry.Update(); web.AllowUnsafeUpdates = false; } } }); } } catch (Exception ex) { string msg = $"ArkUtility.SPMail has encountered an error during logging. {ex.Message} \r\nInner Error:{ex.InnerException?.Message} \r\n\r\n{ex.InnerException?.InnerException?.Message}"; System.Diagnostics.Trace.WriteLine(msg, "Diagnostics"); UnifiedLogging.WriteLog(UnifiedLogging.Category.Unexpected, "ArkUtility.SPMail", msg); } return(result); }