コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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)
            {
            }
        }