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

        public void ModifyDefault(PlanesPremiumEN planesPremium)
        {
            try
            {
                SessionInitializeTransaction();
                PlanesPremiumEN planesPremiumEN = (PlanesPremiumEN)session.Load(typeof(PlanesPremiumEN), planesPremium.IdPlan);

                planesPremiumEN.Precio = planesPremium.Precio;


                planesPremiumEN.Descripcion = planesPremium.Descripcion;


                planesPremiumEN.Nombre = planesPremium.Nombre;


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

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


            finally
            {
                SessionClose();
            }
        }
        public PlanesPremiumEN ReadOIDDefault(UniDATESGenNHibernate.Enumerated.UniDATES.PlanesPremEnum idPlan
                                              )
        {
            PlanesPremiumEN planesPremiumEN = null;

            try
            {
                SessionInitializeTransaction();
                planesPremiumEN = (PlanesPremiumEN)session.Get(typeof(PlanesPremiumEN), idPlan);
                SessionCommit();
            }

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


            finally
            {
                SessionClose();
            }

            return(planesPremiumEN);
        }
        public void Destroy(UniDATESGenNHibernate.Enumerated.UniDATES.PlanesPremEnum idPlan
                            )
        {
            try
            {
                SessionInitializeTransaction();
                PlanesPremiumEN planesPremiumEN = (PlanesPremiumEN)session.Load(typeof(PlanesPremiumEN), idPlan);
                session.Delete(planesPremiumEN);
                SessionCommit();
            }

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


            finally
            {
                SessionClose();
            }
        }
        public UniDATESGenNHibernate.Enumerated.UniDATES.PlanesPremEnum Pagar(PlanesPremiumEN planesPremium)
        {
            try
            {
                SessionInitializeTransaction();

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

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


            finally
            {
                SessionClose();
            }

            return(planesPremium.IdPlan);
        }
        public void Modify(UniDATESGenNHibernate.Enumerated.UniDATES.PlanesPremEnum p_PlanesPremium_OID, float p_precio, string p_descripcion, string p_nombre)
        {
            PlanesPremiumEN planesPremiumEN = null;

            //Initialized PlanesPremiumEN
            planesPremiumEN             = new PlanesPremiumEN();
            planesPremiumEN.IdPlan      = p_PlanesPremium_OID;
            planesPremiumEN.Precio      = p_precio;
            planesPremiumEN.Descripcion = p_descripcion;
            planesPremiumEN.Nombre      = p_nombre;
            //Call to PlanesPremiumCAD

            _IPlanesPremiumCAD.Modify(planesPremiumEN);
        }
        public UniDATESGenNHibernate.EN.UniDATES.PlanesPremiumEN Pagar(UniDATESGenNHibernate.Enumerated.UniDATES.PlanesPremEnum p_idPlan, float p_precio, string p_descripcion, string p_nombre, int p_idUsuario)
        {
            /*PROTECTED REGION ID(UniDATESGenNHibernate.CP.UniDATES_PlanesPremium_Pagar) ENABLED START*/



            IPlanesPremiumCAD planesPremiumCAD = null;
            PlanesPremiumCEN  planesPremiumCEN = null;
            UsuarioCAD        usuarioCAD       = null;
            UsuarioCEN        usuarioCEN       = null;



            UniDATESGenNHibernate.EN.UniDATES.PlanesPremiumEN result = null;



            try
            {
                SessionInitializeTransaction();
                planesPremiumCAD = new PlanesPremiumCAD(session);
                planesPremiumCEN = new PlanesPremiumCEN(planesPremiumCAD);



                usuarioCAD = new UsuarioCAD(session);
                usuarioCEN = new UsuarioCEN(usuarioCAD);



                UniDATESGenNHibernate.Enumerated.UniDATES.PlanesPremEnum oid;
                //Initialized PlanesPremiumEN
                PlanesPremiumEN planesPremiumEN;
                planesPremiumEN        = new PlanesPremiumEN();
                planesPremiumEN.IdPlan = p_idPlan;



                planesPremiumEN.Precio = p_precio;



                planesPremiumEN.Descripcion = p_descripcion;



                planesPremiumEN.Nombre = p_nombre;



                //Call to PlanesPremiumCAD



                oid = planesPremiumCAD.Pagar(planesPremiumEN);



                UsuarioEN usuarioEN = usuarioCEN.ReadOID(p_idUsuario);
                usuarioEN.Premium = true;



                usuarioCAD.ModifyDefault(usuarioEN);



                result = planesPremiumCAD.ReadOIDDefault(oid);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);



            /*PROTECTED REGION END*/
        }