Exemple #1
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;
            }
        }
Exemple #2
0
        public ResultOfType <PraticienResultModel> GetPraticiensOpenSearch(string q, int take = 0, int skip = 0)
        {
            try
            {
                Logger.LogInfo("GetPraticiensOpenSearch : Start.");

                if (string.IsNullOrWhiteSpace(q))
                {
                    return(new Return <PraticienResultModel>()
                           .Error()
                           .AsValidationFailure(null, "Vous n'avez rien introduit pour faire la recherche.", "q")
                           .WithDefaultResult());
                }
                q = Helpers.Common.ValidateQueryString(q);
                var result = _searchEngine.Search(q);


                var data       = new PraticienResultModel();
                var totalCount = result.Count();
                var totalPages = (take != 0) ? (int)Math.Ceiling((double)totalCount / take) : 0;

                var paginationHeader = new PaginationHeader
                {
                    TotalCount = totalCount,
                    TotalPages = totalPages
                };

                if (take != 0 || skip != 0)
                {
                    result = result.OrderBy(r => r.Cin).Skip(skip).Take(take).ToList();
                }

                result.ForEach(praticien =>
                {
                    string logLat = "";

                    var praticienData = new PraticienResultDataModel
                    {
                        Cin                  = praticien.Cin ?? "",
                        Adresse              = praticien.Adresse ?? "",
                        Conventionne         = praticien.Conventionne ?? "",
                        Cursus               = praticien.Cursus ?? "",
                        Delegation           = praticien.Delegation ?? "",
                        Diplomes             = praticien.Diplomes ?? "",
                        Email                = praticien.Email ?? "",
                        EstActive            = praticien.EstActive ?? "",
                        Fax                  = praticien.Fax ?? "",
                        Formations           = praticien.Formations ?? "",
                        Gouvernerat          = praticien.Gouvernerat ?? "",
                        InformationsPratique = praticien.InformationsPratique ?? "",
                        LanguesParles        = praticien.LanguesParles ?? "",
                        MoyensPaiement       = praticien.MoyensPaiement ?? "",
                        NomPrenom            = praticien.NomPrenom ?? "",
                        ParcoursHospitalier  = praticien.ParcoursHospitalier ?? "",
                        Password             = praticien.Password ?? "",
                        PresentationCabinet  = praticien.PresentationCabinet ?? "",
                        PrixConsultation     = praticien.PrixConsultation ?? "",
                        Publication          = praticien.Publication ?? "",
                        ReseauxSociaux       = praticien.ReseauxSociaux ?? "",
                        Telephone            = praticien.Telephone ?? "",
                        Specialite           = praticien.Specialite,
                    };

                    data.Items.Add(praticienData);
                    data.PaginationHeader = paginationHeader;
                });
                Logger.LogInfo(string.Format("GetPraticiensOpenSearch : End ."));

                return(new Return <PraticienResultModel>().OK().WithResult(data));
            }
            catch (Exception ex)
            {
                Logger.LogInfo(string.Format("GetPraticiensOpenSearch : End with Error --- : {0}", ex.Message));
                throw;
            }
        }
Exemple #3
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;
            }
        }