Exemplo n.º 1
0
        public ActionResult EditAdgroup(long adgroupGK, FormCollection coll)
        {
            Oltp.AdgroupDataTable adgroups;
            using (var client = OltpLogicClient.Open(session_id))
            {
                if (client == null)
                {
                    return(PartialView("~/Views/Shared/_SessionExpiredView.cshtml"));
                }

                adgroups = client.Service.Adgroup_GetSingle(adgroupGK);

                foreach (string key in coll.Keys)
                {
                    if (key.Contains("adgroupSegmentValue_"))
                    {
                        string segment_id   = key.Split('_')[1];
                        int    segmentID    = int.Parse(segment_id);
                        int    segmentValue = int.Parse(coll[key]);
                        switch (segmentID)
                        {
                        case 1: adgroups[0].Segment1 = segmentValue; break;

                        case 2: adgroups[0].Segment2 = segmentValue; break;

                        case 3: adgroups[0].Segment3 = segmentValue; break;

                        case 4: adgroups[0].Segment4 = segmentValue; break;

                        case 5: adgroups[0].Segment5 = segmentValue; break;

                        default: break;
                        }
                    }
                }

                client.Service.Adgroup_Save(adgroups, false);

                Oltp.AdgroupCreativeDataTable adgroupcreatives = client.Service.AdgroupCreative_Get(adgroupGK);
                foreach (Oltp.AdgroupCreativeRow r in adgroupcreatives)
                {
                    foreach (string key in coll.Keys)
                    {
                        if (key.Contains("adgroupcreative" + r.AdgroupCreativeGK + "_SegmentValue_"))
                        {
                            string segment_id   = key.Split('_')[2];
                            int    segmentID    = int.Parse(segment_id);
                            int    segmentValue = int.Parse(coll[key]);
                            switch (segmentID)
                            {
                            case 1: r.Segment1 = segmentValue; break;

                            case 2: r.Segment2 = segmentValue; break;

                            case 3: r.Segment3 = segmentValue; break;

                            case 4: r.Segment4 = segmentValue; break;

                            case 5: r.Segment5 = segmentValue; break;

                            case 999: r.PageGK = segmentValue; break;

                            default: break;
                            }
                        }
                    }
                }
                client.Service.AdgroupCreative_Save(adgroupcreatives);
            }
            return(Content("OK"));
        }
Exemplo n.º 2
0
        public PartialViewResult EditAdgroup(long adgroupGK)
        {
            Models.AdgroupModel m = new Models.AdgroupModel();

            using (var client = OltpLogicClient.Open(session_id))
            {
                if (client == null)
                {
                    return(PartialView("~/Views/Shared/_SessionExpiredView.cshtml"));
                }

                m.Adgroup = client.Service.Adgroup_GetSingle(adgroupGK)[0];


                Oltp.SegmentDataTable segments = client.Service.Segment_Get(acc_id, true);
                foreach (Oltp.SegmentRow segment in segments)
                {
                    bool is_adgroup_segment = ((Auxilary.SegmentAssociationFlags)segment.Association).HasFlag(Auxilary.SegmentAssociationFlags.Adgroup);
                    if (is_adgroup_segment)
                    {
                        Oltp.SegmentValueDataTable segment_values = client.Service.SegmentValue_Get(acc_id, segment.SegmentID);
                        int value;
                        switch (segment.SegmentID)
                        {
                        case 1: value = m.Adgroup.Segment1; break;

                        case 2: value = m.Adgroup.Segment2; break;

                        case 3: value = m.Adgroup.Segment3; break;

                        case 4: value = m.Adgroup.Segment4; break;

                        case 5: value = m.Adgroup.Segment5; break;

                        default: value = m.Adgroup.Segment1; break;
                        }
                        m.Segments.Add(new Models.SegmentRowModel()
                        {
                            SegmentRow = segment, Values = segment_values.ToList(), SelectedValue = value
                        });
                    }
                }

                Oltp.AdgroupKeywordDataTable k = client.Service.AdgroupKeyword_Get(adgroupGK);
                foreach (Oltp.AdgroupKeywordRow r in k)
                {
                    Models.AdgroupKeywordModel m1 = new Models.AdgroupKeywordModel();
                    m1.DestinationURL = r.DestinationUrlDisplay;
                    m1.KeywordGK      = r.KeywordGK;
                    m1.KeywordName    = r.KeywordDisplay;
                    m1.MatchType      = r.MatchTypeDisplay;
                    m.Keywords.Add(m1);
                }

                Oltp.AdgroupCreativeDataTable c = client.Service.AdgroupCreative_Get(adgroupGK);
                foreach (Oltp.AdgroupCreativeRow r in c)
                {
                    Models.AdgroupCreativeModel m1 = new Models.AdgroupCreativeModel();
                    m1.AdgroupCreativeGK = r.AdgroupCreativeGK;
                    m1.CreativeGK        = r.CreativeGK;
                    m1.Desc1             = r.Desc1;
                    m1.Desc2             = r.Desc2;
                    m1.DestinationURL    = r.DestinationURL;
                    m1.DisplayURL        = r.DisplayURL;
                    m1.Title             = r.Title;

                    foreach (Oltp.SegmentRow segment in segments)
                    {
                        bool is_adgroupcreative_segment = ((Auxilary.SegmentAssociationFlags)segment.Association).HasFlag(Auxilary.SegmentAssociationFlags.AdgroupCreative);
                        if (is_adgroupcreative_segment)
                        {
                            Oltp.SegmentValueDataTable segment_values = client.Service.SegmentValue_Get(acc_id, segment.SegmentID);
                            long value;
                            switch (segment.SegmentID)
                            {
                            case 1: value = r.Segment1; break;

                            case 2: value = r.Segment2; break;

                            case 3: value = r.Segment3; break;

                            case 4: value = r.Segment4; break;

                            case 5: value = r.Segment5; break;

                            case 999: value = r.PageGK; break;

                            default: value = r.Segment1; break;
                            }
                            m1.Segments.Add(new Models.SegmentRowModel()
                            {
                                SegmentRow = segment, Values = segment_values.ToList(), SelectedValue = value
                            });
                        }
                    }

                    m.Creatives.Add(m1);
                }
            }


            return(PartialView("AdgroupDetails", m));
        }