Beispiel #1
0
        public ActionResult LoadIndustry(MasterCampaignViewModel model)
        {
            model.BusinessGroupViewModels = _businessgroupService.GetBG();


            model.SegmentViewModels = _segmentService.GetSegment();
            if (model.BusinessGroups_Id == null)
            {
                model.BusinessLineViewModels = (new BusinessLine[] { new BusinessLine() });
                model.BusinessLines_Id       = null;
            }
            else
            {
                List <BusinessLine> businesslist = _businesslineService.GetBusinessLineByBGId(model.BusinessGroups_Id);
                model.BusinessLineViewModels = businesslist;
            }

            if (model.Segments_Id == null)
            {
                model.IndustryViewModels = (new Industry[] { new Industry() });
                model.Industries_Id      = null;
            }
            else
            {
                model.Segments_Id = model.Segments_Id;
                List <Industry> Ilst = _industryService.GetIndustryBySegmentId(model.Segments_Id);
                model.IndustryViewModels = Ilst;
                model.IndustryViewModels = Ilst.Where(t => t.IsActive == true).ToList();
            }

            model.GeographyViewModels = _geographyService.GetGeography();
            model.ThemeViewModels     = _themeService.GetTheme();
            ManageSelectUnselect(model);
            return(PartialView("MasterCampaignForm", model));
        }
        public void UpdateForDraft(MasterCampaignViewModel model)
        {
            var masterCamp = LoadMasterCampaignEntity(model.Id);

            masterCamp = FlushChildRecords(masterCamp);
            ModelToEntity(model, masterCamp);
            guow.GenericRepository <MasterCampaign>().Update(masterCamp);
        }
        public void Submit(MasterCampaignViewModel model)
        {
            var masterCamp = LoadMasterCampaignEntity(model.Id);

            if (masterCamp.Status != Status.Complete.ToString())
            {
                masterCamp = FlushChildRecords(masterCamp);
            }
            ModelToEntity(model, masterCamp);
            guow.GenericRepository <MasterCampaign>().Update(masterCamp);
        }
Beispiel #4
0
        //Manage SelectUnselect
        public MasterCampaignViewModel ManageSelectUnselect(MasterCampaignViewModel model)
        {
            if ((model.BusinessGroups_Id != null && (model.BusinessGroupViewModels.ToList().Count > model.BusinessGroups_Id.Length)) || model.BusinessGroups_Id == null)
            {
                model.BgSelectUnselect = false;
            }
            else
            {
                model.BgSelectUnselect = true;
            }
            if ((model.BusinessLines_Id != null && (model.BusinessLineViewModels.ToList().Count > model.BusinessLines_Id.Length)) || model.BusinessLines_Id == null)
            {
                model.BlSelectUnselect = false;
            }
            else
            {
                model.BlSelectUnselect = true;
            }
            if ((model.Segments_Id != null && (model.SegmentViewModels.ToList().Count > model.Segments_Id.Length)) || model.Segments_Id == null)
            {
                model.SegSelectUnselect = false;
            }
            else
            {
                model.SegSelectUnselect = true;
            }
            if ((model.Industries_Id != null && (model.IndustryViewModels.ToList().Count > model.Industries_Id.Length)) || model.Industries_Id == null)
            {
                model.IndustrySelectUnselect = false;
            }
            else
            {
                model.IndustrySelectUnselect = true;
            }
            if ((model.Themes_Id != null && (model.ThemeViewModels.ToList().Count > model.Themes_Id.Length)) || model.Themes_Id == null)
            {
                model.ThemeSelectUnselect = false;
            }
            else
            {
                model.ThemeSelectUnselect = true;
            }
            if ((model.Geographys_Id != null && (model.GeographyViewModels.ToList().Count > model.Geographys_Id.Length)) || model.Geographys_Id == null)
            {
                model.GeoSelectUnselect = false;
            }
            else
            {
                model.GeoSelectUnselect = true;
            }

            return(model);
        }
        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);
            }
        }
Beispiel #6
0
        public bool Save(MasterCampaignViewModel model, string button)
        {
            try
            {
                //todo:
                if (button == "Save Draft")
                {
                    if (model.Id == 0)// insert new record as draft
                    {
                        model.Status = Status.Draft.ToString();
                        _masterCampaignServices.InsertMasterCampaign(model);
                        return(true);
                    }
                    else // Update master campaign
                    {
                        model.Status = Status.Draft.ToString();
                        _masterCampaignServices.UpdateForDraft(model);
                        return(true);
                    }
                }
                else // submission
                {
                    if (isValid(model, button))
                    {
                        if (model.Id == 0)// insert new record as draft
                        {
                            model.Status = Status.Complete.ToString();
                            _masterCampaignServices.InsertMasterCampaign(model);
                            return(true);
                        }
                        else
                        {
                            model.Status = Status.Complete.ToString();
                            _masterCampaignServices.Submit(model);
                            return(true);
                        }
                    }
                }

                return(false);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Beispiel #7
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));
        }
Beispiel #8
0
        public ActionResult CampaignList()
        {
            MasterCampaignViewModel campaignViewModel = new MasterCampaignViewModel();

            return(View(campaignViewModel));
        }
Beispiel #9
0
        private bool isValid(MasterCampaignViewModel model, string button)
        {
            int errorCounter = 0;

            if (model.Id != 0)
            {
                if (button != "Update")
                {
                    if (model.BusinessGroups_Id == null)
                    {
                        errorCounter++;
                    }
                    if (model.BusinessLines_Id == null)
                    {
                        errorCounter++;
                    }
                    if (model.Segments_Id == null)
                    {
                        errorCounter++;
                    }
                    if (model.Industries_Id == null)
                    {
                        errorCounter++;
                    }
                    if (model.Geographys_Id == null)
                    {
                        errorCounter++;
                    }
                    if (model.StartDate == null)
                    {
                        errorCounter++;
                    }
                    if (model.EndDate == null)
                    {
                        errorCounter++;
                    }
                    if (Convert.ToDateTime(model.StartDate) > Convert.ToDateTime(model.EndDate))
                    {
                        errorCounter++;
                    }
                    if (model.Name == "")
                    {
                        errorCounter++;
                    }
                    if (model.CampaignDescription == "")
                    {
                        errorCounter++;
                    }
                }
            }
            else
            {
                if (model.BusinessGroups_Id == null)
                {
                    errorCounter++;
                }
                if (model.BusinessLines_Id == null)
                {
                    errorCounter++;
                }
                if (model.Segments_Id == null)
                {
                    errorCounter++;
                }
                if (model.Industries_Id == null)
                {
                    errorCounter++;
                }
                if (model.Geographys_Id == null)
                {
                    errorCounter++;
                }
                if (model.StartDate == null)
                {
                    errorCounter++;
                }
                if (model.EndDate == null)
                {
                    errorCounter++;
                }
                if (Convert.ToDateTime(model.StartDate) > Convert.ToDateTime(model.EndDate))
                {
                    errorCounter++;
                }
                if (model.Name == "")
                {
                    errorCounter++;
                }
                if (model.CampaignDescription == "")
                {
                    errorCounter++;
                }
            }
            return(errorCounter == 0);
        }
        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 List <MasterCampaign> GetMasterCampaignById(MasterCampaignViewModel model)
        {
            List <MasterCampaign> masterCampaign = guow.GenericRepository <MasterCampaign>().GetAllIncluding((t => t.Geographys), (m => m.Industries), (m => m.BusinessGroups), (m => m.BusinessLines), (m => m.Segments), (m => m.Themes)).Where(t => t.Id == model.Id).ToList();

            return(masterCampaign);
        }