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();
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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());
            }
        }
Esempio n. 4
0
        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;
            }
        }