Ejemplo n.º 1
0
        // GET: Filter
        public ActionResult Index()
        {
            FilterView            clsFiltVw = null;
            DataSetInfo           clsDSInf  = null;
            TPFilter              clsFilt   = null;
            List <SelectListItem> selDays;
            SelectedIDsAndItems   vmSelDays = null;
            APIHelper             apiHlp;
            SavedDataHelper       sdHlp;
            string strErr = "";

            try
            {
                clsFiltVw = new FilterView();
                selDays   = new List <SelectListItem>();
                vmSelDays = new SelectedIDsAndItems();
                apiHlp    = new APIHelper();
                sdHlp     = new SavedDataHelper();

                if (apiHlp.GetDataSet(User.Identity.Name, 440, ref clsDSInf, ref strErr))
                {
                    if (clsDSInf.DayName != null && clsDSInf.DayNameAbbrev != null)
                    {
                        for (int i = 0; i < 7; i++)
                        {
                            selDays.Add(new SelectListItem {
                                Text = clsDSInf.DayName[i], Value = clsDSInf.DayName[i]
                            });
                        }
                    }

                    if (sdHlp.LoadItem(User.Identity.Name, null, null, "TPFilter", ref clsFilt, ref strErr))
                    {
                        clsFiltVw.Filter = clsFilt;
                    }
                    else
                    {
                        clsFilt = new TPFilter(clsDSInf.DayNameAbbrev);
                    }

                    vmSelDays.Items           = selDays;
                    vmSelDays.SelectedItemIds = clsFilt.DaysOfWk;
                    clsFiltVw.DaysOfWeek      = vmSelDays;
                    clsFiltVw.Filter          = clsFilt;
                }
                else
                {
                    ModelState.AddModelError("", "Could not retrieve days of the week");
                }

                vmSelDays.Items      = selDays;
                clsFiltVw.DaysOfWeek = vmSelDays;
            }
            catch (Exception exc)
            {
                ModelState.AddModelError("", "Unexpected error:" + exc.Message);
            }

            return(View(clsFiltVw));
        }
Ejemplo n.º 2
0
        public bool Calculate(string vstrUser,
                              ref Result rclsTPRes,
                              ref string rstrErr)
        {
            SavedDataHelper sdHlp = null;

            string[]         arrChanID = null;
            string[]         arrRegID  = null;
            string[]         arrDate   = null;
            string[]         arrTargID = null;
            TPFilter         clsFilt   = null;
            BLTopProgsReport clsTPRep  = null;
            bool             blnOk     = false;

            try
            {
                sdHlp = new SavedDataHelper();

                if (sdHlp.LoadItem(vstrUser, null, null, "Region", ref arrRegID, ref rstrErr))
                {
                    if (sdHlp.LoadItem(vstrUser, null, null, "Channel", ref arrChanID, ref rstrErr))
                    {
                        if (sdHlp.LoadItem(vstrUser, null, null, "Date", ref arrDate, ref rstrErr))
                        {
                            if (sdHlp.LoadItem(vstrUser, null, null, "Target", ref arrTargID, ref rstrErr))
                            {
                                if (sdHlp.LoadItem(vstrUser, null, null, "TPFilter", ref clsFilt, ref rstrErr))
                                {
                                    if (CalcTPRep(vstrUser, arrRegID, arrChanID, arrDate, arrTargID, clsFilt, ref clsTPRep, ref rstrErr))
                                    {
                                        blnOk = BuildReport(clsTPRep, ref rclsTPRes, ref rstrErr);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                rstrErr = "Unexpected error:" + exc.Message;
            }

            return(blnOk);
        }
Ejemplo n.º 3
0
        private bool CalcTPRep(string vstrUser,
                               string[] varrRegID,
                               string[] varrChanID,
                               string[] varrDate,
                               string[] varrTarg,
                               TPFilter vclsFilt,
                               ref BLTopProgsReport rclsTPRep,
                               ref string rstrErr)
        {
            TopProgsReportCall clsTPCall = null;
            APIHelper          apiHlp    = null;
            bool blnOk = false;

            try
            {
                clsTPCall = new TopProgsReportCall();

                foreach (string x in varrRegID)
                {
                    clsTPCall.RegionIDs.Add(Convert.ToInt32(x));
                }

                foreach (string x in varrChanID)
                {
                    clsTPCall.ChannelIDs.Add(Convert.ToInt32(x));
                }

                clsTPCall.EventTypeIDs.Add(2);

                clsTPCall.TimeFrom       = vclsFilt.StartTime;
                clsTPCall.TimeTo         = vclsFilt.EndTime;
                clsTPCall.InclusiveTimes = vclsFilt.TimeInclusive;

                clsTPCall.SearchTitle = vclsFilt.SearchTitle;

                foreach (string x in vclsFilt.DaysOfWk)
                {
                    clsTPCall.DaysOfWeek.Add(x);
                }

                clsTPCall.Dates.Add(DateTime.FromBinary(Convert.ToInt64(varrDate.First())));
                clsTPCall.Dates.Add(DateTime.FromBinary(Convert.ToInt64(varrDate.Last())));

                foreach (string x in varrTarg)
                {
                    clsTPCall.TargetIDs.Add(Convert.ToInt32(x));
                }

                clsTPCall.Metrics.Add(BLMETRICTYPE.GRP);
                clsTPCall.Metrics.Add(BLMETRICTYPE.Thousands);

                apiHlp = new APIHelper();
                if (apiHlp.PostTPReport(vstrUser, clsTPCall, ref rclsTPRep, ref rstrErr))
                {
                    if (rclsTPRep != null && rclsTPRep.EventResults != null && rclsTPRep.EventResults.Count > 0)
                    {
                        blnOk = true;
                    }
                    else
                    {
                        rstrErr = "No events found. Please change your selections.";
                    }
                }
            }
            catch (Exception exc)
            {
                rstrErr = "Unexpected error:" + exc.Message;
            }

            return(blnOk);
        }