public SmartWordSetupModel GetSetupModelForPromotionId(int promoId, int customerFk) { var model = new SmartWordSetupModel(); var dbcontext = new SemplestModel.Semplest(); var promo = dbcontext.Promotions.Single(p => p.PromotionPK == promoId); //only let the user see their promo if (promo != null && promo.ProductGroup.CustomerFK != customerFk) promo = null; // populate model from promotions if (promo != null) { model.ProductGroup.IsAutoBid = promo.IsAutobid; model.ProductGroup.AutoBidMaxCPC = promo.AutoBidMaxCPC; model.ProductGroup.ProductGroupName = promo.ProductGroup.ProductGroupName; model.ProductGroup.ProductPromotionName = promo.PromotionName; model.ProductGroup.Budget = promo.PromotionBudgetAmount; model.ProductGroup.StartDate = promo.PromotionStartDate.ToString("MM/dd/yyyy", new CultureInfo("en-Us")); model.ProductGroup.EndDate = promo.PromotionEndDate.HasValue ? promo.PromotionEndDate.Value.ToString("MM/dd/yyyy", CultureInfo. InvariantCulture) : String.Empty; // set words model.ProductGroup.Words = promo.PromotionDescription; } // set advertising engines model.ProductGroup.AdEnginesSelectedList = new List<AdEngineSelectModel>(); if (promo != null) { foreach (var paes in promo.PromotionAdEngineSelecteds) { var aesm = new AdEngineSelectModel { Id = paes.AdvertisingEngine.AdvertisingEnginePK, Name = paes.AdvertisingEngine.AdvertisingEngine1 }; model.ProductGroup.AdEnginesSelectedList.Add(aesm); model.ProductGroup.AdEnginesList.Add(paes.AdvertisingEngine.AdvertisingEnginePK); } // set URL model.LandingUrl = promo.LandingPageURL; // set display url // set geotargetings model.Addresses = promo.GeoTargetings.ToList(); var singleOrDefault = promo.GeoTargetings.FirstOrDefault(); if (singleOrDefault != null && singleOrDefault.AddressType != null) model.PromotionAddressType = singleOrDefault.AddressType.AddressType1; else model.PromotionAddressType = "NATIONALLY"; // set promotionads //model.AdModelProp.Ads = promo.PromotionAds.Where(ads => !ads.IsDeleted).ToList(); // set negative keywords if (promo.PromotionKeywordAssociations != null) model.NegativeKeywords = promo.PromotionKeywordAssociations.Where(m => m.IsNegative && !m.IsDeleted).Select(m => m.Keyword.Keyword1). ToList(); // set islaunched // if (!preview) // { model.AllKeywords.AddRange( promo.PromotionKeywordAssociations.Where(key => !key.IsDeleted && !key.IsNegative).OrderByDescending(o => o.SemplestProbability).Select( key => new CampaignSetupModel.KeywordsModel { Name = key.Keyword.Keyword1, Id = key.Keyword.KeywordPK })); // } //} //if (!preview) //{ var cnt = model.NegativeKeywords.Count(); for (var i = 0; i < cnt; i++) { model.NegativeKeywordsText += model.NegativeKeywords[i]; if (i < cnt - 1) { model.NegativeKeywordsText += ", "; } } //} } return model; }
public CampaignSetupModel GetCampaignSetupModelForPromotionId(int promoId, bool preview = false) { var model = new CampaignSetupModel(); var dbcontext = InitializeContext(); var promo = dbcontext.Promotions.FirstOrDefault(p => p.PromotionPK == promoId); //only let the user see their promo int customerFk = ((Credential) (System.Web.HttpContext.Current.Session[Semplest.SharedResources.SEMplestConstants.SESSION_USERID])). User.CustomerFK.Value; if (promo != null && promo.ProductGroup.CustomerFK != customerFk) promo = null; // populate model from promotions if (promo != null) { model.ProductGroup.IsAutoBid = promo.IsAutobid; model.ProductGroup.AutoBidMaxCPC = promo.AutoBidMaxCPC; model.ProductGroup.ProductGroupName = promo.ProductGroup.ProductGroupName; model.ProductGroup.ProductPromotionName = promo.PromotionName; model.ProductGroup.Budget = promo.PromotionBudgetAmount; model.ProductGroup.StartDate = promo.PromotionStartDate.ToString("MM/dd/yyyy", new CultureInfo("en-Us")); model.ProductGroup.EndDate = promo.PromotionEndDate.HasValue ? promo.PromotionEndDate.Value.ToString("MM/dd/yyyy", CultureInfo. InvariantCulture) : String.Empty; // set words model.ProductGroup.Words = promo.PromotionDescription; } // set advertising engines model.ProductGroup.AdEnginesSelectedList = new List<AdEngineSelectModel>(); if (promo != null) { foreach (var paes in promo.PromotionAdEngineSelecteds) { var aesm = new AdEngineSelectModel { Id = paes.AdvertisingEngine.AdvertisingEnginePK, Name = paes.AdvertisingEngine.AdvertisingEngine1 }; model.ProductGroup.AdEnginesSelectedList.Add(aesm); model.ProductGroup.AdEnginesList.Add(paes.AdvertisingEngine.AdvertisingEnginePK); } // set URL model.AdModelProp.LandingUrl = promo.LandingPageURL; // set display url model.AdModelProp.DisplayUrl = promo.DisplayURL; // set geotargetings model.AdModelProp.Addresses = promo.GeoTargetings.ToList(); var singleOrDefault = promo.GeoTargetings.FirstOrDefault(); if (singleOrDefault != null && singleOrDefault.AddressType != null) model.AdModelProp.PromotionAddressType = singleOrDefault.AddressType.AddressType1; else model.AdModelProp.PromotionAddressType = "NATIONALLY"; // set promotionads model.AdModelProp.Ads = promo.PromotionAds.Where(ads => !ads.IsDeleted).ToList(); if (!preview) { // set negative keywords if (promo.PromotionKeywordAssociations != null) model.AdModelProp.NegativeKeywords = promo.PromotionKeywordAssociations.Where(m => m.IsNegative && !m.IsDeleted).Select(m => m.Keyword.Keyword1). ToList(); } // set islaunched model.IsLaunched = promo.IsLaunched; model.IsCompleted = promo.IsCompleted; if (!preview) { model.AllKeywords.AddRange( promo.PromotionKeywordAssociations.Where(key => !key.IsDeleted && !key.IsNegative).OrderByDescending(o => o.SemplestProbability).Select( key => new CampaignSetupModel.KeywordsModel {Name = key.Keyword.Keyword1, Id = key.Keyword.KeywordPK})); } model.SiteLinks = promo.SiteLinks.ToList(); } if (!preview) { var cnt = model.AdModelProp.NegativeKeywords.Count(); for (var i = 0; i < cnt; i++) { model.AdModelProp.NegativeKeywordsText += model.AdModelProp.NegativeKeywords[i]; if (i < cnt - 1) { model.AdModelProp.NegativeKeywordsText += ", "; } } } //added by tudor var userid = ((Credential) System.Web.HttpContext.Current.Session[SharedResources.SEMplestConstants.SESSION_USERID]). UsersFK; var queryCustFk = from u in dbcontext.Users where u.UserPK == userid select u.CustomerFK; var custobj = from c in dbcontext.Customers where c.CustomerPK == queryCustFk.FirstOrDefault() select new {c.PercentOfMedia, c.PromotionFeeAmount, c.PromotionFeeOverride, c.AllowAutobid}; var firstOrDefault = custobj.FirstOrDefault(); if (firstOrDefault != null) { model.ProductGroup.AllowAutoBid = firstOrDefault.AllowAutobid; model.PercentMedia = firstOrDefault.PercentOfMedia; model.PromotionFeeOverRide = firstOrDefault.PromotionFeeOverride; model.PromotionFeeOverRideAmount = firstOrDefault.PromotionFeeAmount; } model.BillType = dbcontext.Users.First(key => key.UserPK == userid).Customer.BillTypeFK; return model; }
public CampaignSetupModel GetCampaignSetupModelForPromotionId(int promoId) { var model = new CampaignSetupModel(); var dbcontext = InitializeContext(); var promo = dbcontext.Promotions.FirstOrDefault(p => p.PromotionPK == promoId); //var promo = _promotonIdQuery.Invoke(dbcontext, promoId); // populate model from promotions if (promo != null) { model.ProductGroup.ProductGroupName = promo.ProductGroup.ProductGroupName; model.ProductGroup.ProductPromotionName = promo.PromotionName; model.ProductGroup.Budget = promo.PromotionBudgetAmount; model.ProductGroup.StartDate = promo.ProductGroup.StartDate.ToString("MM/dd/yyyy", new CultureInfo("en-Us")); model.ProductGroup.EndDate = promo.ProductGroup.EndDate.HasValue ? promo.ProductGroup.EndDate.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture) : String.Empty; // set words model.ProductGroup.Words = promo.PromotionDescription; } // set advertising engines model.ProductGroup.AdEnginesSelectedList = new List<AdEngineSelectModel>(); if (promo != null) { foreach (var paes in promo.PromotionAdEngineSelecteds) { var aesm = new AdEngineSelectModel { Id = paes.AdvertisingEngine.AdvertisingEnginePK, Name = paes.AdvertisingEngine.AdvertisingEngine1 }; model.ProductGroup.AdEnginesSelectedList.Add(aesm); model.ProductGroup.AdEnginesList.Add(paes.AdvertisingEngine.AdvertisingEnginePK); } // set URL model.AdModelProp.LandingUrl = promo.LandingPageURL; // set display url model.AdModelProp.DisplayUrl = promo.DisplayURL; // set geotargetings model.AdModelProp.Addresses = promo.GeoTargetings.ToList(); // set promotionads model.AdModelProp.Ads = promo.PromotionAds.ToList(); // set negative keywords if (promo.PromotionKeywordAssociations != null) model.AdModelProp.NegativeKeywords = promo.PromotionKeywordAssociations.Where(m => m.IsNegative).Select(m => m.Keyword.Keyword1).ToList(); // set islaunched model.IsLaunched = promo.IsLaunched; model.IsCompleted = promo.IsCompleted; // set sitelinks model.SiteLinks = promo.SiteLinks.ToList(); } var cnt = model.AdModelProp.NegativeKeywords.Count(); for (var i = 0; i < cnt; i++) { model.AdModelProp.NegativeKeywordsText += model.AdModelProp.NegativeKeywords[i]; if (i < cnt - 1) { model.AdModelProp.NegativeKeywordsText += ", "; } } //added by tudor var userid = ((Credential)System.Web.HttpContext.Current.Session[SharedResources.SEMplestConstants.SESSION_USERID]).UsersFK; var queryCustFk = from u in dbcontext.Users where u.UserPK == userid select u.CustomerFK; var custobj = from c in dbcontext.Customers where c.CustomerPK == queryCustFk.FirstOrDefault() select new { c.PercentOfMedia, c.PromotionFeeAmount, c.PromotionFeeOverride }; var firstOrDefault = custobj.FirstOrDefault(); if (firstOrDefault != null) { model.PercentMedia = firstOrDefault.PercentOfMedia; model.PromotionFeeOverRide = firstOrDefault.PromotionFeeOverride; model.PromotionFeeOverRideAmount = firstOrDefault.PromotionFeeAmount; } return model; }