Exemplo n.º 1
0
        public ResultOfType <CreneauResultDataModel> GetCreneauByHeureDebutAndDate(string heureDebut, string praticien, string currentDate)
        {
            try
            {
                Logger.LogInfo("Get Creneaux With Take And Skip Parameters : Start.");
                //Récupérer par praticien , heure début et date donné
                var creneau =
                    _creneauxRepository.GetAll()
                    .FirstOrDefault(p => p.Praticien.Email.Equals(praticien) && p.HeureDebut.Equals(heureDebut) && p.CurrentDate.Equals(currentDate));

                //Pas de créneau
                if (creneau == null)
                {
                    return(new Return <CreneauResultDataModel>()
                           .Error()
                           .AsNotFound()
                           .WithDefaultResult());
                }

                var dataModel = CreneauWrapper.ConvertCreneauEntityToDataModel(creneau);

                Logger.LogInfo("Get Creneaux by praticien and date Parameters : End --- Status : OK");
                return(new Return <CreneauResultDataModel>().OK().WithResult(dataModel));
            }
            catch (Exception exception)
            {
                Logger.LogError("Get Praticiens Exception", exception);
                throw;
            }
        }
Exemplo n.º 2
0
        //public ResultOfType<bool> CreneauHasRendezVous(string heureDebut, string heureFin, string currentDate, string emailPraticien)
        //{
        //    Logger.LogInfo("Get Creneaux With Take And Skip Parameters : Start.");
        //    //Récupérer par praticien , heure début et date donné
        //    var creneau =
        //        _creneauxRepository.GetAll()
        //            .FirstOrDefault(p => p.Praticien.Cin.Equals(praticien) && p.HeureDebut.Equals(heureDebut) && p.CurrentDate.Equals(currentDate));
        //}

        public ResultOfType <CreneauResultModel> GetCreneauxByPraticien(string email, int take = 0, int skip = 0)
        {
            try
            {
                Logger.LogInfo("Get Creneaux With Take And Skip Parameters : Start.");

                var totalCount = _praticienRepository.GetCount();
                var totalPages = (take != 0) ? (int)Math.Ceiling((double)totalCount / take) : 0;

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

                var creneaux = (take == 0 && skip == 0)
                    ? _creneauxRepository
                               .GetAll().Where(p => p.Praticien.Email == email)
                               .ToList()
                    : _creneauxRepository
                               .GetAll().Where(p => p.Praticien.Email == email)
                               .Skip(skip)
                               .Take(take)
                               .ToList();
                var data = new CreneauResultModel();
                creneaux.ForEach(creneau =>
                {
                    var dataModel = CreneauWrapper.ConvertCreneauEntityToDataModel(creneau);
                    data.Items.Add(dataModel);
                });

                data.PaginationHeader = paginationHeader;

                Logger.LogInfo("Get Creneaux by praticien With Take And Skip Parameters : End --- Status : OK");
                return(new Return <CreneauResultModel>().OK().WithResult(data));
            }
            catch (Exception exception)
            {
                Logger.LogError("Get Praticiens Exception", exception);
                throw;
            }
        }
Exemplo n.º 3
0
        public ResultOfType <CreneauResultDataModel> UpdateCreneauPraticienByDate(string praticien, string dateCurrent, CreneauDataModel creneau)
        {
            try
            {
                if (string.IsNullOrEmpty(praticien))
                {
                    return(new Return <CreneauResultDataModel>()
                           .Error().AsValidationFailure(null, "Veuillez introduire votre Praticien Cin.", "Praticien")
                           .WithDefaultResult());
                }

                if (string.IsNullOrEmpty(dateCurrent))
                {
                    return(new Return <CreneauResultDataModel>()
                           .Error().AsValidationFailure(null, "Veuillez introduire votre currentDate.", "DateCurrent")
                           .WithDefaultResult());
                }
                if (creneau != null)
                {
                    var validationResult = ValidateUpdateCreneauProperties(creneau);
                    if (validationResult == null)
                    {
                        var creneauResult =
                            _creneauxRepository.GetAll()
                            .FirstOrDefault(
                                c =>
                                c.CurrentDate.Equals(dateCurrent) && c.Praticien.Cin.Equals(praticien));

                        if (creneauResult != null)
                        {
                            creneauResult.CurrentDate = creneau.CurrentDate;
                            creneauResult.HeureDebut  = creneau.HeureDebut;
                            creneauResult.Status      = creneau.Status;
                            //get praticien
                            var thePraticien = _praticienRepository.GetAll().FirstOrDefault(p => p.Cin == praticien);
                            if (thePraticien != null)
                            {
                                creneauResult.Praticien = thePraticien;
                            }
                            creneauResult.HeureFin = creneau.HeureFin;

                            _creneauxRepository.Update(creneauResult);
                            var dataModel = CreneauWrapper.ConvertCreneauEntityToDataModel(creneauResult);
                            return(new Return <CreneauResultDataModel>().OK().WithResult(dataModel));
                        }
                        else
                        {
                            return
                                (new Return <CreneauResultDataModel>().OK()
                                 .WithResult(new CreneauResultDataModel
                            {
                                CurrentDate = creneau.CurrentDate,
                                PraticienCin = creneau.PraticienEmail,
                                HeureFin = creneau.HeureFin,
                                Status = creneau.Status,
                                HeureDebut = creneau.HeureDebut,
                                Commentaire = creneau.Commentaire
                            }));
                        }
                    }

                    return(validationResult);
                }
                else
                {
                    return
                        (new Return <CreneauResultDataModel>().OK()
                         .WithResult(new CreneauResultDataModel
                    {
                        CurrentDate = creneau.CurrentDate,
                        PraticienCin = creneau.PraticienEmail,
                        HeureFin = creneau.HeureFin,
                        Status = creneau.Status,
                        HeureDebut = creneau.HeureDebut,
                        Commentaire = creneau.Commentaire
                    }));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }