Esempio n. 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;
            }
        }