// POST: api/Reports
        public IHttpActionResult PostSearch([FromBody] FormDataCollection form)
        {
            Debug.WriteLine(form.Get("year"));
            Debug.WriteLine(form.Get("month"));

            ReportSearch search = new ReportSearch()
            {
                year  = Convert.ToInt32(form["year"]),
                month = Convert.ToInt32(form["month"])
            };

            if (search == null)
            {
                return(ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest)));
            }

            //int fiscalYearId = convertYearToId(search.year.ToString());
            int fiscalYearId = search.year;

            var numOpen = (from openStatus in db.ClientModel
                           where openStatus.StatusOfFile.StatusOfFile == "Open" &&
                           openStatus.Month == search.month &&
                           openStatus.FiscalYearId == fiscalYearId
                           select openStatus).Count();
            var numClosed = (from openStatus in db.ClientModel
                             where openStatus.StatusOfFile.StatusOfFile == "Closed" &&
                             openStatus.Month == search.month &&
                             openStatus.FiscalYearId == fiscalYearId
                             select openStatus).Count();
            var numReOpened = (from openStatus in db.ClientModel
                               where openStatus.StatusOfFile.StatusOfFile == "Reopened" &&
                               openStatus.Month == search.month &&
                               openStatus.FiscalYearId == fiscalYearId
                               select openStatus).Count();

            var programCrisis = (from crisis in db.ClientModel
                                 where crisis.Program.Program == "Crisis" &&
                                 crisis.Month == search.month &&
                                 crisis.FiscalYearId == fiscalYearId
                                 select crisis).Count();
            var programCourt = (from crisis in db.ClientModel
                                where crisis.Program.Program == "Court" &&
                                crisis.Month == search.month &&
                                crisis.FiscalYearId == fiscalYearId
                                select crisis).Count();
            var programSmart = (from crisis in db.ClientModel
                                where crisis.Program.Program == "SMART" &&
                                crisis.Month == search.month &&
                                crisis.FiscalYearId == fiscalYearId
                                select crisis).Count();
            var programDVU = (from crisis in db.ClientModel
                              where crisis.Program.Program == "DVU" &&
                              crisis.Month == search.month &&
                              crisis.FiscalYearId == fiscalYearId
                              select crisis).Count();
            var programMCFD = (from crisis in db.ClientModel
                               where crisis.Program.Program == "MCFD" &&
                               crisis.Month == search.month &&
                               crisis.FiscalYearId == fiscalYearId
                               select crisis).Count();

            var genderMale = (from gender in db.ClientModel
                              where gender.Gender == "M" &&
                              gender.Month == search.month &&
                              gender.FiscalYearId == fiscalYearId
                              select gender).Count();
            var genderFemale = (from gender in db.ClientModel
                                where gender.Gender == "F" &&
                                gender.Month == search.month &&
                                gender.FiscalYearId == fiscalYearId
                                select gender).Count();
            var genderTrans = (from gender in db.ClientModel
                               where gender.Gender == "Trans" &&
                               gender.Month == search.month &&
                               gender.FiscalYearId == fiscalYearId
                               select gender).Count();

            var ageAdult = (from age in db.ClientModel
                            where age.Age.Age == "Adult(>24<65)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == fiscalYearId
                            select age).Count();
            var ageTween = (from age in db.ClientModel
                            where age.Age.Age == "Youth(>12<19)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == fiscalYearId
                            select age).Count();
            var ageYouth = (from age in db.ClientModel
                            where age.Age.Age == "Youth(>18<25)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == fiscalYearId
                            select age).Count();
            var ageChild = (from age in db.ClientModel
                            where age.Age.Age == "Child(<13)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == fiscalYearId
                            select age).Count();
            var ageSenior = (from age in db.ClientModel
                             where age.Age.Age == "Senior(>64)" &&
                             age.Month == search.month &&
                             age.FiscalYearId == fiscalYearId
                             select age).Count();



            // put results into object

            ReportSearchReply success = new ReportSearchReply()
            {
                status  = JObject.Parse("{ 'open' : '" + numOpen + "', 'closed': '" + numClosed + "', 'reopened': '" + numReOpened + "' }"),
                program = JObject.Parse("{ 'crisis' : '" + programCrisis + "', 'court': '" + programCourt + "', 'smart': '" + programSmart + "', 'dvu': '" + programDVU + "', 'mcfd': '" + programMCFD + "' }"),
                gender  = JObject.Parse("{ 'female': '" + genderFemale + "', 'male' : '" + genderMale + "', 'trans': '" + genderTrans + "' }"),
                age     = JObject.Parse("{ 'adult': '" + ageAdult + "', 'youth1825': '" + ageTween + "', 'youth1219': '" + ageYouth + "', 'child': '" + ageChild + "', 'senior': '" + ageSenior + "' }")
            };


            return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, success)));
        }
Exemplo n.º 2
0
        public ActionResult Create(ReportSearch search)
        {
            //var month = collection["Month"];
            //var year = collection["Year"];

            //Debug.WriteLine(year);
            //Debug.WriteLine(month);



            Debug.WriteLine(search.year);

            //generate report logic


            var numOpen = (from openStatus in db.ClientModel
                           where openStatus.StatusOfFile.StatusOfFile == "Open" &&
                           openStatus.Month == search.month &&
                           openStatus.FiscalYearId == search.year
                           select openStatus).Count();
            var numClosed = (from openStatus in db.ClientModel
                             where openStatus.StatusOfFile.StatusOfFile == "Closed" &&
                             openStatus.Month == search.month &&
                             openStatus.FiscalYearId == search.year
                             select openStatus).Count();
            var numReOpened = (from openStatus in db.ClientModel
                               where openStatus.StatusOfFile.StatusOfFile == "Reopened" &&
                               openStatus.Month == search.month &&
                               openStatus.FiscalYearId == search.year
                               select openStatus).Count();

            var programCrisis = (from crisis in db.ClientModel
                                 where crisis.Program.Program == "Crisis" &&
                                 crisis.Month == search.month &&
                                 crisis.FiscalYearId == search.year
                                 select crisis).Count();
            var programCourt = (from crisis in db.ClientModel
                                where crisis.Program.Program == "Court" &&
                                crisis.Month == search.month &&
                                crisis.FiscalYearId == search.year
                                select crisis).Count();
            var programSmart = (from crisis in db.ClientModel
                                where crisis.Program.Program == "SMART" &&
                                crisis.Month == search.month &&
                                crisis.FiscalYearId == search.year
                                select crisis).Count();
            var programDVU = (from crisis in db.ClientModel
                              where crisis.Program.Program == "DVU" &&
                              crisis.Month == search.month &&
                              crisis.FiscalYearId == search.year
                              select crisis).Count();
            var programMCFD = (from crisis in db.ClientModel
                               where crisis.Program.Program == "MCFD" &&
                               crisis.Month == search.month &&
                               crisis.FiscalYearId == search.year
                               select crisis).Count();

            var genderMale = (from gender in db.ClientModel
                              where gender.Gender == "M" &&
                              gender.Month == search.month &&
                              gender.FiscalYearId == search.year
                              select gender).Count();
            var genderFemale = (from gender in db.ClientModel
                                where gender.Gender == "F" &&
                                gender.Month == search.month &&
                                gender.FiscalYearId == search.year
                                select gender).Count();
            var genderTrans = (from gender in db.ClientModel
                               where gender.Gender == "Trans" &&
                               gender.Month == search.month &&
                               gender.FiscalYearId == search.year
                               select gender).Count();

            var ageAdult = (from age in db.ClientModel
                            where age.Age.Age == "Adult(>24<65)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == search.year
                            select age).Count();
            var ageTween = (from age in db.ClientModel
                            where age.Age.Age == "Youth(>12<19)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == search.year
                            select age).Count();
            var ageYouth = (from age in db.ClientModel
                            where age.Age.Age == "Youth(>18<25)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == search.year
                            select age).Count();
            var ageChild = (from age in db.ClientModel
                            where age.Age.Age == "Child(<13)" &&
                            age.Month == search.month &&
                            age.FiscalYearId == search.year
                            select age).Count();
            var ageSenior = (from age in db.ClientModel
                             where age.Age.Age == "Senior(>64)" &&
                             age.Month == search.month &&
                             age.FiscalYearId == search.year
                             select age).Count();


            //parse results back for the screen

            ViewBag.statusOpen     = numOpen;
            ViewBag.statusClosed   = numClosed;
            ViewBag.statusReOpened = numReOpened;

            ViewBag.programCrisis = programCrisis;
            ViewBag.programCourt  = programCourt;
            ViewBag.programSmart  = programSmart;
            ViewBag.programDVU    = programDVU;
            ViewBag.programMCFD   = programMCFD;

            ViewBag.genderMale   = genderMale;
            ViewBag.genderFemale = genderFemale;
            ViewBag.genderTrans  = genderTrans;

            ViewBag.ageAdult  = ageAdult;
            ViewBag.ageTween  = ageTween;
            ViewBag.ageYouth  = ageYouth;
            ViewBag.ageChild  = ageChild;
            ViewBag.ageSenior = ageSenior;

            return(View("~/Views/MVCReportsView/Report.cshtml"));
        }