public ResultOfType <CreneauResultDataModel> GetCreneauByHeureDebutAndDate(string heureDebut, string praticien, string currentDate) { try { Logger.LogInfo("Get Creneaux With Take And Skip Parameters : Start."); //Récupérer par praticien , heure début et date donné var creneau = _creneauxRepository.GetAll() .FirstOrDefault(p => p.Praticien.Email.Equals(praticien) && p.HeureDebut.Equals(heureDebut) && p.CurrentDate.Equals(currentDate)); //Pas de créneau if (creneau == null) { return(new Return <CreneauResultDataModel>() .Error() .AsNotFound() .WithDefaultResult()); } var dataModel = CreneauWrapper.ConvertCreneauEntityToDataModel(creneau); Logger.LogInfo("Get Creneaux by praticien and date Parameters : End --- Status : OK"); return(new Return <CreneauResultDataModel>().OK().WithResult(dataModel)); } catch (Exception exception) { Logger.LogError("Get Praticiens Exception", exception); throw; } }
//public ResultOfType<bool> CreneauHasRendezVous(string heureDebut, string heureFin, string currentDate, string emailPraticien) //{ // Logger.LogInfo("Get Creneaux With Take And Skip Parameters : Start."); // //Récupérer par praticien , heure début et date donné // var creneau = // _creneauxRepository.GetAll() // .FirstOrDefault(p => p.Praticien.Cin.Equals(praticien) && p.HeureDebut.Equals(heureDebut) && p.CurrentDate.Equals(currentDate)); //} public ResultOfType <CreneauResultModel> GetCreneauxByPraticien(string email, int take = 0, int skip = 0) { try { Logger.LogInfo("Get Creneaux With Take And Skip Parameters : Start."); var totalCount = _praticienRepository.GetCount(); var totalPages = (take != 0) ? (int)Math.Ceiling((double)totalCount / take) : 0; var paginationHeader = new PaginationHeader { TotalCount = totalCount, TotalPages = totalPages }; var creneaux = (take == 0 && skip == 0) ? _creneauxRepository .GetAll().Where(p => p.Praticien.Email == email) .ToList() : _creneauxRepository .GetAll().Where(p => p.Praticien.Email == email) .Skip(skip) .Take(take) .ToList(); var data = new CreneauResultModel(); creneaux.ForEach(creneau => { var dataModel = CreneauWrapper.ConvertCreneauEntityToDataModel(creneau); data.Items.Add(dataModel); }); data.PaginationHeader = paginationHeader; Logger.LogInfo("Get Creneaux by praticien With Take And Skip Parameters : End --- Status : OK"); return(new Return <CreneauResultModel>().OK().WithResult(data)); } catch (Exception exception) { Logger.LogError("Get Praticiens Exception", exception); throw; } }
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; } }