Beispiel #1
0
        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));
        }