Ejemplo n.º 1
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.º 2
0
        public bool PostTPReport(string vstrUser,
                                 TopProgsReportCall vclsTPCall,
                                 ref BLTopProgsReport rlstEventRes,
                                 ref string rstrErr)
        {
            List <BLTopProgsReport> lstResult = null;
            bool blnOk = false;

            if (PostInfo(ENDPOINT_VAXI_RF_REP_TOPPROGS, vstrUser, vclsTPCall, ref lstResult, ref rstrErr))
            {
                if (lstResult != null && lstResult.Count > 0)
                {
                    rlstEventRes = lstResult[0];
                    blnOk        = true;
                }
            }

            return(blnOk);
        }
Ejemplo n.º 3
0
        private bool BuildReport(BLTopProgsReport vclsTPRep,
                                 ref Result rclsTPResult,
                                 ref string rstrErr)
        {
            ResultItem    clsRow  = null;
            List <double> lstFigs = null;
            bool          blnOk   = false;

            try
            {
                rclsTPResult = new Result();

                rclsTPResult.Headers.Add("Title");
                rclsTPResult.Headers.Add("Chan");
                rclsTPResult.Headers.Add("Date");
                rclsTPResult.Headers.Add("Time");

                foreach (string name in vclsTPRep.Targets)
                {
                    rclsTPResult.TargetNames.Add(name);
                }

                rclsTPResult.MetricNames.Add("GRP");
                rclsTPResult.MetricNames.Add("Thou");

                rclsTPResult.Region = String.Join(",", vclsTPRep.Regions);

                foreach (BLEventMetricResult er in vclsTPRep.EventResults)
                {
                    clsRow = new ResultItem();

                    clsRow.Title   = er.Evnt.Name;
                    clsRow.Chan    = er.Evnt.Channel.Name;
                    clsRow.TheDate = er.Evnt.Date_Start.Value.Date;
                    clsRow.Time    = er.Evnt.Date_Start.Value.Hour * 100 + er.Evnt.Date_Start.Value.Minute;

                    // Loop targets
                    foreach (List <BLMetricResult> mr in er.Results)
                    {
                        lstFigs = new List <double>();

                        // Loop metrics
                        foreach (BLMetricResult x in mr)
                        {
                            lstFigs.Add(x.Result);
                        }
                        clsRow.Figures.Add(lstFigs);
                    }

                    rclsTPResult.Items.Add(clsRow);
                }

                blnOk = true;
            }
            catch (Exception exc)
            {
                rstrErr = "Unexpected error:" + exc.Message;
            }

            return(blnOk);
        }
Ejemplo n.º 4
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);
        }