// Modify default (Update all attributes of the class)

        public void ModifyDefault(IMCareActivityEN iMCareActivity)
        {
            try
            {
                SessionInitializeTransaction();
                IMCareActivityEN iMCareActivityEN = (IMCareActivityEN)session.Load(typeof(IMCareActivityEN), iMCareActivity.Id);

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

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


            finally
            {
                SessionClose();
            }
        }
        public IMCareActivityEN ReadOIDDefault(int id
                                               )
        {
            IMCareActivityEN iMCareActivityEN = null;

            try
            {
                SessionInitializeTransaction();
                iMCareActivityEN = (IMCareActivityEN)session.Get(typeof(IMCareActivityEN), id);
                SessionCommit();
            }

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


            finally
            {
                SessionClose();
            }

            return(iMCareActivityEN);
        }
        public int New_(string p_name, int p_scenario, string p_description, int p_careActivity)
        {
            IMCareActivityEN iMCareActivityEN = null;
            int oid;

            //Initialized IMCareActivityEN
            iMCareActivityEN      = new IMCareActivityEN();
            iMCareActivityEN.Name = p_name;


            if (p_scenario != -1)
            {
                // El argumento p_scenario -> Property scenario es oid = false
                // Lista de oids id
                iMCareActivityEN.Scenario    = new MoSIoTGenNHibernate.EN.MosIoT.IoTScenarioEN();
                iMCareActivityEN.Scenario.Id = p_scenario;
            }

            iMCareActivityEN.Description = p_description;


            if (p_careActivity != -1)
            {
                // El argumento p_careActivity -> Property careActivity es oid = false
                // Lista de oids id
                iMCareActivityEN.CareActivity    = new MoSIoTGenNHibernate.EN.MosIoT.CareActivityEN();
                iMCareActivityEN.CareActivity.Id = p_careActivity;
            }

            //Call to IMCareActivityCAD

            oid = _IIMCareActivityCAD.New_(iMCareActivityEN);
            return(oid);
        }
        public IMCareActivityEN ReadOID(int id
                                        )
        {
            IMCareActivityEN iMCareActivityEN = null;

            iMCareActivityEN = _IIMCareActivityCAD.ReadOID(id);
            return(iMCareActivityEN);
        }
        public void Modify(int p_IMCareActivity_OID, string p_name, string p_description)
        {
            IMCareActivityEN iMCareActivityEN = null;

            //Initialized IMCareActivityEN
            iMCareActivityEN             = new IMCareActivityEN();
            iMCareActivityEN.Id          = p_IMCareActivity_OID;
            iMCareActivityEN.Name        = p_name;
            iMCareActivityEN.Description = p_description;
            //Call to IMCareActivityCAD

            _IIMCareActivityCAD.Modify(iMCareActivityEN);
        }
        public int New_(IMCareActivityEN iMCareActivity)
        {
            try
            {
                SessionInitializeTransaction();
                if (iMCareActivity.Scenario != null)
                {
                    // Argumento OID y no colección.
                    iMCareActivity.Scenario = (MoSIoTGenNHibernate.EN.MosIoT.IoTScenarioEN)session.Load(typeof(MoSIoTGenNHibernate.EN.MosIoT.IoTScenarioEN), iMCareActivity.Scenario.Id);

                    iMCareActivity.Scenario.Entity
                    .Add(iMCareActivity);
                }
                if (iMCareActivity.CareActivity != null)
                {
                    // Argumento OID y no colección.
                    iMCareActivity.CareActivity = (MoSIoTGenNHibernate.EN.MosIoT.CareActivityEN)session.Load(typeof(MoSIoTGenNHibernate.EN.MosIoT.CareActivityEN), iMCareActivity.CareActivity.Id);
                }

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

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


            finally
            {
                SessionClose();
            }

            return(iMCareActivity.Id);
        }
        public static IMCareActivityEN Convert(IMCareActivityDTO dto)
        {
            IMCareActivityEN newinstance = null;

            try
            {
                if (dto != null)
                {
                    newinstance = new IMCareActivityEN();



                    if (dto.CareActivity_oid != -1)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.ICareActivityCAD careActivityCAD = new MoSIoTGenNHibernate.CAD.MosIoT.CareActivityCAD();

                        newinstance.CareActivity = careActivityCAD.ReadOIDDefault(dto.CareActivity_oid);
                    }
                    newinstance.Id   = dto.Id;
                    newinstance.Name = dto.Name;
                    if (dto.OriginAssociation_oid != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IAssociationCAD associationCAD = new MoSIoTGenNHibernate.CAD.MosIoT.AssociationCAD();

                        newinstance.OriginAssociation = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.AssociationEN>();
                        foreach (int entry in dto.OriginAssociation_oid)
                        {
                            newinstance.OriginAssociation.Add(associationCAD.ReadOIDDefault(entry));
                        }
                    }
                    if (dto.TargetAssociation_oid != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IAssociationCAD associationCAD = new MoSIoTGenNHibernate.CAD.MosIoT.AssociationCAD();

                        newinstance.TargetAssociation = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.AssociationEN>();
                        foreach (int entry in dto.TargetAssociation_oid)
                        {
                            newinstance.TargetAssociation.Add(associationCAD.ReadOIDDefault(entry));
                        }
                    }
                    if (dto.Scenario_oid != -1)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IIoTScenarioCAD ioTScenarioCAD = new MoSIoTGenNHibernate.CAD.MosIoT.IoTScenarioCAD();

                        newinstance.Scenario = ioTScenarioCAD.ReadOIDDefault(dto.Scenario_oid);
                    }
                    newinstance.Description = dto.Description;

                    if (dto.Operations != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IEntityOperationCAD entityOperationCAD = new MoSIoTGenNHibernate.CAD.MosIoT.EntityOperationCAD();

                        newinstance.Operations = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.EntityOperationEN>();
                        foreach (EntityOperationDTO entry in dto.Operations)
                        {
                            newinstance.Operations.Add(EntityOperationAssemblerDTO.Convert(entry));
                        }
                    }

                    if (dto.Attributes != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IEntityAttributesCAD entityAttributesCAD = new MoSIoTGenNHibernate.CAD.MosIoT.EntityAttributesCAD();

                        newinstance.Attributes = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.EntityAttributesEN>();
                        foreach (EntityAttributesDTO entry in dto.Attributes)
                        {
                            newinstance.Attributes.Add(EntityAttributesAssemblerDTO.Convert(entry));
                        }
                    }

                    if (dto.States != null)
                    {
                        MoSIoTGenNHibernate.CAD.MosIoT.IEntityStateCAD entityStateCAD = new MoSIoTGenNHibernate.CAD.MosIoT.EntityStateCAD();

                        newinstance.States = new System.Collections.Generic.List <MoSIoTGenNHibernate.EN.MosIoT.EntityStateEN>();
                        foreach (EntityStateDTO entry in dto.States)
                        {
                            newinstance.States.Add(EntityStateAssemblerDTO.Convert(entry));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(newinstance);
        }