public void FillBrigades()
        {
            var searcher = ExamineManager.Instance.SearchProviderCollection["AdvertismentSearcher"]; // InternalSearcher
            //var searcher = ExamineManager.Instance.SearchProviderCollection["AdvertismentSearcher"];
            var criteria = searcher.CreateSearchCriteria(UmbracoExamine.IndexTypes.Content);
            Examine.SearchCriteria.IBooleanOperation filter = null;

            criteria.OrderBy(new string[] { "DateCreate" });
            filter = criteria.NodeTypeAlias("dtAdvertisement");

            #region Hledani v nazvu inzeratu
            if (!String.IsNullOrWhiteSpace(fulltext))
            {
                var values = new List<Examine.SearchCriteria.IExamineValue>();
                var searchTerms = fulltext.Trim().ToLower().Split(' '); // rozdělení vyhledávaného výrazu na jednotlivé termíny
                foreach (var term in searchTerms) // přidání každého termínu zvlášť do skupiny vyhledáváných slov v názvu
                {
                    if (string.IsNullOrWhiteSpace(term)) continue;
                    values.Add(term.MultipleCharacterWildcard()); // MultipleCharacterWildcard zajistí relevantnější prohledávání - i uprostřed slov apod.
                }
                if (values.Count() > 0)
                {
                    filter.And().GroupedOr(new string[] { "nodeName" }, values.ToArray<IExamineValue>());
                }
            }
            #endregion

            if (!String.IsNullOrEmpty(workingField))
            {
                filter.And().Field("aWorkingField", workingField);
            }

            if (!String.IsNullOrEmpty(region))
                filter.And().Field("aRegion", region);

            if (!String.IsNullOrEmpty(typeOfWork))
                filter.And().Field("aTypeOfWork", typeOfWork);

            if (IsZTP)
                filter.And().Field("aZtp", ("1"));

            //if (String.IsNullOrEmpty(fulltext)) fulltext = "Pozice?";
            if (String.IsNullOrEmpty(region)) region = "";
            if (String.IsNullOrEmpty(workingField)) workingField = "";
            if (String.IsNullOrEmpty(typeOfWork)) typeOfWork = "";

            //if (String.IsNullOrEmpty(fulltext)) fulltext = "Pracovní pozice?";
            if (String.IsNullOrEmpty(region)) region = "Kde?";
            if (String.IsNullOrEmpty(workingField)) workingField = "Obor?";
            slRegions = this.GetRegionSelectListItem(region);
            slWorkingFields = this.GetWorkingFieldSelectListItem(workingField);
            slTypeOfWork = this.GetTypeOfWorkSelectListItem(typeOfWork);

            List<Advertisement> advertisements = new List<Advertisement>();
            var searchResult = searcher.Search(filter.Compile());
            foreach (var result in searchResult)
            {
                //Advertisement advertisement = this.DynamicToAdverisement(result);
                Advertisement advertisement = new Advertisement();
                advertisement.DynamicToAdverisement(result);
                if (advertisement != null && advertisement.ID > 0 && JobsplusConstants.BrigadeWorkTypes.Contains(advertisement.TypeOfWork.Name))
                    advertisements.Add(advertisement);
            }
            lAdvertisements = advertisements;
        }
        public void Fill()
        {
            /*
            var rootNode = new Node(-1);
            var allAdverts = rootNode.ChildrenAsList.Where(x => x.NodeTypeAlias.Equals("dtAdvertisement"));

            if (!String.IsNullOrEmpty(workingField))
                allAdverts = allAdverts.Where(x => x.GetProperty("aWorkingField").Equals(workingField));
            if (!String.IsNullOrEmpty(region))
                allAdverts = allAdverts.Where(x => x.GetProperty("aRegion").Equals(region));
            if (IsZTP)
                allAdverts = allAdverts.Where(x => x.GetProperty("aZtp").Equals("1"));

            var excludedDoctypes = new[] { "BlogPost", "NewsArticle" };
            DynamicNode node = Model; // your start node
            var childNodes = node.ChildrenAsList.Where(x => !excludedDoctypes.Contains(x.NodeTypeAlias));*/

            var searcher = ExamineManager.Instance.SearchProviderCollection["AdvertismentSearcher"]; // InternalSearcher
            //var searcher = ExamineManager.Instance.SearchProviderCollection["AdvertismentSearcher"];
            var criteria = searcher.CreateSearchCriteria(UmbracoExamine.IndexTypes.Content);
            Examine.SearchCriteria.IBooleanOperation filter = null;

            criteria.OrderBy(new string[] { "DateCreate" });
            filter = criteria.NodeTypeAlias("dtAdvertisement");

            #region Hledani v nazvu inzeratu
            // VYHLEDAVAC 1.0
            // DKO: puvodni vyhledavani - CASE SENSITIVE, pouze celá slova
            /*if (!String.IsNullOrEmpty(fulltext))
                filter.And().GroupedOr(new string[] { "nodeName" }, fulltext.Trim().ToLower()); */

            // VYHLEDAVAC 2.0
            // DKO: dalsi pokus o vyhledavani - CASE INSENSITIVE, pouze celá slova, bere v potaz i vyhledání uprostřed slov v názvu,
            // pokud uživatel zadá více jak jedno slovo, nefunguje :-(
            /*
            if (!String.IsNullOrEmpty(fulltext))
                filter.And().GroupedOr(new string[] { "nodeName" }, fulltext.Trim().ToLower().MultipleCharacterWildcard());*/

            // VYHLEDAVAC 3.0
            if (!String.IsNullOrWhiteSpace(fulltext))
            {
                var values = new List<Examine.SearchCriteria.IExamineValue>();
                var searchTerms = fulltext.Trim().ToLower().Split(' '); // rozdělení vyhledávaného výrazu na jednotlivé termíny
                foreach (var term in searchTerms) // přidání každého termínu zvlášť do skupiny vyhledáváných slov v názvu
                {
                    if (string.IsNullOrWhiteSpace(term)) continue;
                    values.Add(term.MultipleCharacterWildcard()); // MultipleCharacterWildcard zajistí relevantnější prohledávání - i uprostřed slov apod.
                }
                if (values.Count() > 0)
                {
                    filter.And().GroupedOr(new string[] { "nodeName" }, values.ToArray<IExamineValue>());
                }
            }
            #endregion

            if (!String.IsNullOrEmpty(workingField))
            {
                filter.And().Field("aWorkingField", workingField);
            }

            if (!String.IsNullOrEmpty(region))
                filter.And().Field("aRegion", region);

            if (!String.IsNullOrEmpty(typeOfWork))
                filter.And().Field("aTypeOfWork", typeOfWork);

            if (IsZTP)
                filter.And().Field("aZtp", ("1"));

            //if (String.IsNullOrEmpty(fulltext)) fulltext = "Pozice?";
            if (String.IsNullOrEmpty(region)) region = "";
            if (String.IsNullOrEmpty(workingField)) workingField = "";
            if (String.IsNullOrEmpty(typeOfWork)) typeOfWork = "";

            //if (String.IsNullOrEmpty(fulltext)) fulltext = "Pracovní pozice?";
            if (String.IsNullOrEmpty(region)) region = "Kde?";
            if (String.IsNullOrEmpty(workingField)) workingField = "Obor?";
            slRegions = this.GetRegionSelectListItem(region);
            slWorkingFields = this.GetWorkingFieldSelectListItem(workingField);
            slTypeOfWork = this.GetTypeOfWorkSelectListItem(typeOfWork);

            List<Advertisement> advertisements = new List<Advertisement>();
            var searchResult = searcher.Search(filter.Compile());
            foreach (var result in searchResult)
            {
                //Advertisement advertisement = this.DynamicToAdverisement(result);
                Advertisement advertisement = new Advertisement();
                advertisement.DynamicToAdverisement(result);
                if (advertisement != null && advertisement.ID > 0 && !JobsplusConstants.BrigadeWorkTypes.Contains(advertisement.TypeOfWork.Name))
                    advertisements.Add(advertisement);
            }
            lAdvertisements = advertisements;
        }
 public void Fill(IEnumerable<IPublishedContent> advertisementList)
 {
     if (advertisementList != null)
     {
         List<Advertisement> advertisements = new List<Advertisement>();
         foreach (var result in advertisementList)
         {
             //Advertisement advertisement = this.DynamicToAdverisement(result.Id);
             Advertisement advertisement = new Advertisement();
             advertisement.DynamicToAdverisement(result.Id);
             if (advertisement != null && advertisement.ID > 0) advertisements.Add(advertisement);
         }
         lAdvertisements = advertisements;
     }
     else
         lAdvertisements = new List<Advertisement>();
 }
        public ActionResult Details(int? id)
        {
            Advertisement advertisement = new Advertisement();
            if (id.HasValue)
            {
                if (TempData.ContainsKey("VisibleJobTemplate")) TempData.Remove("VisibleJobTemplate");
                advertisement.DynamicToAdverisement(id.Value);

                if (!String.IsNullOrEmpty(advertisement.Region.Name))
                    advertisement.RegionID = lRegions.Find(r => r.Name == advertisement.Region.Name).Id.Value;
                if (!String.IsNullOrEmpty(advertisement.WorkingField.Name))
                    advertisement.WorkingFieldID = lWorkingFields.Find(r => r.Name == advertisement.WorkingField.Name).Id.Value;
                if (!String.IsNullOrEmpty(advertisement.TypeOfWork.Name))
                    advertisement.TypeOfWorkID = lTypeOfWorks.Find(r => r.Name == advertisement.TypeOfWork.Name).Id.Value;
                if (!String.IsNullOrEmpty(advertisement.RequiredEducation.Name))
                    advertisement.RequiredEducationID = lRequiredEducations.Find(r => r.Name == advertisement.RequiredEducation.Name).Id.Value;

                ViewData["slRegion"] = GetRegionSelectListItem(advertisement.Region.Name);
                ViewData["slWorkingField"] = GetWorkingFieldSelectListItem(advertisement.WorkingField.Name);
                ViewData["slTypeOfWork"] = GetTypeOfWorkSelectListItem(advertisement.TypeOfWork.Name);
                ViewData["slRequiredEducation"] = GetRequiredEducationSelectListItem(advertisement.RequiredEducation.Name);
            }
            else
            {
                if (TempData.ContainsKey("VisibleJobTemplate")) TempData.Remove("VisibleJobTemplate");
                TempData.Add("VisibleJobTemplate", true);

                if (TempData.ContainsKey("JobTemplate"))
                {
                    JobTemplate jobTemplate = (JobTemplate)TempData["JobTemplate"];
                    if (jobTemplate != null)
                    {
                        advertisement.Name = jobTemplate.JobName;
                        advertisement.JobDescription = jobTemplate.JobDescription;
                        advertisement.JobOfferings = jobTemplate.JobOfferings;
                        advertisement.JobRequirements = jobTemplate.JobRequirements;
                        if (jobTemplate.Id > 0)
                            advertisement.JobTemplateID = jobTemplate.Id;
                        ViewData["slJobTemplate"] = GetJobTemplateSelectListItem(jobTemplate.Id.ToString());
                    }
                }
                else
                {
                    ViewData["slJobTemplate"] = GetJobTemplateSelectListItem(String.Empty);
                }

                ViewData["slRegion"] = GetRegionSelectListItem(String.Empty);
                ViewData["slWorkingField"] = GetWorkingFieldSelectListItem(String.Empty);
                ViewData["slTypeOfWork"] = GetTypeOfWorkSelectListItem(String.Empty);
                ViewData["slRequiredEducation"] = GetRequiredEducationSelectListItem(String.Empty);

            }

            return PartialView(advertisement);
        }