Beispiel #1
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;
            }
        }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
        private ResultOfType <CreneauResultDataModel> ValidateUpdateCreneauProperties(CreneauDataModel creneauToAdd)
        {
            if (string.IsNullOrEmpty(creneauToAdd.HeureDebut))
            {
                return(new Return <CreneauResultDataModel>()
                       .Error().AsValidationFailure(null, "Veuillez introduire votre HeureDebut.", "HeureDebut")
                       .WithDefaultResult());
            }

            if (string.IsNullOrEmpty(creneauToAdd.HeureFin))
            {
                return(new Return <CreneauResultDataModel>()
                       .Error().AsValidationFailure(null, "Veuillez introduire votre HeureFin.", "HeureFin")
                       .WithDefaultResult());
            }

            if (string.IsNullOrEmpty(creneauToAdd.PraticienEmail))
            {
                return(new Return <CreneauResultDataModel>()
                       .Error().AsValidationFailure(null, "Veuillez introduire votre Praticien Cin.", "PraticienCin")
                       .WithDefaultResult());
            }

            if (string.IsNullOrEmpty(creneauToAdd.Status))
            {
                return(new Return <CreneauResultDataModel>()
                       .Error().AsValidationFailure(null, "Veuillez introduire votre Status.", "Status")
                       .WithDefaultResult());
            }
            if (string.IsNullOrEmpty(creneauToAdd.CurrentDate))
            {
                return(new Return <CreneauResultDataModel>()
                       .Error().AsValidationFailure(null, "Veuillez introduire votre currentDate.", "CurrentDate")
                       .WithDefaultResult());
            }

            return(null);
        }
 public ResultOfType <CreneauResultDataModel> UpdateCreneauPraticienByDate(string praticien, string dateCurrent, CreneauDataModel creneau)
 {
     return(_creneauDomainServices.UpdateCreneauPraticienByDate(praticien, dateCurrent, creneau));
 }