Exemple #1
0
        public List <RendezVous> ReadAllFromCommercialID(int id_commercial)
        {
            List <RendezVous> liste_rdv = new List <RendezVous>();

            if (OpenConnection())
            {
                RendezVous          rdv;
                EmployeDAO          employeManager          = new EmployeDAO();
                PraticienDAO        praticienManager        = new PraticienDAO();
                EchantillonDonneDAO echantillonDonneManager = new EchantillonDonneDAO();

                command             = manager.CreateCommand();
                command.CommandText = "SELECT * FROM rendez_vous WHERE id_commercial = @id_commercial";

                command.Parameters.AddWithValue("@id_commercial", id_commercial);

                dataReader = command.ExecuteReader();

                while (dataReader.Read())
                {
                    rdv                           = new RendezVous();
                    rdv.Id_rdv                    = (int)dataReader["id_rdv"];
                    rdv.Employe                   = employeManager.Read((int)dataReader["id_commercial"]);
                    rdv.Praticien                 = praticienManager.Read((int)dataReader["id_praticien"]);
                    rdv.Date_rdv                  = (DateTime)dataReader["date_rdv"];
                    rdv.Date_bilan                = (DateTime)dataReader["date_bilan"];
                    rdv.Motif_rdv                 = (RendezVous.Rdv)Enum.Parse(typeof(RendezVous.Rdv), (string)dataReader["motif_rdv"]);
                    rdv.Indice_confiance          = (int)dataReader["indice_confiance"];
                    rdv.Liste_echantillons_donnes = echantillonDonneManager.ReadAllFromRendezVous(rdv.Id_rdv);
                    liste_rdv.Add(rdv);
                }
                dataReader.Close();
                command.ExecuteNonQuery();
                CloseConnection();
            }
            return(liste_rdv);
        }
        public static RendezVousResultDataModel ConvertPatientEntityToDataModel(RendezVous rendezVous)
        {
            if (rendezVous == null)
            {
                return(null);
            }

            var rendezVousResultDataModel = new RendezVousResultDataModel();

            if (!string.IsNullOrEmpty(rendezVous.NoteConsultation))
            {
                rendezVousResultDataModel.NoteConsultation = rendezVous.NoteConsultation;
            }
            if (!string.IsNullOrEmpty(rendezVous.Statut))
            {
                rendezVousResultDataModel.Statut = rendezVous.Statut;
            }

            if (rendezVous.Patient != null)
            {
                rendezVousResultDataModel.PatientCin = rendezVous.Patient.Email;
            }

            if (rendezVous.Praticien != null)
            {
                rendezVousResultDataModel.PraticienEmail = rendezVous.Praticien.Email;
            }
            if (rendezVous.Creneaux != null)
            {
                rendezVousResultDataModel.CreneauId   = rendezVous.Creneaux.Id.ToString();
                rendezVousResultDataModel.CurrentDate = rendezVous.Creneaux.CurrentDate;
                rendezVousResultDataModel.HeureDebut  = rendezVous.Creneaux.HeureDebut;
                rendezVousResultDataModel.HeureFin    = rendezVous.Creneaux.HeureFin;
            }

            return(rendezVousResultDataModel);
        }
Exemple #3
0
        public void Update(RendezVous rendezVous)
        {
            if (OpenConnection())
            {
                command             = manager.CreateCommand();
                command.CommandText = "UPDATE rendez_vous " +
                                      "SET date_rdv = @date_rdv, " +
                                      "id_praticien = @id_praticien, " +
                                      "indice_confiance = @indice_confiance, " +
                                      "date_bilan = @date_bilan, " +
                                      "motif_rdv = @motif_rdv " +
                                      "WHERE id_rdv = @id_rdv";

                command.Parameters.AddWithValue("@date_rdv", rendezVous.Date_rdv);
                command.Parameters.AddWithValue("@id_praticien", rendezVous.Praticien.Id);
                command.Parameters.AddWithValue("@indice_confiance", rendezVous.Indice_confiance);
                command.Parameters.AddWithValue("@date_bilan", rendezVous.Date_bilan);
                command.Parameters.AddWithValue("@motif_rdv", rendezVous.Motif_rdv.ToString());
                command.Parameters.AddWithValue("@id_rdv", rendezVous.Id_rdv);

                command.ExecuteNonQuery();
                CloseConnection();
            }
        }
Exemple #4
0
 void AffichezListeRendezVous()
 {
     RDVs = RendezVous.GetList();
     ListeBoxRDV.ItemsSource = RDVs;
 }
        // Delete

        public static bool DeleteRDV(RendezVous pRDV)
        {
            return(DALRendezVous.DeleteRDV(pRDV));
        }
 // Create
 public static bool CreateRDV(RendezVous pRDV)
 {
     return(DALRendezVous.AddRDV(pRDV));
 }
Exemple #7
0
        public string AjouterRendezVous(int unCodeEntreeDerogatoire, Interlocuteur unInterlocuteur, string ObjetRdv, DateTime uneDateDebut,
                                        DateTime uneDateFin, string uneAdresseDerogatoire, string uneInfoDerogatoire, string uneVilleDerogatoire, TypeRdv unTypeRdv, Planning unPlanning, RendezVous unRdvPrecendent)
        {
            ISession session = sessionFactory.OpenSession();

            using (ITransaction transaction = session.BeginTransaction())

            {
                RendezVous unRendezVous = new RendezVous();
                // Si le rendez vous est un rendez vous existant, on l'associe
                if (isModifier == true)
                {
                    unRendezVous = rdv;
                }

                if (unInterlocuteur == null)
                {
                    return("Merci de séléctionner un client.");
                }
                else
                {
                    unRendezVous.interlocuteur = unInterlocuteur;
                }

                if (unTypeRdv == null)
                {
                    return("Merci de séléctionner un type de rendez-vous.");
                }
                else
                {
                    unRendezVous.typeRdv = unTypeRdv;
                }

                if (ObjetRdv == null)
                {
                    return("Merci d'attribuer un bojet au rdv");
                }
                else
                {
                    unRendezVous.ObjetRdv = ObjetRdv;
                }

                unRendezVous.planning = unPlanning;
                if (uneDateDebut != null)
                {
                    unRendezVous.DateDebut = uneDateDebut;
                }
                if (uneDateFin != null)
                {
                    unRendezVous.DateFin = uneDateFin;
                }
                // si le rendez vous prend lieu à une adresse dérogatoire on récupère les champs
                // Sinon le rendez-vous à lieu à l'adresse du client
                if (radioButtonNon.Checked)
                {
                    if (unCodeEntreeDerogatoire != 0)
                    {
                        unRendezVous.codeEntreeDerogatoire = unCodeEntreeDerogatoire;
                    }
                    if (uneAdresseDerogatoire != null)
                    {
                        unRendezVous.adresseDerogatoire = uneAdresseDerogatoire;
                    }
                    if (uneInfoDerogatoire != null)
                    {
                        unRendezVous.infoDerogatoire = uneInfoDerogatoire;
                    }
                    if (uneVilleDerogatoire != null)
                    {
                        unRendezVous.villeDerogatoire = uneVilleDerogatoire;
                    }
                }
                // on met à null dans le cas d'une modification d'un rdv dérogatoire à classique
                else
                {
                    unRendezVous.codeEntreeDerogatoire = 0;
                    unRendezVous.adresseDerogatoire    = null;
                    unRendezVous.infoDerogatoire       = null;
                    unRendezVous.villeDerogatoire      = null;
                }
                MessageBox.Show(unRdvPrecendent.ToString());
                unRendezVous.rendezVousPrecedent = unRdvPrecendent;
                session.SaveOrUpdate(unRendezVous);
                transaction.Commit();
                session.Dispose();

                try
                {
                    MailMessage mail = new MailMessage("*****@*****.**", unInterlocuteur.mailInterlocuteur);
                    mail.Subject = "Nouveau rendez-vous avec " + unInterlocuteur.nomInterlocuteur;
                    mail.Body    = "Vous avez un nouveau rendez-vous avec" + unInterlocuteur.nomInterlocuteur + " " +
                                   unInterlocuteur.prenomInterlocuteur + " le: ? à " + uneDateDebut.ToString();


                    SmtpClient client = new SmtpClient();
                    client.Host = "localhost";
                    client.Send(mail);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }

                return("Rendez-vous ajouté.");
            }
        }
Exemple #8
0
        static Boolean ModiferRDV(RendezVous unRDV, DateTime unedate, DateTime uneheuredebut, DateTime uneheurefin,
                                  string uneadresse, string uneville, int uncoderdv, string uneinfordv, Interlocuteur unInterlocuteur,
                                  TypeRdv unTypeRdv)
        {
            int a = 0;

            sessionFactory = new Configuration().Configure().BuildSessionFactory();
            ISession session = sessionFactory.OpenSession();

            using (ITransaction transaction = session.BeginTransaction())

            {
                RendezVous R = session.Get <RendezVous>(unRDV.idRdv);

                if (unedate != null)
                {
                    R.dateRdv = unedate;
                }
                if (uneheuredebut != null)
                {
                    R.heureDebut = uneheuredebut;
                }
                if (uneheurefin != null)
                {
                    R.heureFin = uneheurefin;
                }
                if (uneadresse.Length != 0)
                {
                    R.adresseDerogatoire = uneadresse;
                }
                if (uneville.Length != 0)
                {
                    R.villeDerogatoire = uneville;
                }
                if (uncoderdv.ToString() != null)
                {
                    R.codeEntreeDerogatoire = uncoderdv;
                }
                if (uneinfordv.Length != 0)
                {
                    R.infoDerogatoire = uneinfordv;
                }
                if (unInterlocuteur != null)
                {
                }

                try
                {
                    session.Update(R);
                    transaction.Commit();
                    a = 1;
                }
                catch (Exception e)
                {
                    a = 0;
                    Console.WriteLine(e);
                }
                if (a == 1)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
        static bool AjouterRendezVous(int unCodeEntreeDerogatoire, Interlocuteur unInterlocuteur, DateTime uneDateRdv, DateTime uneHeureDebut,
                                      DateTime uneHeureFin, string uneAdresseDerogatoire, string uneInfoDerogatoire, TypeRdv unTypeRdv, Planning unPlanning)
        {
            ISession session = sessionFactory.OpenSession();

            using (ITransaction transaction = session.BeginTransaction())

            {
                RendezVous unRendezVous = new RendezVous();

                if (unInterlocuteur == null)
                {
                    return(false);
                }
                else
                {
                    unRendezVous.interlocuteur = unInterlocuteur;
                }

                if (unTypeRdv == null)
                {
                    return(false);
                }
                else
                {
                    unRendezVous.typeRdv = unTypeRdv;
                }

                if (unPlanning == null)
                {
                    return(false);
                }
                else
                {
                    unRendezVous.planning = unPlanning;
                }

                if (uneDateRdv == null)
                {
                    return(false);
                }
                if (uneHeureDebut != null)
                {
                    unRendezVous.heureDebut = uneHeureDebut;
                }
                if (uneHeureDebut != null)
                {
                    unRendezVous.heureFin = uneHeureFin;
                }
                if (unCodeEntreeDerogatoire != 0)
                {
                    unRendezVous.codeEntreeDerogatoire = unCodeEntreeDerogatoire;
                }
                if (uneAdresseDerogatoire != null)
                {
                    unRendezVous.adresseDerogatoire = uneAdresseDerogatoire;
                }
                if (uneInfoDerogatoire != null)
                {
                    unRendezVous.adresseDerogatoire = uneAdresseDerogatoire;
                }
                session.Save(unRendezVous);
                transaction.Commit();

                return(true);
            }
        }
Exemple #10
0
        public bool AddRdv(DateTime date, byte idMedecin, string nomPatient, string prenomPatient, bool important, string notes)
        {
            nomPatient    = nomPatient.ToUpper();
            prenomPatient = prenomPatient.ToUpper();
            IQueryable <RendezVous> checkRdv = (from rdvCheck in Globals.DataClass.RendezVous
                                                where date == rdvCheck.Date
                                                select rdvCheck);

            if (checkRdv.Count() == 0)
            {
                IQueryable <Patient> patientRdv = (from personne in Globals.DataClass.Personne
                                                   where nomPatient == personne.nom && prenomPatient == personne.prenom
                                                   join patient in Globals.DataClass.Patient on personne.Id equals patient.IdPersonne
                                                   select patient);
                if (patientRdv.Count() != 0)
                {
                    Patient    pers = patientRdv.First <Patient>();
                    RendezVous rdv  = new RendezVous
                    {
                        Date      = date,
                        IdPatient = pers.Id,
                        IdMedecin = idMedecin,
                        Important = important,
                        Fait      = false,
                        Note      = notes,
                        Notified  = false
                    };

                    Globals.DataClass.RendezVous.InsertOnSubmit(rdv);
                    Globals.DataClass.SubmitChanges();


                    MPRendezVous mPRdv = new MPRendezVous
                    {
                        IdMedecin    = idMedecin,
                        IdPatient    = pers.Id,
                        IdRendezVous = rdv.Id
                    };

                    Globals.DataClass.MPRendezVous.InsertOnSubmit(mPRdv);
                    Globals.DataClass.SubmitChanges();
                }
                else
                {
                    PersonneClasse newPatient = new PersonneClasse();
                    newPatient.AddPatientPersonne(nomPatient, prenomPatient, "01/01/1998", "Indéfini", "0123456789", "Homme", "170", "60", "/", "Indéfini", "Indéfini");
                    Patient addedPatient = (from personne in Globals.DataClass.Personne
                                            where nomPatient == personne.nom && prenomPatient == personne.prenom
                                            join patient in Globals.DataClass.Patient on personne.Id equals patient.IdPersonne
                                            select patient).First <Patient>();

                    RendezVous rdv = new RendezVous
                    {
                        Date      = date,
                        IdPatient = addedPatient.Id,
                        IdMedecin = idMedecin,
                        Important = important,
                        Fait      = false,
                        Note      = notes,
                        Notified  = false
                    };

                    Globals.DataClass.RendezVous.InsertOnSubmit(rdv);
                    Globals.DataClass.SubmitChanges();

                    MPRendezVous mPRdv = new MPRendezVous
                    {
                        IdMedecin    = idMedecin,
                        IdPatient    = addedPatient.Id,
                        IdRendezVous = rdv.Id
                    };

                    Globals.DataClass.MPRendezVous.InsertOnSubmit(mPRdv);
                    Globals.DataClass.SubmitChanges();
                }
                //System.IO.File.Copy($@"{Globals.CurrentDirectoryPath}\\MCDatabase.mdf", $@"{Globals.CurrentDirectoryPath}\\restauration\\MCDatabase.mdf", true);
                return(true);
            }
            else
            {
                return(false);
            }
        }
        //Remarque :

        // Static members are 'eagerly initialized', that is,
        // immediately when class is loaded for the first time.
        // .NET guarantees thread safety for static initialization
        //private static readonly LoadBalancer _instance =
        //  new LoadBalancer();

        #endregion

        #region Implémentation

        public int AjouterRendezVous(RendezVous rendezVous)
        {
            return(_rendezVousService.AjouterRendezVous(rendezVous));
        }
        public ResultOfType <RendezVousResultDataModel> PostNewRendezVous(RendezVousDataModel rendezVousToAdd)
        {
            try
            {
                Logger.LogInfo("PostNewRendezVous : Start.");
                if (rendezVousToAdd == null)
                {
                    return(new Return <RendezVousResultDataModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError(
                               null, "Les données sont vides.").WithDefaultResult());
                }

                Logger.LogInfo(string.Format("Post New rendez vous : Start --- PatientEmail = {0}, PatientEmail = {1}",
                                             rendezVousToAdd.PatientEmail, rendezVousToAdd.PatientEmail));

                var validationResult = ValidateNewRendezVousProperties(rendezVousToAdd);

                if (validationResult != null)
                {
                    Logger.LogInfo(string.Format("Post New rendez vous : End --- Status = {0}, Message= {1}",
                                                 validationResult.Status, validationResult.Errors[0].Message));
                    return(validationResult);
                }

                var rdv = _rendezVousRepository.GetAll().FirstOrDefault(r => r.Creneaux.CurrentDate.Equals(rendezVousToAdd.CurrentDate) && r.Creneaux.HeureDebut.Equals(rendezVousToAdd.HeureDebut) && r.Praticien.Cin.Equals(rendezVousToAdd.PraticienCin));

                if (rdv != null)
                {
                    return(new Return <RendezVousResultDataModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError(
                               null, "Un rendez vous à cette date et à cette heure pour  ce praticien a été pris déjà.").WithDefaultResult());
                }
                //vérifier si le patient a pris déjà un rendez dans ce jour pour le même médecin ! bloquer ça pour ne pas abuser et garder tjr horaire pour le reste
                var rdvthatday = _rendezVousRepository.GetAll().FirstOrDefault(r => r.Creneaux.CurrentDate.Equals(rendezVousToAdd.CurrentDate) && r.Praticien.Cin.Equals(rendezVousToAdd.PraticienCin) && r.Patient.Email.Equals(rendezVousToAdd.PatientEmail));

                if (rdvthatday != null)
                {
                    return(new Return <RendezVousResultDataModel>().Error().As(EStatusDetail.BadRequest).AddingGenericError(
                               null, "Vous avez pris déjà un rendez à cette date pour  ce praticien, vous ne pouvez pas prendre plus qu'un rendez vous à une date donnée.").WithDefaultResult());
                }

                if (rendezVousToAdd.NoteConsultation == null)
                {
                    rendezVousToAdd.NoteConsultation = string.Empty;
                }


                var patient   = _userAccountRepository.GetAll().FirstOrDefault(p => p.Email == rendezVousToAdd.PatientEmail);
                var praticien = _praticienRepository.GetAll().FirstOrDefault(p => p.Cin == rendezVousToAdd.PraticienCin);

                if (patient == null)
                {
                    return(new Return <RendezVousResultDataModel>()
                           .Error().AsValidationFailure(null, "Pas de patient en cours.", "patient")
                           .WithDefaultResult());
                }

                if (praticien == null)
                {
                    return(new Return <RendezVousResultDataModel>()
                           .Error().AsValidationFailure(null, "Pas de praticien en cours.", "praticien")
                           .WithDefaultResult());
                }

                //add a new creneau before
                var creneau = new Creneaux
                {
                    CurrentDate = rendezVousToAdd.CurrentDate,
                    HeureDebut  = rendezVousToAdd.HeureDebut,
                    HeureFin    = rendezVousToAdd.HeureDebut,
                    Status      = "ND", //Sera confirmé soit on supprime tout l'élément
                    Praticien   = praticien
                };

                _creneauRepository.Add(creneau);

                //récupérer le créneau
                //var cren =
                //    _creneauRepository.GetAll()
                //        .FirstOrDefault(
                //            c =>
                //                c.CurrentDate.Equals(creneau.CurrentDate) && c.HeureDebut.Equals(creneau.HeureDebut) &&
                //                c.Praticien.Cin.Equals(praticien.Cin));
                //if (cren == null)
                //{
                //    cren = creneau;
                //}
                var rendezvous = new RendezVous
                {
                    Creneaux         = creneau,
                    Praticien        = praticien,
                    Patient          = patient,
                    Statut           = "NC",
                    NoteConsultation = rendezVousToAdd.NoteConsultation
                };

                _rendezVousRepository.Add(rendezvous);

                Logger.LogInfo("PostNewRendezVous : End. ");
                return
                    (new Return <RendezVousResultDataModel>().OK()
                     .WithResult(new RendezVousResultDataModel
                {
                    NoteConsultation = rendezvous.Statut,
                    PraticienEmail = rendezvous.Praticien.Email,
                    PatientCin = rendezvous.Patient.Email,
                    Statut = rendezvous.Statut,
                    CurrentDate = creneau.CurrentDate,
                    HeureFin = creneau.HeureDebut,
                    HeureDebut = creneau.HeureFin
                }));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemple #13
0
        public ListeRendezVousViewModel(Role r)
        {
            if (r != null)
            {
                if (r.NomRole == "Docteur")
                {
                    isDoctor = "Visible";
                }
                else
                {
                    isDoctor = "Hidden";
                }
                if (r.NomRole == "SuperUser")
                {
                    isSuper = "Visible";
                }
                else
                {
                    isSuper = "Hidden";
                }
                if (r.NomRole == "Secritaire")
                {
                    isSec = "Visible";
                }
                else
                {
                    isSec = "Hidden";
                }
            }


            Datebox          = DateTime.Now;
            ListeDg          = new DataGrid();
            RendezVousSelect = new RendezVous();
            Suprimer         = new RelayCommand(SuprimerRendezVous);
            Modifier         = new RelayCommand(ModifierRendezVous);
            Ajouter          = new RelayCommand(AjouterRendezVous);
            mc         = "";
            Rechercher = new RelayCommand(RechercherR);
            Patient p1 = new Patient {
                NomPatient = "Guetin", PrenomPatient = "Arnaud", DateDernConsult = DateTime.Parse(" 2017-03-05")
            };

            ListeRendezVous  = new ObservableCollection <RendezVous>();
            ListeRendezVous2 = new ObservableCollection <RendezVous>();
            Patients         = new ObservableCollection <Patient>();
            Rendez           = new CabinetMedicalContainer();
            RendezVous       = Rendez.RendezVousSet.ToList();
            PatientsListe    = Rendez.PatientSet.ToList();


            foreach (var item in RendezVous)
            {
                //item.DateRendezVous = item.DateRendezVous.;

                ListeRendezVous.Add(item);
            }
            foreach (var item in PatientsListe)
            {
                Patients.Add(item);
            }
            // Patients.Add(p1);
            // ListeRendezVous=(ObservableCollection<RendezVous>) ListeRendezVous.Where(u => u.Patient.NomPatient =="Guetin");
            // ListeRendezVous.Add(new RendezVous { DateRendezVous = DateTime.Now, Statut = "Valide", Patient = p1, PatientID = p1.PatientID });
            //Liste = ListeRendezVous.Where(item => item.DateRendezVous = DateTime.Now.GetDateTimeFormats);
        }