示例#1
0
        public JsonResult GetMasterCampaignListByPage([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestmodel)
        {
            var masterList = _masterCampaignServices.GetOrderedMasterCampaign().Where(x => x.IsActive == true);

            //var filteredData =  masterList.Where(_item => _item.Name.ToLower().StartsWith(requestmodel.Search.Value.ToLower()));

            //var result = masterList.Skip(requestmodel.Start).Take(requestmodel.Length);
            Util util = new Util();
            var  data = !String.IsNullOrEmpty(requestmodel.Search.Value) ? masterList.Where(_item => _item.Name.ToLower().StartsWith(requestmodel.Search.Value.ToLower())) : masterList.Skip(requestmodel.Start).Take(requestmodel.Length);
            List <MasterCampaignViewModelListing> masterCampaignList = (from campaign in data.ToList()
                                                                        where campaign.IsActive == true
                                                                        select
                                                                        new MasterCampaignViewModelListing
            {
                DigitalID = string.Format("M{0}", util.DigitalId(campaign.Id).PadLeft(5, '0')),
                Id = string.Format("M{0}", campaign.Id.ToString("0000000")),
                Name = campaign.Name,
                CampaignManager = campaign.CampaignManager,
                CreatedBy = campaign.CreatedBy,
                InheritStatus = campaign.InheritStatus,
                CampaignDescription = campaign.CampaignDescription,
                Status = campaign.Status,
                StartDate = String.Format("{0:dd MMM yyyy}", campaign.StartDate),
                EndDate = String.Format("{0:dd MMM yyyy}", campaign.EndDate)
            }

                                                                        ).ToList();

            return(Json(new DataTablesResponse(requestmodel.Draw, masterCampaignList, !String.IsNullOrEmpty(requestmodel.Search.Value) ? data.Count() : masterList.Count(), !String.IsNullOrEmpty(requestmodel.Search.Value) ? data.Count() : masterList.Count()), JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public ActionResult ChildCampaign(int Id = 0)
        {
            ChildCampaignViewModel Childvm = new ChildCampaignViewModel();

            Childvm.MasterViewModels = _masterCampaignServices.GetOrderedMasterCampaign().Where(t => t.Status == Status.Complete.ToString()).ToList();

            if (Id != 0)
            {
                ChildCampaign childCampaign = _childCampaignServices.GetChildCampaignById(new ChildCampaignViewModel {
                    Id = Id
                }).First();

                Childvm.SubCampaignBudgetingDetailViewModels = _childCampaignServices.GetSubCampaignBudgetingDetails(Id).ToList();

                //List<TacticCampaign> tacticList = _tacticCampaignServices.GetTacticCampaignByChildId(Id).ToList();
                //var Inheritanceflag=0;
                //foreach (var itemtacticList in tacticList)
                //{
                //   if (itemtacticList.Status != Status.Complete.ToString() && (itemtacticList.EndDate>DateTime.Now))
                //        Inheritanceflag = 1;
                //}
                //if (tacticList.Count == 0)
                //{
                //    Childvm.InheritanceStatus = childCampaign.InheritStatus;
                //}
                //else if (Inheritanceflag== 0) { Childvm.InheritanceStatus = InheritStatus.Complete.ToString(); }
                //else { Childvm.InheritanceStatus = InheritStatus.Active.ToString(); }

                if (childCampaign.MasterCampaigns.Id != 0)
                {
                    List <MasterCampaign> masterChild =
                        _masterCampaignServices.GetMasterCampaignById(childCampaign.MasterCampaigns.Id);
                    foreach (var item in masterChild)
                    {
                        if (Childvm.CampaignTypes == 0)
                        {
                            Childvm.BusinessGroupViewModels = Childvm.BusinessGroupViewModels.Concat(item.BusinessGroups).ToList();
                            Childvm.SegmentViewModels       = item.Segments.ToList();
                        }
                        else
                        {
                            Childvm.BusinessGroupViewModels = item.BusinessGroups.ToList();
                            Childvm.SegmentViewModels       = Childvm.SegmentViewModels.Concat(item.Segments).ToList();
                        }

                        Childvm.GeographyViewModels = item.Geographys.ToList();
                        Childvm.ThemeViewModels     = item.Themes.ToList();

                        Childvm.BusinessLineViewModels = item.BusinessLines.ToList();
                        Childvm.IndustryViewModels     = item.Industries.ToList();
                        Childvm.MCStartDate            = item.StartDate;
                        Childvm.MCEndDate = item.EndDate;
                    }
                }

                if (childCampaign.MasterCampaigns != null && childCampaign.MasterCampaigns.Id != 0)
                {
                    Childvm.MasterCampaignId = childCampaign.MasterCampaigns.Id;
                }

                if (childCampaign.Themes != null && childCampaign.Themes.Count > 0)
                {
                    Childvm.Themes_Id = childCampaign.Themes.Select(t => t.Id).ToArray();;
                }


                if (childCampaign.BusinessGroups != null && childCampaign.BusinessGroups.Count > 0)
                {
                    Childvm.BusinessGroups_Id = childCampaign.BusinessGroups.Select(t => t.Id).ToArray();;
                }


                if (childCampaign.BusinessLines != null && childCampaign.BusinessLines.Count > 0)
                {
                    Childvm.BusinessLines_Id = childCampaign.BusinessLines.Select(t => t.Id).ToArray();;
                }


                if (childCampaign.Segments != null && childCampaign.Segments.Count > 0)
                {
                    Childvm.Segments_Id = childCampaign.Segments.Select(t => t.Id).ToArray();;
                }

                if (childCampaign.Geographys != null && childCampaign.Geographys.Count > 0)
                {
                    Childvm.Geographys_Id = childCampaign.Geographys.Select(t => t.Id).ToArray();;
                }


                if (childCampaign.Industries != null && childCampaign.Industries.Count > 0)
                {
                    Childvm.Industries_Id = childCampaign.Industries.Select(t => t.Id).ToArray();;
                }

                Childvm.Name = childCampaign.Name;
                Childvm.CampaignDescription = childCampaign.CampaignDescription;
                Childvm.CampaignManager     = childCampaign.CampaignManager;

                Childvm.Budget    = childCampaign.Budget;
                Childvm.StartDate = childCampaign.StartDate;
                Childvm.EndDate   = childCampaign.EndDate;

                Childvm.Spend     = childCampaign.Spend;
                Childvm.Id        = childCampaign.Id;
                Childvm.Status    = childCampaign.Status;
                Childvm.MILGoal   = childCampaign.MILGoal;
                Childvm.MILLow    = childCampaign.MILLow;
                Childvm.MILHigh   = childCampaign.MILHigh;
                Childvm.MGLGoal   = childCampaign.MGLGoal;
                Childvm.MGLLow    = childCampaign.MGLLow;
                Childvm.MGLHigh   = childCampaign.MGLHigh;
                Childvm.MIOGoal   = childCampaign.MIOGoal;
                Childvm.MIOLow    = childCampaign.MIOLow;
                Childvm.MIOHigh   = childCampaign.MIOHigh;
                Childvm.MGOGoal   = childCampaign.MGOGoal;
                Childvm.MGOLow    = childCampaign.MGOLow;
                Childvm.MGOHigh   = childCampaign.MGOHigh;
                Childvm.MILSource = childCampaign.MILSource;
                Childvm.MGLSource = childCampaign.MGLSource;
                Childvm.MIOSource = childCampaign.MIOSource;
                Childvm.MGOSource = childCampaign.MGOSource;

                Childvm.CampaignTypes  = (childCampaign.CampaignType == 0 ? CampaignType.BG_Led : CampaignType.GEPS);
                Childvm.BusinessLineId = childCampaign.BusinessLineId;

                var MasterCampaignName = string.Empty;
                foreach (var val in Childvm.MasterViewModels)
                {
                    if (val.Id == childCampaign.MasterCampaigns.Id)
                    {
                        MasterCampaignName = val.Name;
                    }
                }

                Childvm.InheritanceStatus     = childCampaign.InheritStatus;
                Childvm.StatusInheritaceStamp = String.Format("{0:yy}", childCampaign.UpdatedDate) + "." + MasterCampaignName + "." + Childvm.Name + " //"
                                                + (Childvm.Status == Status.Draft.ToString()?Status.Draft.ToString():Childvm.InheritanceStatus) +
                                                " // " + String.Format("{0:ddMMyy HH:MM}", childCampaign.UpdatedDate);

                ManageSelectUnselect(Childvm);

                //Update visited date
                if (Childvm.Status == Status.Draft.ToString())
                {
                    childCampaign.VisitedDate = DateTime.Now;
                    _childCampaignServices.Update(childCampaign);
                }
            }

            return(View(Childvm));
        }
示例#3
0
        public ActionResult TacticCampaign(int Id = 0)
        {
            TacticCampaignViewModel tacticvm = new TacticCampaignViewModel();

            tacticvm.JourneyStageViewModels = _journeyStageServices.GetJourneyStage().ToList();
            var ttList = _tacticCampaignServices.GetTacticType().ToList();

            tacticvm.TacticTypeViewModels = tacticvm.TacticTypeViewModels.Concat(ttList).ToList();
            tacticvm.MasterViewModels     = _masterCampaignServices.GetOrderedMasterCampaign().Where(t => t.Status == Status.Complete.ToString() && t.ChildCampaigns.Where(r => r.Status != Status.Draft.ToString()).ToList().Count != 0).ToList();
            tacticvm.Medium = _digitalTouchpoint.GetMedium();
            tacticvm.Source = _digitalTouchpoint.GetSource();
            if (Id == 0)
            {
                tacticvm.BusinessGroupViewModels  = (new[] { new BusinessGroup() });
                tacticvm.SegmentViewModels        = (new[] { new Segment() });
                tacticvm.MetricReachViewModels    = _metricReachServices.GetAllMetricReach().ToList();
                tacticvm.MetricResponseViewModels = _metricResponseServices.GetAllMetricResponse().ToList();

                return(View(tacticvm));
            }

            if (Id != 0)
            {
                TacticCampaign tacticCampaign = _tacticCampaignServices.GetTacticCampaignById(new TacticCampaignViewModel {
                    Id = Id
                }).First();

                tacticvm.ChildCampaignViewModels = _childCampaignServices.GetChildCampaignByMasterId(tacticCampaign.ChildCampaigns.MasterCampaigns.Id).Where(t => t.Status == Status.Complete.ToString()).ToList();

                if (tacticCampaign.ChildCampaigns.Id != 0)
                {
                    List <ChildCampaign> childCampaign = _childCampaignServices.GetDDLValuesByChildId(tacticCampaign.ChildCampaigns.Id);
                    foreach (var item in childCampaign)
                    {
                        if (item.CampaignType == 0)
                        {
                            tacticvm.BusinessGroupViewModels = tacticvm.BusinessGroupViewModels.Concat(item.BusinessGroups).ToList();
                            tacticvm.SegmentViewModels       = item.Segments.ToList();
                        }
                        else
                        {
                            tacticvm.BusinessGroupViewModels = item.BusinessGroups.ToList();
                            tacticvm.SegmentViewModels       = tacticvm.SegmentViewModels.Concat(item.Segments).ToList();
                        }
                        tacticvm.ThemeViewModels        = item.Themes.ToList();
                        tacticvm.GeographyViewModels    = item.Geographys.ToList();
                        tacticvm.BusinessLineViewModels = item.BusinessLines.ToList();
                        tacticvm.IndustryViewModels     = item.Industries.ToList();
                        tacticvm.MCStartDate            = item.StartDate;
                        tacticvm.MCEndDate = item.EndDate;
                    }
                }
                else
                {
                    tacticvm.IndustryViewModels      = _industryService.GetIndustry().ToList();
                    tacticvm.BusinessGroupViewModels = _businessgroupService.GetBG().ToList();
                    tacticvm.BusinessLineViewModels  = _businesslineService.GetBusinessLine().ToList();
                    tacticvm.SegmentViewModels       = _segmentService.GetSegment().ToList();
                    tacticvm.ThemeViewModels         = _themeService.GetTheme().ToList();
                    tacticvm.GeographyViewModels     = _geographyService.GetGeography().ToList();
                }

                if (tacticCampaign.ChildCampaigns.MasterCampaigns != null && tacticCampaign.ChildCampaigns.MasterCampaigns.Id != 0)
                {
                    tacticvm.MasterCampaign_Id = tacticCampaign.ChildCampaigns.MasterCampaigns.Id;
                }

                if (tacticCampaign.ChildCampaigns != null && tacticCampaign.ChildCampaigns.Id != 0)
                {
                    tacticvm.ChildCampaign_Id = tacticCampaign.ChildCampaigns.Id;
                }

                if (tacticCampaign.Themes != null && tacticCampaign.Themes.Count > 0)
                {
                    tacticvm.Themes_Id = tacticCampaign.Themes.Select(t => t.Id).ToArray();;
                }


                if (tacticCampaign.BusinessGroups != null && tacticCampaign.BusinessGroups.Count > 0)
                {
                    tacticvm.BusinessGroups_Id = tacticCampaign.BusinessGroups.Select(t => t.Id).ToArray();;
                }

                if (tacticCampaign.BusinessLines != null && tacticCampaign.BusinessLines.Count > 0)
                {
                    tacticvm.BusinessLines_Id = tacticCampaign.BusinessLines.Select(t => t.Id).ToArray();;
                }

                if (tacticCampaign.Segments != null && tacticCampaign.Segments.Count > 0)
                {
                    tacticvm.Segments_Id = tacticCampaign.Segments.Select(t => t.Id).ToArray();;
                }

                if (tacticCampaign.Industries != null && tacticCampaign.Industries.Count > 0)
                {
                    tacticvm.Industries_Id = tacticCampaign.Industries.Select(t => t.Id).ToArray();;
                }

                if (tacticCampaign.Geographys != null && tacticCampaign.Geographys.Count > 0)
                {
                    tacticvm.Geographys_Id = tacticCampaign.Geographys.Select(t => t.Id).ToArray();;
                }

                if (tacticCampaign.TacticTypes != null && tacticCampaign.TacticTypes.Count > 0)
                {
                    tacticvm.TacticType_Id = tacticCampaign.TacticTypes.Select(t => t.Id).ToArray();;
                }

                tacticvm.TacticType      = tacticCampaign.TacticType;
                tacticvm.JournetStage_Id = tacticCampaign.JourneyStage_Id;
                tacticvm.Id   = tacticCampaign.Id;
                tacticvm.Name = tacticCampaign.Name;
                tacticvm.TacticDescription = tacticCampaign.TacticDescription;
                tacticvm.StartDate         = tacticCampaign.StartDate;
                tacticvm.EndDate           = tacticCampaign.EndDate;
                tacticvm.Status            = tacticCampaign.Status;
                tacticvm.Vendor            = tacticCampaign.Vendor;
                tacticvm.Year              = tacticCampaign.Year;
                tacticvm.Status            = tacticCampaign.Status;
                tacticvm.MasterCampaign_Id = tacticCampaign.MasterCampaign_Id;

                var MasterCampaignName = string.Empty;
                var ChildCampaignName  = string.Empty;
                foreach (var val in tacticvm.MasterViewModels)
                {
                    if (val.Id == tacticCampaign.MasterCampaign_Id)
                    {
                        MasterCampaignName = val.Name;
                    }
                }
                foreach (var val in tacticvm.ChildCampaignViewModels)
                {
                    if (val.Id == tacticCampaign.ChildCampaigns.Id)
                    {
                        ChildCampaignName = val.Name;
                    }
                }

                if (Tacticvm.EndDate < DateTime.Now)
                {
                    tacticCampaign.InheritStatus = Status.Complete.ToString();
                }

                tacticvm.StatusInheritaceStamp = String.Format("{0:yy}", tacticCampaign.UpdatedDate) + "." + MasterCampaignName + "."
                                                 + ChildCampaignName + " //" + ((tacticvm.Status == Status.Complete.ToString() &&
                                                                                 (tacticvm.EndDate < DateTime.Now)) ? Status.Complete.ToString() : tacticvm.Status) +
                                                 " // " + String.Format("{0:ddMMyy HH:MM}", tacticCampaign.UpdatedDate);


                tacticvm.MetricReachViewModels    = _metricReachServices.GetAllMetricReach().ToList();
                tacticvm.MetricResponseViewModels = _metricResponseServices.GetAllMetricResponse().ToList();
                tacticvm.TacticCampaignReachResponseViewModels = tacticCampaign.TacticCampaignReachResponses.ToList();

                //Update visited date
                if (tacticvm.Status == Status.Draft.ToString())
                {
                    tacticCampaign.VisitedDate = DateTime.Now;
                    _tacticCampaignServices.Update(tacticCampaign);
                }
            }
            return(View(tacticvm));
        }