private MasterCampaign FlushChildRecords(MasterCampaign masterCamp)
 {
     masterCamp.Industries.Remove(masterCamp.Industries.FirstOrDefault <Industry>());
     masterCamp.Segments.Remove(masterCamp.Segments.FirstOrDefault <Segment>());
     masterCamp.Themes.Remove(masterCamp.Themes.FirstOrDefault <Theme>());
     masterCamp.Geographys.Remove(masterCamp.Geographys.FirstOrDefault <Geography>());
     masterCamp.BusinessLines.Remove(masterCamp.BusinessLines.FirstOrDefault <BusinessLine>());
     masterCamp.BusinessGroups.Remove(masterCamp.BusinessGroups.FirstOrDefault <BusinessGroup>());
     return(masterCamp);
 }
 public bool CreateMCGeography(MasterCampaign MC)
 {
     guow.GenericRepository <MasterCampaign>().Insert(MC);
     if (MC.Id != 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
        public bool InsertMasterCampaign(MasterCampaignViewModel model)
        {
            MasterCampaign masterCampaignEntity = new MasterCampaign();

            ModelToEntity(model, masterCampaignEntity);
            guow.GenericRepository <MasterCampaign>().Insert(masterCampaignEntity);
            //return true;
            if (masterCampaignEntity.Id != 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#4
0
        public void UpdateMasterStatus(int masterId)
        {
            string inheritStatus = InheritStatus.Draft.ToString();
            var    childInherit  = guow.GenericRepository <ChildCampaign>().Table.Where(x => x.MasterCampaigns.Id == masterId && (x.InheritStatus == InheritStatus.Active.ToString() || x.InheritStatus == InheritStatus.Draft.ToString())).ToList();

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

            mcvm = guow.GenericRepository <MasterCampaign>().GetByID(masterId);
            mcvm.InheritStatus = inheritStatus;
            guow.GenericRepository <MasterCampaign>().Update(mcvm);
        }
示例#5
0
        public ActionResult MasterCampaign(int Id = 0)
        {
            MasterCampaignViewModel mcvm = new MasterCampaignViewModel();

            mcvm.BusinessGroupViewModels = _businessgroupService.GetBG();
            mcvm.SegmentViewModels       = _segmentService.GetSegment();
            mcvm.GeographyViewModels     = _geographyService.GetGeography();
            mcvm.ThemeViewModels         = _themeService.GetTheme();

            if (Id != 0)
            {
                MasterCampaign masterCampaign = _masterCampaignServices.GetMasterCampaignById(new MasterCampaignViewModel {
                    Id = Id
                }).First();

                mcvm.InheritanceStatus = masterCampaign.InheritStatus;

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


                if (masterCampaign.BusinessGroups != null && masterCampaign.BusinessGroups.Count > 0)
                {
                    mcvm.BusinessGroups_Id = masterCampaign.BusinessGroups.Select(t => t.Id).ToArray();;
                    mcvm.BgSelectUnselect  = true;
                }

                mcvm.BusinessLineViewModels = _businesslineService.GetBusinessLineByBGId(mcvm.BusinessGroups_Id);

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


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

                if (masterCampaign.Segments != null && masterCampaign.Segments.Count > 0)
                {
                    mcvm.Segments_Id       = masterCampaign.Segments.Select(t => t.Id).ToArray();;
                    mcvm.SegSelectUnselect = true;
                }

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

                mcvm.IndustryViewModels = _industryService.GetIndustryBySegmentId(mcvm.Segments_Id).Where(t => t.IsActive == true).ToList();


                mcvm.Name = masterCampaign.Name;
                mcvm.CampaignDescription = masterCampaign.CampaignDescription;
                mcvm.CampaignManager     = masterCampaign.CampaignManager;
                if (masterCampaign.StartDate != null)
                {
                    mcvm.StartDate = masterCampaign.StartDate.Value;
                }
                if (masterCampaign.EndDate != null)
                {
                    mcvm.EndDate = masterCampaign.EndDate.Value;
                }
                mcvm.Id     = Id;
                mcvm.Status = masterCampaign.Status;


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


                ManageSelectUnselect(mcvm);

                //Update visited date
                if (mcvm.Status == Status.Draft.ToString())
                {
                    masterCampaign.VisitedDate = DateTime.Now;
                    _masterCampaignServices.Update(masterCampaign);
                }
            }

            return(View(mcvm));
        }
        private void ModelToEntity(MasterCampaignViewModel model, MasterCampaign masterCampaignEntity)
        {
            masterCampaignEntity.InheritStatus = model.Status == Status.Draft.ToString() ? InheritStatus.Draft.ToString() : InheritStatus.Active.ToString();
            if (masterCampaignEntity.Status == Status.Complete.ToString() && model.Id != 0)
            {
                masterCampaignEntity.CampaignDescription = model.CampaignDescription;
                masterCampaignEntity.StartDate           = model.StartDate;
                masterCampaignEntity.EndDate             = model.EndDate;
                masterCampaignEntity.Status = model.Status;
            }
            else
            {
                masterCampaignEntity.Name = model.Name;
                masterCampaignEntity.CampaignDescription = model.CampaignDescription;
                masterCampaignEntity.CampaignManager     = model.CampaignManager;
                masterCampaignEntity.StartDate           = model.StartDate;
                masterCampaignEntity.EndDate             = model.EndDate;
                masterCampaignEntity.Status    = model.Status;
                masterCampaignEntity.CreatedBy = "user";
                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);
                    }
                }

                if (model.BusinessLines_Id != null)
                {
                    lstBline = new List <BusinessLine>();
                    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);
                    }
                }

                if (model.Industries_Id != null)
                {
                    lstindustry = new List <Industry>();
                    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);
                    }
                }

                masterCampaignEntity.BusinessGroups = lstBGroup;
                masterCampaignEntity.Themes         = lsttheme;
                masterCampaignEntity.BusinessLines  = lstBline;
                masterCampaignEntity.Segments       = lstsegment;
                masterCampaignEntity.Industries     = lstindustry;
                masterCampaignEntity.Geographys     = lstgeography;
                if (model.Id == 0)
                {
                    masterCampaignEntity.VisitedDate = DateTime.Now;
                }
            }

            return;
        }
 public MasterCampaign Update(MasterCampaign masterCampaign)
 {
     return(guow.GenericRepository <MasterCampaign>().Update(masterCampaign));
 }