private IList <CalendrierDataModel> CalendrierFerie(ConfigurationPraticien configurationPraticien, string startTimeMatin, string endTimeMatin, CalendrierDataModel calendrierStatus, string statut) { IList <CalendrierDataModel> calendrierList = new List <CalendrierDataModel>(); //Ce jour est non visible pour les utilisateurs et vide pour le praticien while (startTimeMatin.Equals(endTimeMatin)) { //Remplir le calendrier calendrierStatus.HeureDebutCalendrier = startTimeMatin; calendrierStatus.PatientCin = null; calendrierStatus.PraticienCin = configurationPraticien.Praticien.Cin; calendrierStatus.Statut = statut; calendrierList.Add(calendrierStatus); int minute = int.Parse(configurationPraticien.MinuteDebutMatin); int heure = int.Parse(configurationPraticien.HeureDebutMatin); minute = minute + configurationPraticien.DecalageMinute; if (minute >= 60) { minute = minute - 60; heure = heure + 1; } startTimeMatin = string.Concat(AddZero(heure.ToString()), ":", AddZero(minute.ToString())); } return(calendrierList); }
private IList <CalendrierDataModel> CalendrierReservationStatus(ConfigurationPraticien configurationPraticien, string startTimeMatin, string endTimeMatin, CalendrierDataModel calendrierStatus, IList <RendezVous> rendezVousList) { IList <CalendrierDataModel> calendrierList = new List <CalendrierDataModel>(); //Ce jour est non visible pour les utilisateurs et vide pour le praticien while (startTimeMatin.Equals(endTimeMatin)) { //Remplir le calendrier calendrierStatus.HeureDebutCalendrier = startTimeMatin; calendrierStatus.PatientCin = null; calendrierStatus.PraticienCin = configurationPraticien.Praticien.Cin; string statut = "Pas de rendez vous"; //TODO //foreach (var rendezvous in rendezVousList) //{ // var consultationTime = string.Concat(AddZero(rendezvous.HeureConsultation), ":", // AddZero(rendezvous.MinuteConsultation)); // if (!consultationTime.Equals(startTimeMatin)) continue; // statut = "Réservé"; // calendrierStatus.Statut = statut; // calendrierStatus.PatientCin = rendezvous.Patient.Cin; //} calendrierStatus.Statut = statut; calendrierList.Add(calendrierStatus); int minute = int.Parse(configurationPraticien.MinuteDebutMatin); int heure = int.Parse(configurationPraticien.HeureDebutMatin); minute = minute + configurationPraticien.DecalageMinute; if (minute >= 60) { minute = minute - 60; heure = heure + 1; } startTimeMatin = string.Concat(AddZero(heure.ToString()), ":", AddZero(minute.ToString())); } return(calendrierList); }
public ResultOfType <Null> PostCreneaux(string from, string to, string cinPraticien, string dateSelected) { try { if (string.IsNullOrEmpty(from)) { return(new Return <Null>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "heure de début null.").WithDefaultResult()); } if (string.IsNullOrEmpty(to)) { return(new Return <Null>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "heure de fin null.").WithDefaultResult()); } if (string.IsNullOrEmpty(cinPraticien)) { return(new Return <Null>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Cin praticien vide.").WithDefaultResult()); } if (string.IsNullOrEmpty(dateSelected)) { return(new Return <Null>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Date courante non définit.").WithDefaultResult()); } //Récupérer la configuration pour faire un décalage //var startHeure, endHeure; ConfigurationPraticien configurationPraticien = _configurationPraticienRepository.GetAll().FirstOrDefault(c => c.Praticien.Cin == cinPraticien); if (configurationPraticien == null) { return(new Return <Null>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "configurationPraticien est null.").WithDefaultResult()); } Praticien praticien = _praticienRepository.GetAll().FirstOrDefault(p => p.Cin.Equals(cinPraticien)); if (praticien == null) { return(new Return <Null>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "praticien est null.").WithDefaultResult()); } int heureFrom = 0; int minuteFrom = 0; int heureTo = 0; int minuteTo = 0; var splitFrom = from.Split(Convert.ToChar(":")); if (splitFrom.Count() == 2) { heureFrom = int.Parse(DeleteZero(splitFrom[0])); minuteFrom = int.Parse(DeleteZero(splitFrom[1])); } var splitTo = to.Split(Convert.ToChar(":")); if (splitTo.Count() == 2) { heureTo = int.Parse(DeleteZero(splitTo[0])); minuteTo = int.Parse(DeleteZero(splitTo[1])); } bool isTheEnd = false; string startTime = from; IList <CreneauDataModel> creneauDataModelList = new List <CreneauDataModel>(); while (!(isTheEnd)) { isTheEnd = (heureFrom == heureTo && minuteFrom >= minuteTo); string dateDebut = startTime; minuteFrom = minuteFrom + configurationPraticien.DecalageMinute; if (minuteFrom >= 60) { minuteFrom = minuteFrom - 60; heureFrom = heureFrom + 1; } startTime = string.Concat(AddZero(heureFrom.ToString(CultureInfo.InvariantCulture)), ":", AddZero(minuteFrom.ToString(CultureInfo.InvariantCulture))); var creneau = new CreneauDataModel { PraticienEmail = praticien.Email, CurrentDate = dateSelected, HeureDebut = dateDebut, HeureFin = startTime, Status = "ND" }; creneauDataModelList.Add(creneau); } PostNewCreneau(creneauDataModelList); return (new Return <Null>().OK().WithDefaultResult()); } catch (Exception ex) { throw; } }
public ResultOfType <CalendrierResultModel> GetCalendrierParPraticienAndDate( ConfigurationPraticien configurationPraticien, DateTime?dateSelected) { Logger.LogInfo("GetCalendrierParPraticienAndDate : Start "); if (configurationPraticien == null) { return(new Return <CalendrierResultModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "La configuration n'a pas été effectué par le praticien.").WithDefaultResult()); } if (dateSelected == null) { dateSelected = DateTime.UtcNow; } //Récupérer la liste des rendez vous par date et par praticien var listRendezVous = _rendezvousRepository.GetAll() .Where( x => x.Praticien.Cin == configurationPraticien.Praticien.Cin); IList <CalendrierDataModel> calendrierPraticien = new List <CalendrierDataModel>(); //Matin var startTimeMatin = string.Concat(AddZero(configurationPraticien.HeureDebutMatin), ":", AddZero(configurationPraticien.MinuteDebutMatin)); var endTimeMatin = string.Concat(AddZero(configurationPraticien.HeureFinMatin), ":", AddZero(configurationPraticien.MinuteFinMatin)); //Midi var startTimeMidi = string.Concat(AddZero(configurationPraticien.HeureDebutMidi), ":", AddZero(configurationPraticien.MinuteDebutMidi)); var endTimeMidi = string.Concat(AddZero(configurationPraticien.HeureFinMidi), ":", AddZero(configurationPraticien.MinuteFinMidi)); var calendrierStatus = new CalendrierDataModel(); //Si on n'a pas de rendez vous dans ce jour alors on affiche le calendrier vide var rendezVousList = listRendezVous as IList <RendezVous> ?? listRendezVous.ToList(); if (rendezVousList.ToList().Count == 0) { //C'est disponible const string statut = "Pas de rendez vous"; calendrierPraticien.ToList() .AddRange(CalendrierFerie(configurationPraticien, startTimeMatin, endTimeMatin, calendrierStatus, statut)); calendrierPraticien.ToList() .AddRange(CalendrierFerie(configurationPraticien, startTimeMidi, endTimeMidi, calendrierStatus, statut)); } else { calendrierPraticien = CalendrierReservationStatus(configurationPraticien, startTimeMatin, endTimeMatin, calendrierStatus, rendezVousList); calendrierPraticien.ToList() .AddRange(CalendrierReservationStatus(configurationPraticien, startTimeMidi, endTimeMidi, calendrierStatus, rendezVousList)); } var data = new CalendrierResultModel { CalendrierPraticien = calendrierPraticien }; Logger.LogInfo("GetCalendrierParPraticienAndDate : End."); return(new Return <CalendrierResultModel>().OK().WithResult(data)); }
/// <summary> /// TODO /// </summary> /// <param name="praticien"></param> /// <param name="dateSelected"></param> /// <returns></returns> public ResultOfType <CalendrierResultModel> GetCalendrierParPraticienForPraticien(string praticien, string dateSelected) { Logger.LogInfo("GetCalendrierParPraticienForPraticien : Start."); //Afficher tout le calendrier if (string.IsNullOrEmpty(praticien)) { return(new Return <CalendrierResultModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Le cin du praticien est null.").WithDefaultResult()); } if (string.IsNullOrEmpty(dateSelected)) { return(new Return <CalendrierResultModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "La date courante est null.").WithDefaultResult()); } //var startHeure, endHeure; ConfigurationPraticien configurationPraticien = _configurationPraticienRepository.GetAll().FirstOrDefault(c => c.Praticien.Email == praticien); if (configurationPraticien == null) { return(new Return <CalendrierResultModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError( null, "Aucune configuration effectué pour le compte en compte.Veuillez contacter l'administrateur de AlloTabib pour établir une première configuration.") .WithDefaultResult()); } IList <Creneaux> creneauxConfig = _creneauRepository.GetAll() .Where(cr => cr.Praticien.Email.Equals(praticien) && cr.CurrentDate.Equals(dateSelected)).ToList(); //Créer la liste d'objets contenant cette éléments qui seront affichés au médecin IList <CalendrierDataModel> listCalendrierDataModels = new List <CalendrierDataModel>(); int decalage = configurationPraticien.DecalageMinute; var jourFerie = _jourFerieRepository.GetAll() .FirstOrDefault(x => x.JourFerieNom.Equals(dateSelected) && x.Praticien.Email.Equals(praticien)); if (configurationPraticien.MinuteDebutMatin != null && configurationPraticien.HeureDebutMatin != null && configurationPraticien.MinuteFinMatin != null && configurationPraticien.HeureFinMatin != null) { int minute = int.Parse(DeleteZero(configurationPraticien.MinuteDebutMatin)); int heure = int.Parse(DeleteZero(configurationPraticien.HeureDebutMatin)); int minuteFinMatin = int.Parse(DeleteZero(configurationPraticien.MinuteFinMatin)); int heureFinMatin = int.Parse(DeleteZero(configurationPraticien.HeureFinMatin)); string startTimeMatin = string.Concat(AddZero(heure.ToString()), ":", AddZero(minute.ToString())); string endTimeMatin = string.Concat(AddZero(heureFinMatin.ToString()), ":", AddZero(minuteFinMatin.ToString())); AjouterCalendrierPraticien(heure, heureFinMatin, minute, minuteFinMatin, listCalendrierDataModels, startTimeMatin, endTimeMatin, decalage); } //: je garde au mécedin ce crénaux en cas ou il a besoin d'ajouter un rdv urgent dans sa pause listCalendrierDataModels.RemoveAt(listCalendrierDataModels.Count - 1); if (configurationPraticien.MinuteDebutMidi != null && configurationPraticien.HeureDebutMidi != null) { int minuteAp = int.Parse(DeleteZero(configurationPraticien.MinuteDebutMidi)); int heureAp = int.Parse(DeleteZero(configurationPraticien.HeureDebutMidi)); int minuteFinAp = int.Parse(DeleteZero(configurationPraticien.MinuteFinMidi)); int heureFinAp = int.Parse(DeleteZero(configurationPraticien.HeureFinMidi)); string startTimeMidi = string.Concat(AddZero(heureAp.ToString()), ":", AddZero(minuteAp.ToString())); string endTimeMidi = string.Concat(AddZero(heureFinAp.ToString()), ":", AddZero(minuteFinAp.ToString())); AjouterCalendrierPraticien(heureAp, heureFinAp, minuteAp, minuteFinAp, listCalendrierDataModels, startTimeMidi, endTimeMidi, decalage); } //Supprimer le dernier élément: je garde au mécedin ce crénaux en cas ou il a besoin d'ajouter un rdv urgent dans sa pause //listCalendrierDataModels.RemoveAt(listCalendrierDataModels.Count - 1); var finalList = new List <CalendrierDataModel>(); if (creneauxConfig != null && creneauxConfig.ToList().Count > 0) { foreach (CalendrierDataModel cal in listCalendrierDataModels) { if (jourFerie != null) { cal.Statut = "ND"; finalList.Add(cal); } else { var creneau = creneauxConfig.FirstOrDefault( cr => cr.HeureDebut == cal.HeureDebutCalendrier && cr.CurrentDate.Equals(dateSelected)); if (creneau != null) { //On doit traiter le cas des rendez vous var rdv = _rendezvousRepository.GetAll().FirstOrDefault(c => c.Creneaux.Id == creneau.Id); string status = creneau.Status; string praticienCin = string.Empty; string patientCin = string.Empty; string heurefin = creneau.HeureFin; string nomPrenomPatient = string.Empty; string telephonePatient = string.Empty; if (rdv != null) { //get patient or praticien of it's a praticien var pat = _patientRepository.GetAll().FirstOrDefault(p => p.Email.Equals(rdv.Patient.Email)); if (pat == null) { var prat = _praticienRepository.GetAll() .FirstOrDefault(pr => pr.Email.Equals(rdv.Patient.Email)); if (prat != null) { nomPrenomPatient = prat.NomPrenom; telephonePatient = prat.Telephone; } } else { nomPrenomPatient = pat.NomPrenom; telephonePatient = pat.Telephone; } // status = rdv.Statut; praticienCin = rdv.Praticien.Cin; patientCin = rdv.Patient.Email; } var elem = listCalendrierDataModels.FirstOrDefault( w => w.HeureDebutCalendrier == creneau.HeureDebut); elem.HeureDebutCalendrier = creneau.HeureDebut; elem.HeureFinCalendrier = heurefin; elem.PatientCin = patientCin; elem.PraticienCin = praticienCin; elem.Statut = status; elem.NomPrenomPatient = nomPrenomPatient; elem.TelephonePatient = telephonePatient; finalList.Add(elem); } else { if (jourFerie != null) { cal.Statut = "ND"; finalList.Add(cal); } else { finalList.Add(cal); } } } } } else { finalList.AddRange(listCalendrierDataModels); if (jourFerie != null) { finalList.ForEach(cal => { cal.Statut = "ND"; }); } } ////On doit traiter le cas des rendez vous //if (creneauxConfig != null && creneauxConfig.ToList().Count > 0) //{ // //ici on doit enlever des heurs les rendez vous prix // foreach (Creneaux cre in creneauxConfig) // { // CalendrierDataModel cal = listCalendrierDataModels.FirstOrDefault(x => x.HeureDebutCalendrier == cre.HeureDebut); // if (cal != null) // { // if (cre.Status.Equals("ND".ToString())) // { // var rdv = _rendezvousRepository.GetAll().FirstOrDefault(c => c.Creneaux.Id == cre.Id); // string status = "ND"; // string praticienCin = string.Empty; // string patientCin = string.Empty; // string heurefin = cre.HeureFin; // if (rdv != null) // { // status = rdv.Statut; // praticienCin = rdv.Praticien.Cin; // patientCin = rdv.Patient.Cin; // } // var elem = listCalendrierDataModels.FirstOrDefault(w => w.HeureDebutCalendrier == cre.HeureDebut); // elem.HeureDebutCalendrier = cre.HeureDebut; // elem.HeureFinCalendrier = heurefin; // elem.PatientCin = patientCin; // elem.PraticienCin = praticienCin; // elem.Statut = status; // finalList.Add(elem); // } // } // else // finalList.Add(cal); // } //} //else //{ // finalList = listCalendrierDataModels; //} CalendrierResultModel data = new CalendrierResultModel { CalendrierPraticien = finalList }; Logger.LogInfo("GetCalendrierParPraticienForPraticien : End. "); return(new Return <CalendrierResultModel>().OK().WithResult(data)); }
/// <summary> /// C'est une méthode permettant d'afficher les disponibilités d'un medecin coté patient /// </summary> /// <param name="praticien"></param> /// <param name="dateSelected"></param> /// <returns></returns> public ResultOfType <CalendrierPatientDataModel> GetCalendrierParPraticienForPatient(string praticien, string dateSelected) { try { Logger.LogInfo("GetCalendrierParPraticienForPatient : Start. "); //nous avant la configuration du médecin qui construit la premiere liste //puis on tranche de la liste les créneaux non disponible if (string.IsNullOrEmpty(praticien)) { return (new Return <CalendrierPatientDataModel>().Error() .As(EStatusDetail.BadRequest) .AddingGenericError( null, "L'email du praticien est null.").WithDefaultResult()); } if (string.IsNullOrEmpty(dateSelected)) { return (new Return <CalendrierPatientDataModel>().Error() .As(EStatusDetail.BadRequest) .AddingGenericError( null, "La date courante est null.").WithDefaultResult()); } ConfigurationPraticien configurationPraticien = _configurationPraticienRepository.GetAll().FirstOrDefault(c => c.Praticien.Email == praticien); if (configurationPraticien == null) { return (new Return <CalendrierPatientDataModel>().Error() .As(EStatusDetail.BadRequest) .AddingGenericError( null, "Aucune configuration effectué pour le compte en compte.Veuillez contacter l'administrateur de AlloTabib pour établir une première configuration.") .WithDefaultResult()); } IList <Creneaux> creneauxConfig = _creneauRepository.GetAll() .Where(cr => cr.Praticien.Email.Equals(praticien) && cr.CurrentDate.Equals(dateSelected)) .ToList(); IList <string> heures = new List <string>(); int decalage = configurationPraticien.DecalageMinute; var jourFerie = _jourFerieRepository.GetAll() .FirstOrDefault(x => x.JourFerieNom.Contains(dateSelected) && x.Praticien.Email.Equals(praticien)); DateTime dateCast; DateTime.TryParseExact(dateSelected, "dd/MM/yyyy", _cultureFr, DateTimeStyles.None, out dateCast); string day = DateTimeFormatInfo.CurrentInfo.GetDayName(dateCast.DayOfWeek); CalendrierPatientDataModel data = new CalendrierPatientDataModel(); if (jourFerie != null || day.Equals(DayOfWeek.Sunday.ToString())) { //Do the cast for the date data = new CalendrierPatientDataModel { HeureCalendrier = null, DateCourante = dateSelected.Substring(0, 5), Jour = day }; //On doit pas afficher ce jour la dans le cas d'un patient return(new Return <CalendrierPatientDataModel>().OK().WithResult(data)); } else { //si il n'a aucun créneau dans cette date on affiche toute les disponibilité tous le calendrier au patient //if (creneauxConfig == null) //{ if (configurationPraticien.MinuteDebutMatin != null && configurationPraticien.HeureDebutMatin != null && configurationPraticien.MinuteFinMatin != null && configurationPraticien.HeureFinMatin != null) { int minute = int.Parse(DeleteZero(configurationPraticien.MinuteDebutMatin)); int heure = int.Parse(DeleteZero(configurationPraticien.HeureDebutMatin)); int minuteFinMatin = int.Parse(DeleteZero(configurationPraticien.MinuteFinMatin)); int heureFinMatin = int.Parse(DeleteZero(configurationPraticien.HeureFinMatin)); string startTimeMatin = string.Concat(AddZero(heure.ToString()), ":", AddZero(minute.ToString())); AjouterDisponibilitePraticien(heure, heureFinMatin, minute, minuteFinMatin, heures, startTimeMatin, decalage); heures.RemoveAt(heures.Count - 1); } if (configurationPraticien.MinuteDebutMidi != null && configurationPraticien.HeureDebutMidi != null) { int minuteAp = int.Parse(DeleteZero(configurationPraticien.MinuteDebutMidi)); int heureAp = int.Parse(DeleteZero(configurationPraticien.HeureDebutMidi)); int minuteFinAp = int.Parse(DeleteZero(configurationPraticien.MinuteFinMidi)); int heureFinAp = int.Parse(DeleteZero(configurationPraticien.HeureFinMidi)); string startTimeMidi = string.Concat(AddZero(heureAp.ToString()), ":", AddZero(minuteAp.ToString())); AjouterDisponibilitePraticien(heureAp, heureFinAp, minuteAp, minuteFinAp, heures, startTimeMidi, decalage); heures.RemoveAt(heures.Count - 1); } //On doit traiter le cas des rendez vous if (creneauxConfig != null && creneauxConfig.ToList().Count > 0) { //ici on doit enlever des heurs les rendez vous prix foreach (Creneaux cre in creneauxConfig) { //vérifier si ce creneaux est lié à un rdv var rdv = _rendezvousRepository.GetAll().FirstOrDefault(r => r.Creneaux.Id.Equals(cre.Id)); if (rdv != null) { if (rdv.Statut.Equals("R")) //Si le rendez vous a été rejeté alors il sera libéré { if (heures.IndexOf(cre.HeureDebut) != -1) { if (cre.Status.Equals("ND".ToString())) { heures.Remove(cre.HeureDebut); } } } } if (heures.IndexOf(cre.HeureDebut) != -1) { if (cre.Status.Equals("ND".ToString())) { heures.Remove(cre.HeureDebut); } } } } DateTime.TryParseExact(dateSelected, "dd/MM/yyyy", _cultureFr, DateTimeStyles.None, out dateCast); day = DateTimeFormatInfo.CurrentInfo.GetDayName(dateCast.DayOfWeek); //Do the cast for the date data = new CalendrierPatientDataModel { HeureCalendrier = heures, DateCourante = dateSelected, Jour = day }; } Logger.LogInfo("GetCalendrierParPraticienForPatient : End ."); return(new Return <CalendrierPatientDataModel>().OK().WithResult(data)); } catch (Exception ex) { return (new Return <CalendrierPatientDataModel>().Error() .As(EStatusDetail.BadRequest) .AddingGenericError( null, "Erreur de récupération du jours.").WithDefaultResult()); } }
/// <summary> /// Ajouter une nouvelle configuration /// </summary> /// <param name="configurationToAdd"></param> /// <returns></returns> public ResultOfType <ConfigurationResultDataModel> PostNewConfiguration(ConfigurationDataModel configurationToAdd) { try { Logger.LogInfo("PostNewConfiguration : Start "); if (configurationToAdd == null) { return (new Return <ConfigurationResultDataModel>().Error() .As(EStatusDetail.BadRequest) .AddingGenericError( null, "Les données sont vides.").WithDefaultResult()); } var validationResult = ValidateNewConfigProperties(configurationToAdd); if (validationResult != null) { return(validationResult); } var praticien = _praticienRepository.Get(configurationToAdd.PraticienCin); Logger.LogInfo("PostNewConfiguration : End."); var configurationPraticien = new ConfigurationPraticien { Praticien = praticien, HeureDebutMatin = configurationToAdd.HeureDebutMatin, HeureDebutMidi = configurationToAdd.HeureDebutMidi, MinuteDebutMatin = configurationToAdd.MinuteDebutMatin, MinuteDebutMidi = configurationToAdd.MinuteDebutMidi, HeureFinMatin = configurationToAdd.HeureFinMatin, HeureFinMidi = configurationToAdd.HeureFinMidi, DecalageMinute = int.Parse(configurationToAdd.DecalageMinute), MinuteFinMatin = configurationToAdd.MinuteFinMatin, MinuteFinMidi = configurationToAdd.MinuteFinMidi }; _configurationPraticienRepository.Add(configurationPraticien); return(new Return <ConfigurationResultDataModel>().OK().WithResult(new ConfigurationResultDataModel { HeureDebutMatin = configurationPraticien.HeureDebutMatin, HeureDebutMidi = configurationPraticien.HeureDebutMidi, MinuteDebutMatin = configurationPraticien.MinuteDebutMatin, MinuteDebutMidi = configurationPraticien.MinuteDebutMidi, PraticienCin = configurationPraticien.Praticien != null ? configurationPraticien.Praticien.Cin : "", DecalageMinute = configurationToAdd.DecalageMinute, HeureFinMatin = configurationToAdd.HeureFinMatin, HeureFinMidi = configurationToAdd.HeureFinMidi, MinuteFinMatin = configurationToAdd.MinuteFinMatin, MinuteFinMidi = configurationToAdd.MinuteFinMidi })); } catch (Exception ex) { return(new Return <ConfigurationResultDataModel>() .Error().AsGenericError().AddingException(ex) .WithResult(null)); } }
public ResultOfType <CalendrierResultModel> GetCalendrierParPraticienAndDate(ConfigurationPraticien configurationPraticien, DateTime?dateSelected) { return(_calendrierDomainServices.GetCalendrierParPraticienAndDate(configurationPraticien, dateSelected)); }