Beispiel #1
0
        public List <TacticCampaign> GetTacticBySubCampaignId(TacticCampaignViewModel model)
        {
            List <TacticCampaign> tacticlist = new List <TacticCampaign>();
            ChildCampaign         child      = guow.GenericRepository <ChildCampaign>().GetByID(model.ChildCampaign_Id);

            tacticlist.AddRange(child.TacticCampaigns);
            return(tacticlist);
        }
Beispiel #2
0
 private ChildCampaign FlushChildRecords(ChildCampaign childCampaignCamp)
 {
     childCampaignCamp.Industries.Remove(childCampaignCamp.Industries.FirstOrDefault <Industry>());
     childCampaignCamp.Segments.Remove(childCampaignCamp.Segments.FirstOrDefault <Segment>());
     childCampaignCamp.Themes.Remove(childCampaignCamp.Themes.FirstOrDefault <Theme>());
     childCampaignCamp.Geographys.Remove(childCampaignCamp.Geographys.FirstOrDefault <Geography>());
     childCampaignCamp.BusinessLines.Remove(childCampaignCamp.BusinessLines.FirstOrDefault <BusinessLine>());
     childCampaignCamp.BusinessGroups.Remove(childCampaignCamp.BusinessGroups.FirstOrDefault <BusinessGroup>());
     return(childCampaignCamp);
 }
Beispiel #3
0
        public bool InsertChildCampaign(ChildCampaignViewModel model)
        {
            var childCampaignEntity = new ChildCampaign();

            ModelToEntity(model, childCampaignEntity);
            childCampaignEntity.SubCampaignBudgetingDetails = model.SubCampaignBudgetingDetailViewModels;
            guow.GenericRepository <ChildCampaign>().Insert(childCampaignEntity);
            UpdateMasterStatus(model.MasterCampaignId);
            return(childCampaignEntity.Id != 0);
        }
Beispiel #4
0
        public void UpdateInheritStatus(int masterId, int childId)
        {
            string inheritStatus = InheritStatus.Draft.ToString();
            var    childInherit  = guow.GenericRepository <TacticCampaign>().Table.Where(x => x.ChildCampaigns.Id == childId && (x.InheritStatus == InheritStatus.Active.ToString() || x.InheritStatus == InheritStatus.Draft.ToString())).ToList();

            if (childInherit.Count > 0)
            {
                inheritStatus = InheritStatus.Active.ToString();
            }
            else
            {
                inheritStatus = InheritStatus.Complete.ToString();
            }

            ChildCampaign chcm = new ChildCampaign();

            chcm = guow.GenericRepository <ChildCampaign>().GetByID(childId);
            chcm.InheritStatus = inheritStatus;
            guow.GenericRepository <ChildCampaign>().Update(chcm);

            UpdateMasterStatus(masterId);
        }
Beispiel #5
0
        private void ModelToEntity(ChildCampaignViewModel model, ChildCampaign childCampaignEntity)
        {
            childCampaignEntity.InheritStatus = model.Status == Status.Draft.ToString() ? InheritStatus.Draft.ToString() : InheritStatus.Active.ToString();
            if (childCampaignEntity.Status == Status.Complete.ToString() && model.Id != 0)
            {
                childCampaignEntity.StartDate           = model.StartDate;
                childCampaignEntity.EndDate             = model.EndDate;
                childCampaignEntity.Budget              = model.Budget;
                childCampaignEntity.Spend               = model.Spend;
                childCampaignEntity.CampaignDescription = model.CampaignDescription;
            }
            else
            {
                childCampaignEntity.MasterCampaigns = guow.GenericRepository <MasterCampaign>()
                                                      .GetByID(model.MasterCampaignId);
                childCampaignEntity.Name = model.Name;
                childCampaignEntity.CampaignDescription = model.CampaignDescription;
                childCampaignEntity.CampaignManager     = model.CampaignManager;
                childCampaignEntity.StartDate           = model.StartDate;
                childCampaignEntity.EndDate             = model.EndDate;
                childCampaignEntity.Status       = model.Status;
                childCampaignEntity.CreatedBy    = "user";
                childCampaignEntity.Budget       = model.Budget;
                childCampaignEntity.Spend        = model.Spend;
                childCampaignEntity.MILGoal      = model.MILGoal;
                childCampaignEntity.MILLow       = model.MILLow;
                childCampaignEntity.MILHigh      = model.MILHigh;
                childCampaignEntity.MGLGoal      = model.MGLGoal;
                childCampaignEntity.MGLLow       = model.MGLLow;
                childCampaignEntity.MGLHigh      = model.MGLHigh;
                childCampaignEntity.MIOGoal      = model.MIOGoal;
                childCampaignEntity.MIOLow       = model.MIOLow;
                childCampaignEntity.MIOHigh      = model.MIOHigh;
                childCampaignEntity.MGOGoal      = model.MGOGoal;
                childCampaignEntity.MGOLow       = model.MGOLow;
                childCampaignEntity.MGOHigh      = model.MGOHigh;
                childCampaignEntity.MILSource    = model.MILSource;
                childCampaignEntity.MGLSource    = model.MGLSource;
                childCampaignEntity.MIOSource    = model.MIOSource;
                childCampaignEntity.MGOSource    = model.MGOSource;
                childCampaignEntity.CampaignType = (model.CampaignTypes == CampaignType.BG_Led ? 0 : 1);


                List <BusinessLine>  lstBline  = null;
                List <BusinessGroup> lstBGroup = null;
                if (model.BusinessGroups_Id != null)
                {
                    lstBGroup = new List <BusinessGroup>();
                    foreach (var item in model.BusinessGroups_Id)
                    {
                        var Bgroups = guow.GenericRepository <BusinessGroup>().GetByID(item);
                        lstBGroup.Add(Bgroups);
                    }
                    lstBline = new List <BusinessLine>();

                    if (model.BusinessLines_Id != null)
                    {
                        foreach (var item in model.BusinessLines_Id)
                        {
                            var Bline = guow.GenericRepository <BusinessLine>().GetByID(item);
                            lstBline.Add(Bline);
                        }
                    }
                }


                List <Theme> lsttheme = null;
                if (model.Themes_Id != null)
                {
                    lsttheme = new List <Theme>();
                    foreach (var item in model.Themes_Id)
                    {
                        var theme = guow.GenericRepository <Theme>().GetByID(item);
                        lsttheme.Add(theme);
                    }
                }

                List <Industry> lstindustry = null;
                List <Segment>  lstsegment  = null;

                if (model.Segments_Id != null)
                {
                    lstsegment = new List <Segment>();
                    foreach (var item in model.Segments_Id)
                    {
                        var segment = guow.GenericRepository <Segment>().GetByID(item);
                        lstsegment.Add(segment);
                    }
                    lstindustry = new List <Industry>();


                    if (model.Industries_Id != null)
                    {
                        foreach (var item in model.Industries_Id)
                        {
                            var industry = guow.GenericRepository <Industry>().GetByID(item);
                            lstindustry.Add(industry);
                        }
                    }
                }

                List <Geography> lstgeography = null;
                if (model.Geographys_Id != null)
                {
                    lstgeography = new List <Geography>();
                    foreach (var item in model.Geographys_Id)
                    {
                        var geography = guow.GenericRepository <Geography>().GetByID(item);
                        lstgeography.Add(geography);
                    }
                }


                childCampaignEntity.BusinessGroups = lstBGroup;
                childCampaignEntity.Themes         = lsttheme;
                childCampaignEntity.BusinessLines  = lstBline;
                childCampaignEntity.Segments       = lstsegment;
                childCampaignEntity.Industries     = lstindustry;
                childCampaignEntity.Geographys     = lstgeography;
                if (model.Id == 0)
                {
                    childCampaignEntity.VisitedDate = DateTime.Now;
                }
            }
        }
Beispiel #6
0
 public ChildCampaign Update(ChildCampaign childCampaign)
 {
     return(guow.GenericRepository <ChildCampaign>().Update(childCampaign));
 }
Beispiel #7
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));
        }