public ActionResult Rebroad(Guid?id) { if (id == null) { throw new HttpException(400, "Bad Request"); } Campaign campaign = Db.Campaigns.Include(x => x.Segments).Include(x => x.Trackings) .FirstOrDefault(x => x.Id == id); if (campaign == null) { throw new HttpException(404, "Not found"); } var proData = VendorsList.FirstOrDefault(x => x.Text.Contains("Pro")); ViewBag.Vendor = new SelectList(VendorsList, "Value", "Text", proData); if (!campaign.ReBroadcasted) { var campaignTracking = campaign.Trackings.FirstOrDefault(x => x.SegmentNumber == string.Empty); long opennedFromOrignal = campaignTracking?.Opened ?? campaign.Quantity; campaign.ReBroadcastedQuantity = opennedFromOrignal; campaign.ReBroadcastedDate = campaign.ReBroadcastDate; } return(View(campaign)); }
public ActionResult EditApproved([Bind(Include = "Assets,Segments,Id,CampaignId,ReferenceNumber,OrderNumber,CampaignName,WhiteLabel,ReBroadCast,ReBroadcastDate,FromLine,SubjectLine,HtmlImageFiles,CreativeURL,DeployDate,ZipURL,GeoDetails,Demographics,Quantity,SpecialInstructions,LinkBreakout,ReportSiteLink,CreatedAt,CreatedBy,IsUseApiDataForOpen,IsOpenPixel,OpenPixelUrl,BannerUrl,OpenGoals,ClickGoals,DataFileQuantity,IsOmniOrder,OmniDeployDate,Impressions,ChannelTypes")] CampaignApprovedVm campaignApprovedVm) { if (ModelState.IsValid) { // Updatin Testing TinyMapper.Bind <CampaignApprovedVm, CampaignApproved>(config => { config.Ignore(x => x.ChannelTypes); config.Ignore(x => x.Assets); config.Ignore(x => x.Segments); }); var campaignApproved = TinyMapper.Map <CampaignApproved>(campaignApprovedVm); campaignApproved.ChannelTypes = campaignApprovedVm.ChannelTypes == null ? null : string.Join(",", campaignApprovedVm.ChannelTypes); Db.Entry(campaignApproved).State = EntityState.Modified; Db.SaveChanges(); // Updatin Asssets var campaignAssets = Db.CampaignAssets.FirstOrDefault(x => x.CampaignId == campaignApprovedVm.CampaignId); campaignAssets.CreativeFiles = campaignApprovedVm.Assets.CreativeFiles; campaignAssets.CreativeUrl = campaignApprovedVm.Assets.CreativeUrl; campaignAssets.ZipCodeFile = campaignApprovedVm.Assets.ZipCodeFile; campaignAssets.ZipCodeUrl = campaignApprovedVm.Assets.ZipCodeUrl; campaignAssets.TestSeedFile = campaignApprovedVm.Assets.TestSeedFile; campaignAssets.LiveSeedFile = campaignApprovedVm.Assets.LiveSeedFile; Db.Entry(campaignAssets).State = EntityState.Modified; Db.SaveChanges(); TempData["Success"] = "Approved data saved successfully!"; } else { var errorList = (from item in ModelState.Values from error in item.Errors select error.ErrorMessage).ToList(); TempData["Error"] = "There is error in saving data." + string.Join("<br/>", errorList); } var proData = VendorsList.FirstOrDefault(x => x.Text.Contains("Pro")); ViewBag.Vendor = new SelectList(VendorsList, "Value", "Text", proData); ViewBag.WhiteLabel = new SelectList(CustomersWithWLList, "Value", "Text", campaignApprovedVm.WhiteLabel); return(View(campaignApprovedVm)); }
// GET: CampaignApproveds/Edit/5 public ActionResult EditApproved(Guid?id) { CampaignApproved campaignApproved = Db.CampaignsApproved.FirstOrDefault(c => c.Id == id); if (campaignApproved == null) { throw new HttpException(404, "Not found"); } TinyMapper.Bind <CampaignApproved, CampaignApprovedVm>(config => { config.Ignore(x => x.ChannelTypes); }); var campaignApprovedVm = TinyMapper.Map <CampaignApprovedVm>(campaignApproved); Campaign campaign = Db.Campaigns .Include(x => x.Assets) .Include(x => x.Segments) .FirstOrDefault(x => x.Id == campaignApprovedVm.CampaignId); campaignApprovedVm.OrderNumber = campaign.OrderNumber; campaignApprovedVm.Assets = campaign.Assets; foreach (var segment in campaign.Segments) { var segmentVm = TinyMapper.Map <CampaignSegmentVm>(segment); campaignApprovedVm.Segments.Add(segmentVm); } campaignApprovedVm.ChannelTypes = string.IsNullOrEmpty(campaignApproved.ChannelTypes) ? new List <ChannelType> { } : campaignApproved.ChannelTypes .Split(",".ToCharArray()) .Select(x => (ChannelType)System.Enum.Parse(typeof(ChannelType), x)).ToList(); var proData = VendorsList.FirstOrDefault(x => x.Text.ToLowerInvariant().Contains("pro")); ViewBag.Vendor = new SelectList(VendorsList, "Value", "Text", proData); ViewBag.WhiteLabel = new SelectList(CustomersWithWLList, "Value", "Text", campaignApprovedVm.WhiteLabel); return(View(campaignApprovedVm)); }