private void AjouterCalendrierPraticien(int heure, int heureFinMatin, int minute, int minuteFinMatin, IList <CalendrierDataModel> listCalendrierDataModels, string startTime, string endTime, int decalage) { bool isTheEnd = false; while (!(isTheEnd)) { isTheEnd = (heure == heureFinMatin && minute == minuteFinMatin); var calendrierDataModel = new CalendrierDataModel(); calendrierDataModel.HeureDebutCalendrier = startTime; calendrierDataModel.Statut = "D"; minute = minute + decalage; if (minute >= 60) { minute = minute - 60; heure = heure + 1; } startTime = string.Concat(AddZero(heure.ToString()), ":", AddZero(minute.ToString())); calendrierDataModel.HeureFinCalendrier = startTime; listCalendrierDataModels.Add(calendrierDataModel); endTime = string.Concat(AddZero(heureFinMatin.ToString(CultureInfo.CurrentCulture)), ":", AddZero(minuteFinMatin.ToString())); } }
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); }
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)); }
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); }