public ActionResult EmailReport() { DevExpress.XtraReports.UI.XtraReport currentReport = (DevExpress.XtraReports.UI.XtraReport)Session["currentReport"]; IIrmaServiceDataModel emailDataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.Emails); PobEmailModel emailModel = emailDataModel.GetItem(string.Format("Name=\"PobSummaryReport\""), "Name"); char[] sep = { ';' }; string[] recipients = (emailModel != null && emailModel.Recipients != null) ? emailModel.Recipients.Split(sep) : null; IServiceDataModel pobDataModel = ServiceSystem.GetServiceModel(EnscoConstants.EntityModel.User); try { using (SmtpClient client = new SmtpClient("smtp.ensco.ws")) { MemoryStream memStream = new MemoryStream(); currentReport.ExportToPdf(memStream); memStream.Seek(0, System.IO.SeekOrigin.Begin); Attachment att = new Attachment(memStream, "PobSummayReport.pdf", "application/pdf"); MailMessage message = new MailMessage(); message.Attachments.Add(att); message.From = new MailAddress("*****@*****.**"); message.Subject = emailModel.Subject; // Get recepients foreach (string id in recipients) { UserModel user = pobDataModel.GetItem(string.Format("Id={0}", id), "Id"); if (user != null && user.Email != null) { message.To.Add(new MailAddress(user.Email)); } } // This line can be used to embed HTML into the email itself // MailMessage message = currentReport.ExportToMail("*****@*****.**", emailModel.Recipients, emailModel.Subject); // Get correct credentials for irma profile client.Credentials = new System.Net.NetworkCredential("Ensco\\023627", ""); client.Send(message); memStream.Close(); memStream.Flush(); } } catch (Exception ex) { } return(View("ShowReportPartial", currentReport)); }
public ActionResult RigAdminListsPartial() { RigAdminManageModel manageRigModel = (RigAdminManageModel)Session["manageRigModel"]; IIrmaServiceDataModel emailDataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.Emails); PobEmailModel pobEmail = emailDataModel.GetItem(string.Format("Name=\"PobSummaryReport\""), "Name"); PobEmailModel dailyEmail = emailDataModel.GetItem(string.Format("Name=\"DailySummaryReport\""), "Name"); char[] sep = { ';' }; manageRigModel.MaxPOB = IrmaServiceSystem.GetMaxPOB(); manageRigModel.DateFormat = UtilitySystem.Settings.ConfigSettings["DateFormat"]; manageRigModel.DateTimeFormat = UtilitySystem.Settings.ConfigSettings["DateTimeFormat"]; manageRigModel.PobSummaryEmailList = (pobEmail != null && pobEmail.Recipients != null) ? pobEmail.Recipients.Split(sep) : null; manageRigModel.DailySummaryEmailList = (dailyEmail != null && dailyEmail.Recipients != null) ? dailyEmail.Recipients.Split(sep) : null; // Phase 1 Parameters string val = IrmaServiceSystem.GetAdminCustomValue("EmailTime"); manageRigModel.EmailTime = (val != null) ? DateTime.Parse(val) : DateTime.Now; val = IrmaServiceSystem.GetAdminCustomValue("Brazil"); manageRigModel.IsRigInBrazil = (val != null && val == "1") ? true : false; val = IrmaServiceSystem.GetAdminCustomValue("RequireClientSignature"); manageRigModel.ChooseClientSignAtTimeOfPermit = (val != null && val == "1") ? true : false; val = IrmaServiceSystem.GetAdminCustomValue("ClientHotWork"); manageRigModel.IsClientRequireSignHotWorkPermit = (val != null && val == "1") ? true : false; val = IrmaServiceSystem.GetAdminCustomValue("ClientColdWork"); manageRigModel.IsClientRequireSignColdWorkPermit = (val != null && val == "1") ? true : false; val = IrmaServiceSystem.GetAdminCustomValue("ClientConfinedSpace"); manageRigModel.IsClientRequireSignConfinedWorkPermit = (val != null && val == "1") ? true : false; val = IrmaServiceSystem.GetAdminCustomValue("OIM"); UserModel userOIM = ServiceSystem.GetUserFromPassport(val.Trim()); manageRigModel.CurrentOIM = userOIM.Id; val = IrmaServiceSystem.GetAdminCustomValue("Master"); UserModel userMaster = ServiceSystem.GetUserFromPassport(val.Trim()); if (userMaster != null) { manageRigModel.CurrentMaster = userMaster.Id; } Session["manageRigModel"] = manageRigModel; return(PartialView("RigAdminListsPartial", manageRigModel)); }
public ActionResult RigAdminListsPartial(RigAdminManageModel model) { RigAdminManageModel manageRigModel = (RigAdminManageModel)Session["manageRigModel"]; if (ModelState.IsValid) { IrmaServiceSystem.SaveMaxPOB(model.MaxPOB); //UtilitySystem.Settings.ConfigSettings["DateFormat"] = model.DateFormat; //UtilitySystem.Settings.ConfigSettings["DateTimeFormat"] = model.DateTimeFormat; //UtilitySystem.SaveConfigSettings(); IrmaServiceSystem.UpdateAdminCustomValue("DateFormat", model.DateFormat); IrmaServiceSystem.UpdateAdminCustomValue("DateTimeFormat", model.DateTimeFormat); UtilitySystem.Settings.ConfigSettings["DateFormat"] = model.DateFormat; UtilitySystem.Settings.ConfigSettings["DateTimeFormat"] = model.DateTimeFormat; IIrmaServiceDataModel emailDataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.Emails); PobEmailModel emailModel = emailDataModel.GetItem(string.Format("Name=\"PobSummaryReport\""), "Name"); emailModel.Recipients = (model.PobSummaryEmailList != null) ? string.Join(";", model.PobSummaryEmailList) : null; emailDataModel.Update(emailModel); emailModel = emailDataModel.GetItem(string.Format("Name=\"DailySummaryReport\""), "Name"); emailModel.Recipients = (model.DailySummaryEmailList != null) ? string.Join(";", model.DailySummaryEmailList) : null; emailDataModel.Update(emailModel); string dailyEmails = ""; if (model.DailySummaryEmailList != null) { char[] sep = { ';' }; foreach (string sid in model.DailySummaryEmailList) { int id = 0; if (!int.TryParse(sid, out id)) { continue; } UserModel user = ServiceSystem.GetUser(id); if (user != null && user.Email != null && user.Email.Length > 0) { dailyEmails += user.Email + ";"; } } dailyEmails = dailyEmails.Trim(sep); } UserModel userOIM = ServiceSystem.GetUser(model.CurrentOIM); UserModel userMaster = ServiceSystem.GetUser(model.CurrentMaster); // Phase 1 parameters IrmaServiceSystem.UpdateAdminCustomValue("EmailTime", model.EmailTime.ToString("HH:mm")); IrmaServiceSystem.UpdateAdminCustomValue("Brazil", string.Format("{0}", model.IsRigInBrazil ? "1" : "0")); IrmaServiceSystem.UpdateAdminCustomValue("RequireClientSignature", string.Format("{0}", model.ChooseClientSignAtTimeOfPermit ? "1" : "0")); IrmaServiceSystem.UpdateAdminCustomValue("ClientHotWork", string.Format("{0}", model.IsClientRequireSignHotWorkPermit ? "1" : "0")); IrmaServiceSystem.UpdateAdminCustomValue("ClientColdWork", string.Format("{0}", model.IsClientRequireSignColdWorkPermit ? "1" : "0")); IrmaServiceSystem.UpdateAdminCustomValue("ClientConfinedSpace", string.Format("{0}", model.IsClientRequireSignConfinedWorkPermit ? "1" : "0")); IrmaServiceSystem.UpdateAdminCustomValue("DailySummaryEmails", dailyEmails); if (userOIM != null) { IrmaServiceSystem.UpdateAdminCustomValue("OIM", userOIM.Passport); IrmaServiceSystem.UpdateAdminCustomValue("OIMName", userOIM.DisplayName); } if (userMaster != null) { IrmaServiceSystem.UpdateAdminCustomValue("Master", userMaster.Passport); IrmaServiceSystem.UpdateAdminCustomValue("MasterName", userMaster.DisplayName); } manageRigModel = model; } ControllerContext.HttpContext.Response.Redirect("RigRequirements"); ViewBag.Flag = "Save"; return(null); return(PartialView("RigAdminListsPartial", manageRigModel)); }
public static void ProcessPobSummaryEmailJob(ScheduleJobModel job) { Logger.Info(new LogInfo(MethodBase.GetCurrentMethod(), string.Format("Processing jobId={0}", job.Id))); PobSummaryReport report = new PobSummaryReport(); report.RigName.Value = Ensco.Utilities.UtilitySystem.Settings.RigName; report.LogoFile.Value = System.Web.Hosting.HostingEnvironment.MapPath("~/Images/ensco.png"); report.IrmaFile.Value = System.Web.Hosting.HostingEnvironment.MapPath("~/Images/irma.png"); // Show/Hide Essential and Vantage IIrmaServiceDataModel reqModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.RigFieldVisible); RigFieldVisibilityModel req = (RigFieldVisibilityModel)reqModel.GetItem(string.Format("Id=1"), "Id"); report.ShowVantage.Value = (req != null) ? req.Visible : true; req = (RigFieldVisibilityModel)reqModel.GetItem(string.Format("Id=3"), "Id"); report.ShowEssential.Value = (req != null) ? req.Visible : true; List <PobSummaryReportModel> list = new List <PobSummaryReportModel>(); list.Add(IrmaServiceSystem.GetSummaryReportData()); report.DataSource = list; IIrmaServiceDataModel emailDataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.Emails); PobEmailModel emailModel = emailDataModel.GetItem(string.Format("Name=\"PobSummaryReport\""), "Name"); char[] sep = { ';' }; string[] recipients = (emailModel != null && emailModel.Recipients != null) ? emailModel.Recipients.Split(sep) : null; IServiceDataModel pobDataModel = ServiceSystem.GetServiceModel(EnscoConstants.EntityModel.User); try { using (SmtpClient client = new SmtpClient("smtp.ensco.ws")) { MemoryStream memStream = new MemoryStream(); report.ExportToPdf(memStream); memStream.Seek(0, System.IO.SeekOrigin.Begin); Attachment att = new Attachment(memStream, "PobSummayReport.pdf", "application/pdf"); MailMessage message = new MailMessage(); message.Attachments.Add(att); message.From = new MailAddress("*****@*****.**"); message.Subject = emailModel.Subject; // Get recepients foreach (string id in recipients) { UserModel user = pobDataModel.GetItem(string.Format("Id={0}", id), "Id"); if (user != null && user.Email != null) { message.To.Add(new MailAddress(user.Email)); } } // This line can be used to embed HTML into the email itself // MailMessage message = currentReport.ExportToMail("*****@*****.**", emailModel.Recipients, emailModel.Subject); // Get correct credentials for irma profile client.Credentials = new System.Net.NetworkCredential("Ensco\\023627", ""); client.Send(message); memStream.Close(); memStream.Flush(); } } catch (Exception ex) { } }