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")); }
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)); }