/// <summary>
        /// Récupérer la liste des rendez vous non confirmé de chaque médecin
        /// </summary>
        /// <param name="praticienEmail"></param>
        /// <returns></returns>
        public ResultOfType <RendezVousResultModel> GetAllRendezVousNonConfirmeOuRejete(string praticienEmail)
        {
            DateTime currentDate = DateTime.Today;
            // Specify exactly how to interpret the string.
            IFormatProvider culture = new System.Globalization.CultureInfo("fr-FR", true);

            try
            {
                Logger.LogInfo("GetAllRendezVousNonConfirmeOuRejete : Start.");
                if (string.IsNullOrEmpty(praticienEmail))
                {
                    return(new Return <RendezVousResultModel>()
                           .Error().AsValidationFailure(null, "Veuillez introduire votre praticien Cin.", "praticien")
                           .WithDefaultResult());
                }

                var rendezvous =
                    _rendezVousRepository.GetAll()
                    .Where(r => r.Praticien.Email == praticienEmail && r.Statut.Equals("NC") && DateTime.Parse(r.Creneaux.CurrentDate, culture, System.Globalization.DateTimeStyles.AssumeLocal).CompareTo(currentDate) >= 0).OrderBy(o => o.Creneaux.CurrentDate).Take(5);

                var data = new RendezVousResultModel();


                rendezvous.ForEach(rdv =>
                {
                    var dataModel = RendezVousWrapper.ConvertPatientEntityToDataModel(rdv);
                    //get patient info
                    var patient = _patientRepository.GetAll().FirstOrDefault(p => p.Email.Equals(dataModel.PatientCin));
                    if (patient != null)
                    {
                        if (!string.IsNullOrEmpty(patient.DateNaissance))
                        {
                            dataModel.PatientDateNaissance = patient.DateNaissance;
                        }
                        if (!string.IsNullOrEmpty(patient.NomPrenom))
                        {
                            dataModel.PatientNomPrenom = patient.NomPrenom;
                        }
                        if (!string.IsNullOrEmpty(patient.Adresse))
                        {
                            dataModel.PatientAdresse = patient.Adresse;
                        }
                        if (!string.IsNullOrEmpty(patient.Telephone))
                        {
                            dataModel.PatientTelephone = patient.Telephone;
                        }
                    }

                    data.Items.Add(dataModel);
                });


                Logger.LogInfo("Get RendezVous By Date And Praticien : End --- Status : OK");
                return(new Return <RendezVousResultModel>().OK().WithResult(data));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public ResultOfType <RendezVousResultModel> GetRendezVousByDateAndPraticien(string praticien, string dateCurrent)
        {
            try
            {
                Logger.LogInfo("GetRendezVousByDateAndPraticien : Start.");

                if (string.IsNullOrEmpty(praticien))
                {
                    return(new Return <RendezVousResultModel>()
                           .Error().AsValidationFailure(null, "Veuillez introduire votre praticien Cin.", "praticien")
                           .WithDefaultResult());
                }

                if (string.IsNullOrEmpty(dateCurrent))
                {
                    return(new Return <RendezVousResultModel>()
                           .Error().AsValidationFailure(null, "Veuillez introduire votre date en cours.", "dateCurrent")
                           .WithDefaultResult());
                }

                var rendezvous =
                    _rendezVousRepository.GetAll()
                    .Where(r => r.Praticien.Email == praticien && r.Creneaux.CurrentDate.Equals(dateCurrent));

                var data = new RendezVousResultModel();


                rendezvous.ForEach(rdv =>
                {
                    var dataModel = RendezVousWrapper.ConvertPatientEntityToDataModel(rdv);
                    data.Items.Add(dataModel);
                });


                Logger.LogInfo("Get RendezVous By Date And Praticien : End --- Status : OK");
                return(new Return <RendezVousResultModel>().OK().WithResult(data));
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #3
0
        public ResultOfType <RendezVousResultModel> GetListOfRendezVousTousEnCours(string praticienEmail)
        {
            try
            {
                Logger.LogInfo("Get List Of Rendez Vous Tous En Cours With Take And Skip Parameters : Start.");
                if (string.IsNullOrEmpty(praticienEmail))
                {
                    return(new Return <RendezVousResultModel>().Error().As(EStatusDetail.NotFound).AddingGenericError(
                               null, "L'email introduit est vide!!").WithDefaultResult());
                }

                var rendezvous = _rendezVousRepository.GetAll().Where(p => p.Praticien.Email.Equals(praticienEmail));

                var             data    = new RendezVousResultModel();
                IFormatProvider culture = new System.Globalization.CultureInfo("fr-FR", true);

                rendezvous.ForEach(rdv =>
                {
                    DateTime dt2 = DateTime.Parse(rdv.Creneaux.CurrentDate, culture,
                                                  System.Globalization.DateTimeStyles.AssumeLocal);
                    int result = DateTime.Compare(dt2, DateTime.Now);
                    if (result > 0)
                    {
                        var dataModel = RendezVousWrapper.ConvertPatientEntityToDataModel(rdv);
                        data.Items.Add(dataModel);
                    }
                });


                Logger.LogInfo("Get List Of Rendez Vous Tous En Cours : End --- Status : OK");
                return(new Return <RendezVousResultModel>().OK().WithResult(data));
            }
            catch (Exception ex)
            {
                throw;
            }
        }