示例#1
0
        public void AssignSpecialty(int p_Practitioner_OID, int p_specialty_OID)
        {
            ChroniGenNHibernate.EN.Chroni.PractitionerEN practitionerEN = null;
            try
            {
                SessionInitializeTransaction();
                practitionerEN           = (PractitionerEN)session.Load(typeof(PractitionerEN), p_Practitioner_OID);
                practitionerEN.Specialty = (ChroniGenNHibernate.EN.Chroni.SpecialtyEN)session.Load(typeof(ChroniGenNHibernate.EN.Chroni.SpecialtyEN), p_specialty_OID);

                practitionerEN.Specialty.Practitioner.Add(practitionerEN);



                session.Update(practitionerEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
示例#2
0
        public void UnassignPractitioner(int p_Diary_OID, System.Collections.Generic.IList <int> p_practitioner_OIDs)
        {
            try
            {
                SessionInitializeTransaction();
                ChroniGenNHibernate.EN.Chroni.DiaryEN diaryEN = null;
                diaryEN = (DiaryEN)session.Load(typeof(DiaryEN), p_Diary_OID);

                ChroniGenNHibernate.EN.Chroni.PractitionerEN practitionerENAux = null;
                if (diaryEN.Practitioner != null)
                {
                    foreach (int item in p_practitioner_OIDs)
                    {
                        practitionerENAux = (ChroniGenNHibernate.EN.Chroni.PractitionerEN)session.Load(typeof(ChroniGenNHibernate.EN.Chroni.PractitionerEN), item);
                        if (diaryEN.Practitioner.Contains(practitionerENAux) == true)
                        {
                            diaryEN.Practitioner.Remove(practitionerENAux);
                            practitionerENAux.Diary.Remove(diaryEN);
                        }
                        else
                        {
                            throw new ModelException("The identifier " + item + " in p_practitioner_OIDs you are trying to unrelationer, doesn't exist in DiaryEN");
                        }
                    }
                }

                session.Update(diaryEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in DiaryCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
示例#3
0
        public void AssignPractitioner(int p_Diary_OID, System.Collections.Generic.IList <int> p_practitioner_OIDs)
        {
            ChroniGenNHibernate.EN.Chroni.DiaryEN diaryEN = null;
            try
            {
                SessionInitializeTransaction();
                diaryEN = (DiaryEN)session.Load(typeof(DiaryEN), p_Diary_OID);
                ChroniGenNHibernate.EN.Chroni.PractitionerEN practitionerENAux = null;
                if (diaryEN.Practitioner == null)
                {
                    diaryEN.Practitioner = new System.Collections.Generic.List <ChroniGenNHibernate.EN.Chroni.PractitionerEN>();
                }

                foreach (int item in p_practitioner_OIDs)
                {
                    practitionerENAux = new ChroniGenNHibernate.EN.Chroni.PractitionerEN();
                    practitionerENAux = (ChroniGenNHibernate.EN.Chroni.PractitionerEN)session.Load(typeof(ChroniGenNHibernate.EN.Chroni.PractitionerEN), item);
                    practitionerENAux.Diary.Add(diaryEN);

                    diaryEN.Practitioner.Add(practitionerENAux);
                }


                session.Update(diaryEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in DiaryCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
示例#4
0
        public void AssignSchedule(int p_Practitioner_OID, System.Collections.Generic.IList <int> p_schedule_OIDs)
        {
            ChroniGenNHibernate.EN.Chroni.PractitionerEN practitionerEN = null;
            try
            {
                SessionInitializeTransaction();
                practitionerEN = (PractitionerEN)session.Load(typeof(PractitionerEN), p_Practitioner_OID);
                ChroniGenNHibernate.EN.Chroni.ScheduleEN scheduleENAux = null;
                if (practitionerEN.Schedule == null)
                {
                    practitionerEN.Schedule = new System.Collections.Generic.List <ChroniGenNHibernate.EN.Chroni.ScheduleEN>();
                }

                foreach (int item in p_schedule_OIDs)
                {
                    scheduleENAux = new ChroniGenNHibernate.EN.Chroni.ScheduleEN();
                    scheduleENAux = (ChroniGenNHibernate.EN.Chroni.ScheduleEN)session.Load(typeof(ChroniGenNHibernate.EN.Chroni.ScheduleEN), item);
                    scheduleENAux.Practitioner = practitionerEN;

                    practitionerEN.Schedule.Add(scheduleENAux);
                }


                session.Update(practitionerEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            PractitionerEN t = obj as PractitionerEN;

            if (t == null)
            {
                return(false);
            }
            if (Identifier.Equals(t.Identifier))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#6
0
        public void UnassignSpecialty(int p_Practitioner_OID, int p_specialty_OID)
        {
            try
            {
                SessionInitializeTransaction();
                ChroniGenNHibernate.EN.Chroni.PractitionerEN practitionerEN = null;
                practitionerEN = (PractitionerEN)session.Load(typeof(PractitionerEN), p_Practitioner_OID);

                if (practitionerEN.Specialty.Identifier == p_specialty_OID)
                {
                    practitionerEN.Specialty = null;
                }
                else
                {
                    throw new ModelException("The identifier " + p_specialty_OID + " in p_specialty_OID you are trying to unrelationer, doesn't exist in PractitionerEN");
                }

                session.Update(practitionerEN);
                SessionCommit();
            }

            catch (Exception ex) {
                SessionRollBack();
                if (ex is ChroniGenNHibernate.Exceptions.ModelException)
                {
                    throw ex;
                }
                throw new ChroniGenNHibernate.Exceptions.DataLayerException("Error in PractitionerCAD.", ex);
            }


            finally
            {
                SessionClose();
            }
        }
 public PractitionerEN(PractitionerEN practitioner)
 {
     this.init(Identifier, practitioner.Nif, practitioner.Active, practitioner.Role, practitioner.Name, practitioner.Surnames, practitioner.Gender, practitioner.BirthDate, practitioner.Address, practitioner.Email, practitioner.Phone, practitioner.Photo, practitioner.StartDate, practitioner.EndDate, practitioner.Location, practitioner.Diary, practitioner.Encounter, practitioner.Conversation, practitioner.Reclamation, practitioner.Schedule, practitioner.Password, practitioner.Patient, practitioner.Specialty, practitioner.AssessmentPractitioner);
 }
示例#8
0
        public int New_(ChroniGenNHibernate.Enumerated.Chroni.EncounterStatusEnum p_status, ChroniGenNHibernate.Enumerated.Chroni.EncounterTypeEnum p_type, ChroniGenNHibernate.Enumerated.Chroni.EncounterPriorityEnum p_priority, Nullable <DateTime> p_startDate, Nullable <DateTime> p_endDate, string p_reason, string p_serviceProvider, int p_patient, System.Collections.Generic.IList <int> p_practitioner, ChroniGenNHibernate.EN.Chroni.ConditionEN p_condition, int p_slot, string p_note)
        {
            EncounterEN encounterEN = null;
            int         oid;

            //Initialized EncounterEN
            encounterEN        = new EncounterEN();
            encounterEN.Status = p_status;

            encounterEN.Type = p_type;

            encounterEN.Priority = p_priority;

            encounterEN.StartDate = p_startDate;

            encounterEN.EndDate = p_endDate;

            encounterEN.Reason = p_reason;

            encounterEN.ServiceProvider = p_serviceProvider;


            if (p_patient != -1)
            {
                // El argumento p_patient -> Property patient es oid = false
                // Lista de oids identifier
                encounterEN.Patient            = new ChroniGenNHibernate.EN.Chroni.PatientEN();
                encounterEN.Patient.Identifier = p_patient;
            }


            encounterEN.Practitioner = new System.Collections.Generic.List <ChroniGenNHibernate.EN.Chroni.PractitionerEN>();
            if (p_practitioner != null)
            {
                foreach (int item in p_practitioner)
                {
                    ChroniGenNHibernate.EN.Chroni.PractitionerEN en = new ChroniGenNHibernate.EN.Chroni.PractitionerEN();
                    en.Identifier = item;
                    encounterEN.Practitioner.Add(en);
                }
            }

            else
            {
                encounterEN.Practitioner = new System.Collections.Generic.List <ChroniGenNHibernate.EN.Chroni.PractitionerEN>();
            }

            encounterEN.Condition = p_condition;


            if (p_slot != -1)
            {
                // El argumento p_slot -> Property slot es oid = false
                // Lista de oids identifier
                encounterEN.Slot            = new ChroniGenNHibernate.EN.Chroni.SlotEN();
                encounterEN.Slot.Identifier = p_slot;
            }

            encounterEN.Note = p_note;

            //Call to EncounterCAD

            oid = _IEncounterCAD.New_(encounterEN);
            return(oid);
        }