public void Index(Directory directory) { IndexWriter.Unlock(directory); var provider = new LuceneDataProvider(directory, Lucene.Net.Util.Version.LUCENE_30); var praticiens = _praticienRepository.GetAll().Where(a => !a.IsIndexed).ToList(); var itemsToIndex = new List <PraticienToIndexModel>(); praticiens.ForEach(a => { var item = PraticienWrapper.PraticienEntityToPraticienToIndexModel(a); itemsToIndex.Add(item); }); var indexedIds = new List <string>(); using (var session = provider.OpenSession <PraticienToIndexModel>()) { foreach (var praticienToIndex in itemsToIndex) { session.Add(praticienToIndex); indexedIds.Add(praticienToIndex.Cin); var indexedpraticien = praticiens.First( a => a.Cin.ToString().Equals(praticienToIndex.Cin, StringComparison.InvariantCultureIgnoreCase)); indexedpraticien.IsIndexed = true; _praticienRepository.Update(indexedpraticien); } session.Commit(); } }
public ResultOfType <PraticienResultModel> GetPraticiens(int take = 0, int skip = 0) { try { string local = _ressourceManager.LocalIPAddress(); string l = local; Logger.LogInfo("Get Praticiens With Take And Skip Parameters avec @IP : Start."); PrintSundays(); var totalCount = _praticienRepository.GetCount(); var totalPages = (take != 0) ? (int)Math.Ceiling((double)totalCount / take) : 0; var paginationHeader = new PaginationHeader { TotalCount = totalCount, TotalPages = totalPages }; var praticiens = (take == 0 && skip == 0) ? _praticienRepository .GetAll() .OrderBy(a => a.CreationDate) .ToList() : _praticienRepository .GetAll() .OrderBy(a => a.CreationDate) .Skip(skip) .Take(take) .ToList(); var data = new PraticienResultModel(); praticiens.ForEach(praticien => { var dataModel = PraticienWrapper.ConvertPraticienEntityToDataModel(praticien); data.Items.Add(dataModel); }); data.PaginationHeader = paginationHeader; Logger.LogInfo("Get Praticiens With Take And Skip Parameters : End --- Status : OK"); return(new Return <PraticienResultModel>().OK().WithResult(data)); } catch (Exception exception) { Logger.LogError("Get Praticiens Exception", exception); throw; } }
public ResultOfType <PraticienResultDataModel> GetPraticienByNomPrenom(string nomPrenom) { try { Logger.LogInfo(string.Format("GetPraticienByEmail : Start --- Email = {0} ", nomPrenom)); var list = _praticienRepository.GetAll(); if (list != null) { var praticiens = list as Praticien[] ?? list.ToArray(); var praticien = praticiens.FirstOrDefault(p => p.NomPrenom.Trim().ToLower().Equals(nomPrenom.Trim().ToLower())); if (praticien != null) { var dataModel = PraticienWrapper.ConvertPraticienEntityToDataModel(praticien); return(new Return <PraticienResultDataModel>().OK().WithResult(dataModel)); } else { return(new Return <PraticienResultDataModel>().Error().As(EStatusDetail.NotFound).AddingGenericError( null, "Pas de praticien enregistré actuellement !!").WithDefaultResult()); } } else { return(new Return <PraticienResultDataModel>().Error().As(EStatusDetail.NotFound).AddingGenericError( null, "Pas de praticien enregistré actuellement !!").WithDefaultResult()); } } catch (Exception ex) { return(new Return <PraticienResultDataModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Veuillez contacter AlloTabib :" + ex.Message).WithDefaultResult()); } }
public ResultOfType <PraticienResultModel> SearchForPraticien(string gouvernerat, string specialite, string nomPraticien, int take = 0, int skip = 0) { try { Logger.LogInfo("Search For Praticien With Take And Skip Parameters : Start."); var praticiens = (take == 0 && skip == 0) ? _praticienRepository .GetAll() .OrderBy(a => a.CreationDate) .ToList() : _praticienRepository .GetAll() .OrderBy(a => a.CreationDate) .Skip(skip) .Take(take) .ToList(); if (string.IsNullOrEmpty(gouvernerat) && string.IsNullOrEmpty(specialite) && string.IsNullOrEmpty(nomPraticien)) { //Get aall return(GetPraticiens(take, skip)); } else { if (!string.IsNullOrEmpty(gouvernerat) && !gouvernerat.Equals("undefined")) { praticiens = praticiens.Where(p => p.Gouvernerat.Trim().ToLower().Equals(gouvernerat.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(specialite) && !specialite.Equals("undefined")) { praticiens = praticiens.Where(p => p.Specialite.Trim().ToLower().Equals(specialite.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(nomPraticien) && !nomPraticien.Equals("undefined")) { praticiens = praticiens.Where(p => p.NomPrenom.Trim().ToLower().Contains(nomPraticien.Trim().ToLower())).ToList(); } var totalCount = praticiens.Count; var totalPages = (take != 0) ? (int)Math.Ceiling((double)totalCount / take) : 0; var paginationHeader = new PaginationHeader { TotalCount = totalCount, TotalPages = totalPages }; var data = new PraticienResultModel(); praticiens.ForEach(praticien => { var dataModel = PraticienWrapper.ConvertPraticienEntityToDataModel(praticien); data.Items.Add(dataModel); }); data.PaginationHeader = paginationHeader; Logger.LogInfo("Get Praticiens With Take And Skip Parameters : End --- Status : OK"); return(new Return <PraticienResultModel>().OK().WithResult(data)); } } catch (Exception ex) { throw; } }