示例#1
0
        private void BindFaxData()
        {
            Facade.IAudit facAudit = new Facade.Audit();
            DataSet       ds       = facAudit.GetFaxes(dteStartDate.SelectedDate.Value, dteEndDate.SelectedDate.Value);

            DataView dv   = new DataView(ds.Tables[0]);
            string   sort = FaxSortCriteria + " " + FaxSortDirection;

            dv.Sort = sort.Trim();

            dgFaxes.DataSource = dv;
            dgFaxes.DataBind();

            if (dgFaxes.Items.Count != 0)
            {
                pnlFaxes.Visible = true;
                dgFaxes.Visible  = true;
                lblNote.Visible  = false;
            }
            else
            {
                pnlFaxes.Visible  = false;
                dgFaxes.Visible   = false;
                lblNote.Visible   = true;
                lblNote.Text      = "No sent faxes for given criteria.";
                lblNote.ForeColor = Color.Red;
            }
        }
示例#2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int jobId = int.Parse(Request.QueryString["JobId"]);

            Facade.IAudit facAudit = new Facade.Audit();
            gvJobHistory.DataSource = facAudit.GetJobHistory(jobId);
            gvJobHistory.DataBind();
        }
示例#3
0
        private void grdEmails_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            Facade.IAudit facAudit   = new Facade.Audit();
            int           reportType = 0;

            if (!string.IsNullOrWhiteSpace(cboReportType.SelectedValue) && cboReportType.SelectedValue != "All")
            {
                reportType = (int)((eReportType)Enum.Parse(typeof(eReportType), cboReportType.SelectedValue));
            }

            var ds = facAudit.GetEmails(dteStartDate.SelectedDate.Value.Date, dteEndDate.SelectedDate.Value.Date, reportType, txtEmailAddress.Text);

            grdEmails.DataSource = ds;
        }
示例#4
0
        public void btnResend_Click(object sender, EventArgs e)
        {
            int         count         = int.MinValue;
            long        transactionId = long.MinValue;
            string      faxNumber     = string.Empty;
            eReportType reportType    = 0;

            InterFax.InterFax myInterFax;

            count = dgFaxes.SelectedItems.Count;
            if (count != 0)
            {
                // Should only have one select as this is multiple selects on the grid are not allowed.
                foreach (ComponentArt.Web.UI.GridItem item in dgFaxes.SelectedItems)
                {
                    transactionId = Convert.ToInt64(item["TransactionId"]);
                    faxNumber     = item["FaxNumber"].ToString();
                    reportType    = (eReportType)Enum.Parse(typeof(eReportType), item["Description"].ToString());
                }

                myInterFax = new InterFax.InterFax();
                long returnedTransactionId = myInterFax.ReSendFax(Configuration.InterFaxUserName, Configuration.InterFaxPassword, transactionId, faxNumber);

                if (returnedTransactionId > 0)
                {
                    Facade.IAudit facAudit = new Facade.Audit();
                    facAudit.FaxSent(reportType, returnedTransactionId, faxNumber, ((Entities.CustomPrincipal)Page.User).UserName);

                    lblConfirmation.Text = "The fax was resent.";

                    // Cause the data to be updated.
                    BindFaxData();
                }
                else
                {
                    lblConfirmation.Text = "The fax was not resent.";
                    Orchestrator.Logging.ApplicationLog.WriteError("Orchestrator.WebUI.adminstration.audit.sentFaxes.ResendFax", "Fax resend failed: " + returnedTransactionId);
                }

                lblConfirmation.Visible = true;
            }
        }
示例#5
0
        private void LoadGrid()
        {
            Facade.IAuditLog facAuditLog = new Facade.Audit();
            DataSet          dsActivityLog;

            bool noCriteria = false;


            if (txtUser.Text == "" && cboAction.SelectedValue == "" && txtJob.Text == "" && dteDateFrom.DateInput.Text == "" && dteDateTo.DateInput.Text == "")
            {
                noCriteria = true;
            }


            if (noCriteria)
            {
                dsActivityLog = facAuditLog.GetAll(0, 500); // Convert.ToInt32(ViewState["CurrentPageIndex"]), Convert.ToInt32(dgActivityLog.PageSize));

                dgActivityLog.DataSource = dsActivityLog;
                dgActivityLog.DataBind();

                dgActivityLog.Levels[0].Columns["ObjectId"].Visible = false; //	dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].Visible = false;
            }
            else
            {
                // Username
                string userName = null;
                userName = txtUser.Text == "" ? "" : txtUser.Text;

                // AuditEventId
                int auditEventId;
                auditEventId = cboAction.SelectedValue == "" ? -1 : (int)(eAuditEvent)Enum.Parse(typeof(eAuditEvent), (cboAction.SelectedValue.Replace(" ", "")));

                // JobId
                int jobId;
                if (txtJob.Text == "")
                {
                    jobId = -1;
                }
                else
                {
                    jobId = Convert.ToInt32(txtJob.Text);
                }

                // DateFrom
                DateTime dateFrom = DateTime.Today;

                if (!dteDateFrom.SelectedDate.HasValue || dteDateFrom.SelectedDate.Value == DateTime.MinValue)
                {
                    dateFrom = Convert.ToDateTime(Convert.ToString(SqlDateTime.MinValue));
                }
                else
                {
                    dateFrom = dteDateFrom.SelectedDate.Value;
                }

                // DateTo
                DateTime dateTo = DateTime.Now;
                if (!dteDateTo.SelectedDate.HasValue || dteDateTo.SelectedDate.Value == DateTime.MinValue)
                {
                    dateTo = Convert.ToDateTime(Convert.ToString(SqlDateTime.MinValue));
                }
                else
                {
                    dateTo = dteDateTo.SelectedDate.Value.AddDays(1);
                }

                dsActivityLog            = facAuditLog.GetWithParams(userName, auditEventId, jobId, dateFrom, dateTo, 0, 500);//Convert.ToInt32(ViewState["CurrentPageIndex"]), dgActivityLog.PageSize);
                dgActivityLog.DataSource = dsActivityLog;
                dgActivityLog.DataBind();

                // If a job Id is entered, or if an audit event id is entered and it relates to an event
                // raised by job activity, set the ObjectId BoundColumn, which will contain the job ID,
                // to Visible.
                if (jobId != -1 || auditEventId != -1 && (auditEventId == (int)eAuditEvent.JobMarkedForCancellation || auditEventId == (int)eAuditEvent.JobReinstatedUnmarked || auditEventId == (int)eAuditEvent.JobSetToReadyToInvoice))
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].HeadingText = "Job Id"; // dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].HeaderText = "Job Id";
                }
                else if (auditEventId != -1 && auditEventId == (int)eAuditEvent.LegDeleted)
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].HeadingText = "Leg Id"; // dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].HeaderText = "Leg Id";
                }
                else if (auditEventId != -1 && auditEventId == (int)eAuditEvent.LegPointDeleted)
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].HeadingText = "Leg Point Id";// dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].HeaderText = "Leg Point Id";
                }
                else if (auditEventId != -1 && auditEventId == (int)eAuditEvent.EmailSent || auditEventId == (int)eAuditEvent.UserEmailedPalletLog)
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].Visible        = false; // dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].Visible = false;
                    dgActivityLog.Levels[0].Columns["EmailRecipient"].Visible  = true;  // dgActivityLog.Columns[(int)eDataGridColumns.EmailRecipient].Visible = true;
                    dgActivityLog.Levels[0].Columns["EmailReportType"].Visible = true;  //dgActivityLog.Columns[(int)eDataGridColumns.EmailReportType].Visible = true;
                }
                else if (auditEventId != -1 && auditEventId == (int)eAuditEvent.FaxSent)
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].Visible      = false; // dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].Visible = false;
                    dgActivityLog.Levels[0].Columns["FaxNumber"].Visible     = true;  // dgActivityLog.Columns[(int)eDataGridColumns.FaxNumber].Visible = true;
                    dgActivityLog.Levels[0].Columns["FaxReportType"].Visible = true;  //    dgActivityLog.Columns[(int)eDataGridColumns.FaxReportType].Visible = true;
                }
                else if (auditEventId != -1 && auditEventId == (int)eAuditEvent.SMSSent)
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].Visible       = false; // dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].Visible = false;
                    dgActivityLog.Levels[0].Columns["SMSRecipient"].Visible   = true;  // dgActivityLog.Columns[(int)eDataGridColumns.SMSRecipient].Visible = true;
                    dgActivityLog.Levels[0].Columns["SMSMessageText"].Visible = true;  // dgActivityLog.Columns[(int)eDataGridColumns.SMSMessageText].VidgActivityLog.Levels[0].Columns["SMSRecipient"].Visible = true; sible = true;
                }
                else if (auditEventId != -1 && auditEventId == (int)eAuditEvent.PalletBalanceAltered)
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].Visible         = false; // dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].Visible = false;
                    dgActivityLog.Levels[0].Columns["OrganisationName"].Visible = true;  // dgActivityLog.Columns[(int)eDataGridColumns.OrganisationName].Visible = true;
                }
                else
                {
                    dgActivityLog.Levels[0].Columns["ObjectId"].Visible = false; // dgActivityLog.Columns[(int)eDataGridColumns.ObjectId].Visible = false;
                }
            }

            if (dgActivityLog.RecordCount == 0)
            {
                lblError.Visible      = true;
                dgActivityLog.Visible = false;
            }
            else
            {
                lblError.Visible      = false;
                dgActivityLog.Visible = true;
            }
        }
示例#6
0
 private void AuditEmailView(int scannedFormID)
 {
     Facade.IAudit facAudit = new Facade.Audit();
     facAudit.AuditEmailedReportView(scannedFormID);
 }
示例#7
0
        public string FaxReport(string faxNumber)
        {
            string      message = string.Empty;
            bool        success = false;
            eReportType reportType;
            ReportBase  activeReport = this.GetCurrentActiveReport(out reportType);

            if (activeReport != null)
            {
                // Use the override fax number if provided
                if (Configuration.InterFaxOverrideFaxNumber != String.Empty)
                {
                    faxNumber = Configuration.InterFaxOverrideFaxNumber;
                }

                // Strip the faxNumber into a pure telephone number (i.e. no non-numeric characters)
                Regex stripper = new Regex("[^0-9]*");
                faxNumber = stripper.Replace(faxNumber, String.Empty);

                // Create an international number for this UK number
                if (faxNumber.IndexOf("0") == 0)
                {
                    faxNumber = faxNumber.Substring(1);
                    faxNumber = "+44" + faxNumber;
                }

                // Create a memory stream to put the exported PDF into.
                PdfExport    pdfExporter  = new PdfExport();
                MemoryStream outputStream = new MemoryStream();

                // Use the pdf exporter to load the memory stream with the resulting PDF document
                pdfExporter.Export(activeReport.Document, outputStream);

                // Move the position back to the beginning of the stream.
                outputStream.Seek(0, SeekOrigin.Begin);

                // Create a byte array buffer to read the memory stream into.
                byte[] bytes = new byte[outputStream.Length];
                outputStream.Read(bytes, 0, (int)outputStream.Length);

                // Make the fax call (via WS)
                InterFax.InterFax myInterFax = new InterFax.InterFax();

                // Record the audit information
                long transactionId = myInterFax.Sendfax(Configuration.InterFaxUserName, Configuration.InterFaxPassword, faxNumber, bytes, "PDF");

                if (transactionId > 0)
                {
                    // The fax has been sent - record the event
                    Facade.IAudit facAudit = new Facade.Audit();
                    string        userId   = ((Entities.CustomPrincipal)HttpContext.Current.User).UserName;

                    // If faxing Client Delivery & Returns Log, LogId Session variable will be present.
                    if (HttpContext.Current.Session["LogId"] == null)
                    {
                        success = facAudit.FaxSent(reportType, transactionId, faxNumber, userId);
                    }
                    else
                    {
                        success = facAudit.LogFaxSent(transactionId, (int)HttpContext.Current.Session["LogId"], faxNumber, userId);
                    }

                    message = "Your report has been faxed.";
                }
                else
                {
                    message = "Your report has not been faxed. <!--(" + transactionId.ToString() + ")-->";

                    // An error occurred
                    if (Configuration.EventLogEnabled && Configuration.EventLogTraceLevel > 0)
                    {
                        ApplicationLog.WriteInfo("Orchestrator.ReportRunner.FaxReport", "Fax to " + faxNumber.ToString() + " Failed - Error reported as " + transactionId.ToString());
                    }
                }
            }

            return(message);
        }
示例#8
0
        public bool EmailReport(string emailToAddress)
        {
            bool        success = false;
            eReportType reportType;
            ReportBase  activeReport = GetCurrentActiveReport(out reportType);

            if (activeReport != null)
            {
                // Create a memory stream to put the exported PDF into.
                PdfExport    pdfExporter  = new PdfExport();
                MemoryStream outputStream = new MemoryStream();

                // Use the pdf exporter to load the memory stream with the resulting PDF document
                pdfExporter.Export(activeReport.Document, outputStream);

                // Move the position back to the beginning of the stream.
                outputStream.Seek(0, SeekOrigin.Begin);

                // Create a byte array buffer to read the memory stream into.
                byte[] bytes = new byte[outputStream.Length];
                outputStream.Read(bytes, 0, (int)outputStream.Length);
                outputStream.Seek(0, SeekOrigin.Begin);

                var scannedFormID = this.SaveReportPdf(reportType, bytes, HttpContext.Current.User.Identity.Name);

                var reportUrl = string.Format(
                    "http://{0}/reports/emailedreport.ashx?esfid={1}",
                    HttpContext.Current.Request.Url.Authority,
                    Orchestrator.SystemFramework.EncryptionProvider.EncryptText(scannedFormID.ToString()));

                MailMessage mailMessage = new MailMessage();

                mailMessage.From = new MailAddress(Orchestrator.Globals.Configuration.MailFromAddress,
                                                   Orchestrator.Globals.Configuration.MailFromName);

                string[] emailAddresses = emailToAddress.Split(';');
                foreach (string emailAddress in emailAddresses)
                {
                    mailMessage.To.Add(emailAddress);
                }
                mailMessage.Subject = "Your Proteo Enterprise Report";

                XmlDocument mydoc = new XmlDocument();
                mydoc.AppendChild(mydoc.CreateElement("root"));

                mailMessage.IsBodyHtml = true;
                mailMessage.Body       = GenerateBodyText(mydoc, reportType, reportUrl);

                try
                {
                    SmtpClient smtp = new System.Net.Mail.SmtpClient(Globals.Configuration.MailServer, Globals.Configuration.MailPort);
                    smtp.Credentials = new NetworkCredential(Globals.Configuration.MailUsername, Globals.Configuration.MailPassword);

                    SetMessageBody(mailMessage, mailMessage.Body, "Plain/HTML");

                    smtp.Send(mailMessage);
                    mailMessage.Dispose();

                    // The email has been sent - record the event
                    Facade.IAudit facAudit = new Facade.Audit();
                    string        userId   = ((Entities.CustomPrincipal)HttpContext.Current.User).UserName;

                    // If emailing Client Delivery & Returns Log, LogId Session variable will be present.
                    if (HttpContext.Current.Session["LogId"] == null)
                    {
                        success = facAudit.EmailSent(reportType, scannedFormID, emailToAddress, userId);
                    }
                    else
                    {
                        success = facAudit.LogEmailSent((int)HttpContext.Current.Session["LogId"], scannedFormID, emailToAddress, userId);
                    }
                }
                catch (Exception eX)
                {
                    ApplicationLog.WriteError("SendEmail", eX.Message);
                }
            }

            return(success);
        }