Example #1
0
        private void BuildAdgroupGKList()
        {
            ArrayList gks = new ArrayList();

            for (int i = 0; i < _results.Count; i++)
            {
                AdgroupAllMeasures aam = (AdgroupAllMeasures)_results[i];
                AdgroupGK          agk = new AdgroupGK();
                agk._adgroupGK  = aam.GK;
                agk._campaignGK = aam.CampaignGK;
                gks.Add(agk);
            }

            if (ParentWorkflow.InternalParameters.ContainsKey("AdgroupGKList"))
            {
                ArrayList gkList = (ArrayList)ParentWorkflow.InternalParameters["AdgroupGKList"];
                for (int i = 0; i < gkList.Count; i++)
                {
                    if (!gks.Contains(gkList[i]))
                    {
                        gks.Add(gkList[i]);
                    }
                }

                ParentWorkflow.InternalParameters["AdgroupGKList"] = gks;
            }
            else
            {
                ParentWorkflow.InternalParameters.Add("AdgroupGKList", gks);
            }
        }
Example #2
0
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            DataManager.ConnectionString = ParentWorkflow.Parameters["ConnectionString"].ToString();

            //Run the stored procedure, based on the params we have.
            try
            {
                int accountID = Convert.ToInt32(ParentWorkflow.Parameters["AccountID"]);
                int channelID = Convert.ToInt32(ParentWorkflow.Parameters["ChannelID"]);

                //If we got the CampaignGK and AdgroupGK parameters, this means that someone wants to run us
                //with a specific campaign/adgroup.
                if (ParentWorkflow.Parameters.Contains("AdgroupGK") && ParentWorkflow.Parameters.Contains("CampaignGK"))
                {
                    int adgroupGK  = Convert.ToInt32(ParentWorkflow.Parameters["AdgroupGK"]);
                    int campaignGK = Convert.ToInt32(ParentWorkflow.Parameters["CampaignGK"]);
                    LoadGatewaysForAdgroup(accountID, channelID, campaignGK, adgroupGK);
                }
                else
                {
                    //We didn't get a campaign GK parameter, this means that we need to check if
                    //we have a list of campaign GK's from somewhere (i.e. AccountCampaigns).
                    if (ParentWorkflow.InternalParameters.Contains("AdgroupGKList"))
                    {
                        ArrayList gks = (ArrayList)ParentWorkflow.InternalParameters["AdgroupGKList"];
                        for (int i = 0; i < gks.Count; i++)
                        {
                            AdgroupGK adg = (AdgroupGK)gks[i];
                            LoadGatewaysForAdgroup(accountID, channelID, adg._campaignGK, adg._adgroupGK);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception at Adgroup Gateways: " + ex.ToString());
                throw ex;
            }

            return(ActivityExecutionStatus.Closed);
        }