public JsonResult SaveAdInfo(ACM.Model.Ad ad)
        {
            if (!string.IsNullOrEmpty(ad.AdLocationCode) && ad.MediaType != "Select" && ModelState.IsValid)
            {
                string loginId = User.Identity.Name;
                loginId = loginId.Replace("AD-ENT\\", "");
                ACM.BO.Admin.UsersBO usersBO = new ACM.BO.Admin.UsersBO();
                var userDetail = usersBO.GetUserDetail(loginId);

                int depolymentPeriodID = 0;
                if (ad.Field8 != null && ad.Field8 > 0)
                {
                    depolymentPeriodID = (int)ad.Field8;
                }
                if (ad.AdId == 0)
                {
                    Guid gid = Guid.NewGuid();
                    ad.AdGuid          = gid.ToString();
                    ad.CreatedDate     = DateTime.Now;
                    ad.CreatedBy       = userDetail.UserId;
                    ad.CampaignId      = (Int32)Session["CampaignId"];
                    ad.AdRestrictionId = 5;
                    ad = adServiceClient.AdAdd(ad);
                    UpdateRestrictions(ad);
                }
                else
                {
                    ad.CreatedDate     = DateTime.Now;
                    ad.CreatedBy       = userDetail.UserId;
                    ad.AdRestrictionId = 5;
                    ad.CampaignId      = (Int32)Session["CampaignId"];

                    adServiceClient.AdMod(ad);

                    UpdateRestrictions(ad);
                }

                bool applyAllDeployments = false;
                if (ad.Field9 != null && ad.Field9 == 1)
                {
                    applyAllDeployments = true;
                }
                if (depolymentPeriodID > 0)
                {
                    DeploymentPeriodBO dpbo = new DeploymentPeriodBO();
                    dpbo.InsertAdDeploymentPeriod(ad.CampaignId, ad.AdId, depolymentPeriodID, applyAllDeployments);
                }
                return(Json(ad));
            }
            else
            {
                IEnumerable <ModelError> errors = ModelState.Values.SelectMany(v => v.Errors);
                return(Json(errors));
            }
        }