/// <summary> /// Récupérer la liste des rendez vous non confirmé de chaque médecin /// </summary> /// <param name="praticienEmail"></param> /// <returns></returns> public ResultOfType <RendezVousResultModel> GetAllRendezVousNonConfirmeOuRejete(string praticienEmail) { DateTime currentDate = DateTime.Today; // Specify exactly how to interpret the string. IFormatProvider culture = new System.Globalization.CultureInfo("fr-FR", true); try { Logger.LogInfo("GetAllRendezVousNonConfirmeOuRejete : Start."); if (string.IsNullOrEmpty(praticienEmail)) { return(new Return <RendezVousResultModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre praticien Cin.", "praticien") .WithDefaultResult()); } var rendezvous = _rendezVousRepository.GetAll() .Where(r => r.Praticien.Email == praticienEmail && r.Statut.Equals("NC") && DateTime.Parse(r.Creneaux.CurrentDate, culture, System.Globalization.DateTimeStyles.AssumeLocal).CompareTo(currentDate) >= 0).OrderBy(o => o.Creneaux.CurrentDate).Take(5); var data = new RendezVousResultModel(); rendezvous.ForEach(rdv => { var dataModel = RendezVousWrapper.ConvertPatientEntityToDataModel(rdv); //get patient info var patient = _patientRepository.GetAll().FirstOrDefault(p => p.Email.Equals(dataModel.PatientCin)); if (patient != null) { if (!string.IsNullOrEmpty(patient.DateNaissance)) { dataModel.PatientDateNaissance = patient.DateNaissance; } if (!string.IsNullOrEmpty(patient.NomPrenom)) { dataModel.PatientNomPrenom = patient.NomPrenom; } if (!string.IsNullOrEmpty(patient.Adresse)) { dataModel.PatientAdresse = patient.Adresse; } if (!string.IsNullOrEmpty(patient.Telephone)) { dataModel.PatientTelephone = patient.Telephone; } } data.Items.Add(dataModel); }); Logger.LogInfo("Get RendezVous By Date And Praticien : End --- Status : OK"); return(new Return <RendezVousResultModel>().OK().WithResult(data)); } catch (Exception ex) { throw; } }
public ResultOfType <RendezVousResultModel> GetRendezVousByDateAndPraticien(string praticien, string dateCurrent) { try { Logger.LogInfo("GetRendezVousByDateAndPraticien : Start."); if (string.IsNullOrEmpty(praticien)) { return(new Return <RendezVousResultModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre praticien Cin.", "praticien") .WithDefaultResult()); } if (string.IsNullOrEmpty(dateCurrent)) { return(new Return <RendezVousResultModel>() .Error().AsValidationFailure(null, "Veuillez introduire votre date en cours.", "dateCurrent") .WithDefaultResult()); } var rendezvous = _rendezVousRepository.GetAll() .Where(r => r.Praticien.Email == praticien && r.Creneaux.CurrentDate.Equals(dateCurrent)); var data = new RendezVousResultModel(); rendezvous.ForEach(rdv => { var dataModel = RendezVousWrapper.ConvertPatientEntityToDataModel(rdv); data.Items.Add(dataModel); }); Logger.LogInfo("Get RendezVous By Date And Praticien : End --- Status : OK"); return(new Return <RendezVousResultModel>().OK().WithResult(data)); } catch (Exception) { throw; } }
public ResultOfType <RendezVousResultModel> GetListOfRendezVousTousEnCours(string praticienEmail) { try { Logger.LogInfo("Get List Of Rendez Vous Tous En Cours With Take And Skip Parameters : Start."); if (string.IsNullOrEmpty(praticienEmail)) { return(new Return <RendezVousResultModel>().Error().As(EStatusDetail.NotFound).AddingGenericError( null, "L'email introduit est vide!!").WithDefaultResult()); } var rendezvous = _rendezVousRepository.GetAll().Where(p => p.Praticien.Email.Equals(praticienEmail)); var data = new RendezVousResultModel(); IFormatProvider culture = new System.Globalization.CultureInfo("fr-FR", true); rendezvous.ForEach(rdv => { DateTime dt2 = DateTime.Parse(rdv.Creneaux.CurrentDate, culture, System.Globalization.DateTimeStyles.AssumeLocal); int result = DateTime.Compare(dt2, DateTime.Now); if (result > 0) { var dataModel = RendezVousWrapper.ConvertPatientEntityToDataModel(rdv); data.Items.Add(dataModel); } }); Logger.LogInfo("Get List Of Rendez Vous Tous En Cours : End --- Status : OK"); return(new Return <RendezVousResultModel>().OK().WithResult(data)); } catch (Exception ex) { throw; } }