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; } }
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; } }
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)); }