public ActivityEN ReadOIDDefault(int identifier
                                         )
        {
            ActivityEN activityEN = null;

            try
            {
                SessionInitializeTransaction();
                activityEN = (ActivityEN)session.Get(typeof(ActivityEN), identifier);
                SessionCommit();
            }

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


            finally
            {
                SessionClose();
            }

            return(activityEN);
        }
        public void Destroy(int identifier
                            )
        {
            try
            {
                SessionInitializeTransaction();
                ActivityEN activityEN = (ActivityEN)session.Load(typeof(ActivityEN), identifier);
                session.Delete(activityEN);
                SessionCommit();
            }

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


            finally
            {
                SessionClose();
            }
        }
        public int New_(ActivityEN activity)
        {
            try
            {
                SessionInitializeTransaction();
                if (activity.CarePlan != null)
                {
                    // Argumento OID y no colección.
                    activity.CarePlan = (ChroniGenNHibernate.EN.Chroni.CarePlanEN)session.Load(typeof(ChroniGenNHibernate.EN.Chroni.CarePlanEN), activity.CarePlan.Identifier);

                    activity.CarePlan.Activity
                    .Add(activity);
                }

                session.Save(activity);
                SessionCommit();
            }

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


            finally
            {
                SessionClose();
            }

            return(activity.Identifier);
        }
        public int New_(string p_progress, string p_description, int p_carePlan, Nullable <DateTime> p_startDate, Nullable <DateTime> p_endDate)
        {
            ActivityEN activityEN = null;
            int        oid;

            //Initialized ActivityEN
            activityEN          = new ActivityEN();
            activityEN.Progress = p_progress;

            activityEN.Description = p_description;


            if (p_carePlan != -1)
            {
                // El argumento p_carePlan -> Property carePlan es oid = false
                // Lista de oids identifier
                activityEN.CarePlan            = new ChroniGenNHibernate.EN.Chroni.CarePlanEN();
                activityEN.CarePlan.Identifier = p_carePlan;
            }

            activityEN.StartDate = p_startDate;

            activityEN.EndDate = p_endDate;

            //Call to ActivityCAD

            oid = _IActivityCAD.New_(activityEN);
            return(oid);
        }
        public ActivityEN ReadOID(int identifier
                                  )
        {
            ActivityEN activityEN = null;

            activityEN = _IActivityCAD.ReadOID(identifier);
            return(activityEN);
        }
        public void Modify(int p_Activity_OID, string p_progress, string p_description, Nullable <DateTime> p_startDate, Nullable <DateTime> p_endDate)
        {
            ActivityEN activityEN = null;

            //Initialized ActivityEN
            activityEN             = new ActivityEN();
            activityEN.Identifier  = p_Activity_OID;
            activityEN.Progress    = p_progress;
            activityEN.Description = p_description;
            activityEN.StartDate   = p_startDate;
            activityEN.EndDate     = p_endDate;
            //Call to ActivityCAD

            _IActivityCAD.Modify(activityEN);
        }
// Modify default (Update all attributes of the class)

        public void ModifyDefault(ActivityEN activity)
        {
            try
            {
                SessionInitializeTransaction();
                ActivityEN activityEN = (ActivityEN)session.Load(typeof(ActivityEN), activity.Identifier);

                activityEN.Progress = activity.Progress;


                activityEN.Description = activity.Description;



                activityEN.StartDate = activity.StartDate;


                activityEN.EndDate = activity.EndDate;


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

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


            finally
            {
                SessionClose();
            }
        }