private static void GetGuidsFromReport(MailTrigger Trigger)
        {
            string          folder          = "\\AutoMailer\\";
            FileSystemEntry fileSystemEntry = new FileSystemEntry(folder, FileSystemEntry.Types.Folder, (string)null);

            Sessions.Session  defaultInstance = Session.DefaultInstance;
            FSExplorer        rptExplorer     = new FSExplorer(defaultInstance);
            ReportMainControl r           = new ReportMainControl(defaultInstance, false);
            ReportIFSExplorer ifsExplorer = new ReportIFSExplorer(r, defaultInstance);


            FileSystemEntry report         = ifsExplorer.GetFileSystemEntries(fileSystemEntry).Where(x => x.Name.Equals(Trigger.ReportFilter)).FirstOrDefault();
            ReportSettings  reportSettings = Session.DefaultInstance.ReportManager.GetReportSettings(report);

            LoanReportParameters reportParams1 = new LoanReportParameters();

            reportParams1.Fields.AddRange((IEnumerable <ColumnInfo>)reportSettings.Columns);
            reportParams1.FieldFilters.AddRange((IEnumerable <FieldFilter>)reportSettings.Filters);
            reportParams1.UseDBField              = reportSettings.UseFieldInDB;
            reportParams1.UseDBFilter             = reportSettings.UseFilterFieldInDB;
            reportParams1.UseExternalOrganization = reportSettings.ForTPO;
            reportParams1.CustomFilter            = CreateLoanCustomFilter(reportSettings);
            ReportResults results = Session.DefaultInstance.ReportManager.QueryLoansForReport(reportParams1, null);


            List <string[]> reportResults = ReportResults.Download(results);
            List <string>   guids         = results.GetAllResults().Select(x => x.FirstOrDefault()).ToList();

            bool fieldsAreGuids = Guid.TryParse(guids.FirstOrDefault(), out Guid _);

            if (fieldsAreGuids)
            {
                SendEmails(Trigger, guids);
            }
        }
Example #2
0
        private void SetupControls()
        {
            ClearControls();

            cmbTriggers.Items.Clear();
            cmbTriggers.Items.AddRange(AutoMailerCDO.CDO.Triggers.Select(x => x.Name).ToArray());

            Sessions.Session  defaultInstance = Session.DefaultInstance;
            FSExplorer        rptExplorer     = new FSExplorer(defaultInstance);
            string            folder          = "\\AutoMailer\\";
            FileSystemEntry   fileSystemEntry = new FileSystemEntry(folder, FileSystemEntry.Types.Folder, (string)null);
            ReportMainControl r           = new ReportMainControl(defaultInstance, false);
            ReportIFSExplorer ifsExplorer = new ReportIFSExplorer(r, defaultInstance);

            FileSystemEntry[] entries = ifsExplorer.GetFileSystemEntries(fileSystemEntry);
            cmbReports.Items.Clear();
            cmbReports.Items.AddRange(entries.Select(x => x.Name).ToArray());

            cmbFrequency.Items.Clear();
            cmbFrequency.Items.AddRange(Enum.GetNames(typeof(FrequencyType)));

            dgvFields.Rows.Clear();
            List <FieldDescriptor> emailFields = new List <FieldDescriptor>();

            emailFields.AddRange(EncompassApplication.Session.Loans.FieldDescriptors.StandardFields.Cast <FieldDescriptor>().Where(x => x.Description.ToLower().Contains("email")));
            emailFields.AddRange(EncompassApplication.Session.Loans.FieldDescriptors.VirtualFields.Cast <FieldDescriptor>().Where(x => x.Description.ToLower().Contains("email")));
            emailFields.AddRange(EncompassApplication.Session.Loans.FieldDescriptors.CustomFields.Cast <FieldDescriptor>().Where(x => x.Description.ToLower().Contains("email")));
            foreach (FieldDescriptor field in emailFields)
            {
                dgvFields.Rows.Add(new string[] { field.FieldID, field.Description });
            }
        }
Example #3
0
        public override void LoadCache()
        {
            Sessions.Session  def         = Session.DefaultInstance;
            FSExplorer        rpt         = new FSExplorer(def);
            ReportMainControl r           = new ReportMainControl(def, false);
            ReportIFSExplorer ifsExplorer = new ReportIFSExplorer(r, def);
            FileSystemEntry   entry       = new FileSystemEntry("\\", FileSystemEntry.Types.Folder, (string)null);

            FileSystemEntry[] entries = ifsExplorer.GetFileSystemEntries(entry);
            bool done = false;

            while (!done)
            {
                foreach (FileSystemEntry e in entries)
                {
                    Recurse(e, ifsExplorer);
                }
                done = true;
            }
            Cache = ReportResults;
        }
Example #4
0
        private void btnReport_Click(object sender, EventArgs e)
        {
            ResetGrid();
            gpReportControls.Visible = true;
            ReportMainControl r = (ReportMainControl)FormWrapper.Find("ReportMainControl");

            if (r == null)
            {
                MessageBox.Show("Please Open the Report tab and select a report.");
                return;
            }

            FileSystemEntry f = (FileSystemEntry)r.GetType().GetField("currentFile", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(r);

            if (f == null)
            {
                MessageBox.Show("Issue finding selected Report.");
                return;
            }

            Sessions.Session sesh        = Session.DefaultInstance;
            FSExplorer       rptExplorer = new FSExplorer(sesh);

            r = new ReportMainControl(sesh, false);
            ReportIFSExplorer ifs      = new ReportIFSExplorer(r, sesh);
            ReportSettings    settings = sesh.ReportManager.GetReportSettings(f);

            if (settings.Columns.Count() < 2)
            {
                MessageBox.Show("Please enter two fields and save your report.");
                return;
            }

            string firstColID = settings.Columns.FirstOrDefault().FieldID;

            if (!firstColID.Equals("GUID") && !firstColID.Equals("364"))
            {
                MessageBox.Show("The first field of your report must be Loan Number or GUID");
                return;
            }

            LoanReportParameters parameters = new LoanReportParameters();

            parameters.Fields.AddRange(settings.Columns);
            parameters.FieldFilters.AddRange(settings.Filters);
            parameters.UseDBField  = settings.UseFieldInDB;
            parameters.UseDBFilter = settings.UseFilterFieldInDB;

            parameters.UseExternalOrganization = settings.forTPO;
            parameters.CustomFilter            = CreateLoanCustomFilter(settings);
            ReportResults results = sesh.ReportManager.QueryLoansForReport(parameters, null);

            List <string[]> data = results.GetAllResults();

            dgvData.Columns.AddRange(parameters.Fields.Select(x => new DataGridViewTextBoxColumn()
            {
                HeaderText = x.FieldID
            }).ToArray());
            dgvData.Rows.Add(data.Count);
            for (int i = 0; i < data.Count; i++)
            {
                for (int ii = 0; ii < data[i].Count(); ii++)
                {
                    dgvData.Rows[i].Cells[ii].Value = data[i][ii];
                }
            }
            dgvData.CellValueChanged -= dgvData_CellValueChanged;
            dgvData.CellValueChanged += dgvData_CellValueChanged;
        }