示例#1
0
        public Reporting()
        {
            InitializeComponent();

            DataContext = new ReportingVM();

            Loaded += OnLoaded;
        }
示例#2
0
        /// <summary>
        /// Show Selection File Dialog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GenerateButtonClicked(object sender, RoutedEventArgs e)
        {
            ReportingVM _reportingVm = (DataContext as ReportingVM);

            if (_reportingVm == null)
            {
                return;
            }
            SaveFileDialog dialog = new SaveFileDialog
            {
                Filter = (_reportingVm.SelectedTemplateFile.Extension != ".xlsx") ?
                         string.Format("*{0}, *.pdf|*{0};*.pdf", _reportingVm.SelectedTemplateFile.Extension)
                    : string.Format("*{0}|*{0}", _reportingVm.SelectedTemplateFile.Extension),
                DefaultExt = _reportingVm.SelectedTemplateFile.Extension,
                FileName   = _reportingVm.SelectedTemplateFile.Name.Replace('-', ' ')
            };


            var settings = SettingsBLL.GetSetting();

            if (string.IsNullOrEmpty(settings.ReportingParameter.TemplatePath) || !Directory.Exists(settings.ReportingParameter.TemplatePath))
            {
                dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            }
            else
            {
                dialog.InitialDirectory = settings.ReportingParameter.GeneratedFilePath;
            }

            var result = dialog.ShowDialog();
            var _vm    = (ReportingVM)DataContext;

            if (result != null && result.Value)
            {
                settings.ReportingParameter.GeneratedFilePath = Path.GetDirectoryName(dialog.FileName);

                SettingsBLL.SaveSetting(settings);

                if (_vm != null)
                {
                    _vm.ReportFileName = dialog.FileName;
                }
            }
            else
            {
                if (_vm != null)
                {
                    _vm.ReportFileName = string.Empty;
                }
            }
        }
示例#3
0
        /// <summary>
        /// Show Selection File Dialog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GenerateButtonClicked(object sender, RoutedEventArgs e)
        {
            ReportingVM reportingVM = (this.DataContext as ReportingVM);

            SaveFileDialog dialog = new SaveFileDialog();

            dialog.Filter = string.Format("*{0}|*{0}", reportingVM.SelectedTemplateFile.Extension);

            dialog.DefaultExt = reportingVM.SelectedTemplateFile.Extension;

            var settings = SettingsBLL.GetSetting();

            if (string.IsNullOrEmpty(settings.ReportingParameter.TemplatePath) || !Directory.Exists(settings.ReportingParameter.TemplatePath))
            {
                dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            }
            else
            {
                dialog.InitialDirectory = settings.ReportingParameter.GeneratedFilePath;
            }

            var result = dialog.ShowDialog();

            if (result.Value)
            {
                settings.ReportingParameter.GeneratedFilePath = Path.GetDirectoryName(dialog.FileName);

                SettingsBLL.SaveSetting(settings);

                (this.DataContext as ReportingVM).ReportFileName = dialog.FileName;
            }
            else
            {
                (this.DataContext as ReportingVM).ReportFileName = string.Empty;
            }
        }
        public ActionResult Reports(string dateStart, string dateEnd)
        {
            //default to the beginning of the current year to the present day
            if (dateStart == null)
            {
                dateStart = "1/01/" + System.DateTime.Now.Year.ToString();
            }
            if (dateEnd == null)
            {
                dateEnd = System.DateTime.Now.ToShortDateString();
            }

            ViewBag.dateStart = dateStart;
            ViewBag.dateEnd   = dateEnd;

            DateTime startDate = DateTime.Parse(dateStart);
            DateTime endDate   = DateTime.Parse(dateEnd);

            //get all dispersals
            var cases = db.Cases
                        .Include(c => c.Dispersal)
                        .Where(c => c.Active == 1)
                        .Where(c => c.InitialContactDate >= startDate && c.InitialContactDate <= endDate)
                        .ToList();


            //get summary info
            ViewBag.metro8Cases    = cases.Where(c => c.County.Metro8Indicator == true).Count();
            ViewBag.nonMetro8Cases = cases.Where(c => c.County.Metro8Indicator == false).Count();

            decimal?metro8Total    = 0;
            decimal?nonMetro8Total = 0;

            foreach (var cs in cases)
            {
                if (cs.Dispersal.Count() > 0)
                {
                    var caseDispersals = db.Dispersals
                                         .Where(d => d.CaseID == cs.CaseID)
                                         .Where(d => d.Active == 1)
                                         .ToList();

                    if (cs.County.Metro8Indicator == true)
                    {
                        foreach (var dispersal in caseDispersals)
                        {
                            metro8Total += dispersal.AmountApproved.HasValue ? dispersal.AmountApproved : 0;
                        }
                    }
                    else
                    {
                        foreach (var dispersal in caseDispersals)
                        {
                            nonMetro8Total += dispersal.AmountApproved.HasValue ? dispersal.AmountApproved : 0;
                        }
                    }
                }
            }

            ViewBag.metro8Contributions    = metro8Total;
            ViewBag.nonMetro8Contributions = nonMetro8Total;



            //display details (each county)

            List <ReportingVM> CountyList = new List <ReportingVM>();

            var counties = db.County
                           .Include(c => c.Cases)
                           .ToList();


            foreach (var cty in counties)
            {
                ReportingVM rVM = new ReportingVM();
                rVM.CountyName = cty.CountyName;
                rVM.MetroYN    = cty.Metro8Indicator;

                rVM.Cases = db.Cases
                            .Where(c => c.County.CountyName == cty.CountyName)
                            .Where(c => c.InitialContactDate >= startDate && c.InitialContactDate <= endDate)
                            .Where(c => c.Active == 1)
                            .ToList();

                rVM.Dispersals = db.Dispersals
                                 .Where(d => d.Case.County.CountyName == cty.CountyName)
                                 .Where(d => d.Active == 1)
                                 .Where(d => d.Case.InitialContactDate >= startDate && d.Case.InitialContactDate <= endDate)
                                 .Where(d => d.Case.Active == 1)
                                 .ToList();

                CountyList.Add(rVM);
            }



            return(View(CountyList.ToList()));
        }