Example #1
0
        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()));
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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));
        }
Example #4
0
        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);
        }