///// <summary>
        ///// Obtiene un AsuntoEstadoT a partir del id
        ///// </summary>
        //internal Models.AsuntoEstadoT Select()
        //{
        //    Models.AsuntoEstadoT oAsuntoEstadoT = null;
        //    IDataReader dr = null;

        //    try
        //    {


        //        dr = cDblib.DataReader("SUPER.IAP30_AsuntoEstadoT_SEL", dbparams);
        //        if (dr.Read())
        //        {
        //            oAsuntoEstadoT = new Models.AsuntoEstadoT();
        //            oAsuntoEstadoT.t600_idasunto=Convert.ToInt32(dr["t600_idasunto"]);
        //            oAsuntoEstadoT.t606_estado=Convert.ToByte(dr["t606_estado"]);
        //            if(!Convert.IsDBNull(dr["Estado"]))
        //                oAsuntoEstadoT.Estado=Convert.ToString(dr["Estado"]);
        //            oAsuntoEstadoT.t606_fecha=Convert.ToDateTime(dr["t606_fecha"]);
        //            oAsuntoEstadoT.t314_idusuario=Convert.ToInt32(dr["t314_idusuario"]);
        //            if(!Convert.IsDBNull(dr["nomRecurso"]))
        //                oAsuntoEstadoT.nomRecurso=Convert.ToString(dr["nomRecurso"]);

        //        }
        //        return oAsuntoEstadoT;

        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //    finally
        //    {
        //        if (dr != null)
        //        {
        //            if (!dr.IsClosed) dr.Close();
        //            dr.Dispose();
        //        }
        //    }
        //}

        ///// <summary>
        ///// Actualiza un AsuntoEstadoT a partir del id
        ///// </summary>
        //internal int Update(Models.AsuntoEstadoT oAsuntoEstadoT)
        //{
        //    try
        //    {
        //        SqlParameter[] dbparams = new SqlParameter[6] {
        //            Param(enumDBFields.t600_idasunto, oAsuntoEstadoT.t600_idasunto),
        //            Param(enumDBFields.t606_estado, oAsuntoEstadoT.t606_estado),
        //            Param(enumDBFields.Estado, oAsuntoEstadoT.Estado),
        //            Param(enumDBFields.t606_fecha, oAsuntoEstadoT.t606_fecha),
        //            Param(enumDBFields.t314_idusuario, oAsuntoEstadoT.t314_idusuario),
        //            Param(enumDBFields.nomRecurso, oAsuntoEstadoT.nomRecurso)
        //        };

        //        return (int)cDblib.Execute("SUPER.IAP30_AsuntoEstadoT_UPD", dbparams);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}

        ///// <summary>
        ///// Elimina un AsuntoEstadoT a partir del id
        ///// </summary>
        //internal int Delete()
        //{
        //    try
        //    {


        //        return (int)cDblib.Execute("SUPER.IAP30_AsuntoEstadoT_DEL", dbparams);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}

        ///// <summary>
        ///// Obtiene todos los AsuntoEstadoT
        ///// </summary>
        internal List <Models.AsuntoEstadoT> Catalogo(int t600_idasunto)
        {
            Models.AsuntoEstadoT        oAsuntoEstadoT = null;
            List <Models.AsuntoEstadoT> lst            = new List <Models.AsuntoEstadoT>();
            IDataReader dr = null;

            try
            {
                SqlParameter[] dbparams = new SqlParameter[1] {
                    Param(enumDBFields.t600_idasunto, t600_idasunto),
                };

                dr = cDblib.DataReader("SUP_ASUNTOESTADO_T_SByt600_idasunto", dbparams);
                while (dr.Read())
                {
                    oAsuntoEstadoT = new Models.AsuntoEstadoT();
                    oAsuntoEstadoT.t600_idasunto = Convert.ToInt32(dr["t600_idasunto"]);
                    oAsuntoEstadoT.t606_estado   = Convert.ToByte(dr["t606_estado"]);
                    if (!Convert.IsDBNull(dr["Estado"]))
                    {
                        oAsuntoEstadoT.Estado = Convert.ToString(dr["Estado"]);
                    }
                    oAsuntoEstadoT.t606_fecha     = Convert.ToDateTime(dr["t606_fecha"]);
                    oAsuntoEstadoT.t314_idusuario = Convert.ToInt32(dr["t314_idusuario"]);
                    if (!Convert.IsDBNull(dr["nomRecurso"]))
                    {
                        oAsuntoEstadoT.nomRecurso = Convert.ToString(dr["nomRecurso"]);
                    }

                    lst.Add(oAsuntoEstadoT);
                }
                return(lst);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (dr != null)
                {
                    if (!dr.IsClosed)
                    {
                        dr.Close();
                    }
                    dr.Dispose();
                }
            }
        }
        ///// <summary>
        ///// Inserta un AsuntoEstadoT
        ///// </summary>
        internal int Insert(Models.AsuntoEstadoT oAsuntoEstadoT)
        {
            try
            {
                SqlParameter[] dbparams = new SqlParameter[3] {
                    Param(enumDBFields.t600_idasunto, oAsuntoEstadoT.t600_idasunto),
                    Param(enumDBFields.t606_estado, oAsuntoEstadoT.t606_estado),
                    Param(enumDBFields.t314_idusuario, oAsuntoEstadoT.t314_idusuario),
                };

                return((int)cDblib.Execute("SUP_ASUNTOESTADO_T_I", dbparams));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        public int grabar(Models.AsuntoT DatosGenerales, List <Models.AsuntoRecursosT> Integrantes)
        {
            int  idReferencia;
            bool bConTransaccion = false;
            Guid methodOwnerID   = new Guid("5590F1B4-7073-4B5F-A4DB-9F301648D151");

            OpenDbConn();
            if (cDblib.Transaction.ownerID.Equals(new Guid()))
            {
                bConTransaccion = true;
            }
            if (bConTransaccion)
            {
                cDblib.beginTransaction(methodOwnerID);
            }
            try
            {
                DAL.AsuntoT         oAsunto          = new DAL.AsuntoT(cDblib);
                DAL.AsuntoEstadoT   oAsuntoEstadoDAL = new DAL.AsuntoEstadoT(cDblib);
                DAL.AsuntoRecursosT oRecursoDAL      = new DAL.AsuntoRecursosT(cDblib);

                Models.AsuntoEstadoT oAsuntoEstado = new Models.AsuntoEstadoT();

                oAsuntoEstado.t606_estado    = byte.Parse(DatosGenerales.T600_estado);
                oAsuntoEstado.t314_idusuario = (int)HttpContext.Current.Session["NUM_EMPLEADO_ENTRADA"];

                if (DatosGenerales.T600_idasunto == -1)
                {
                    idReferencia = oAsunto.Insert(DatosGenerales);

                    oAsuntoEstado.t600_idasunto = idReferencia;
                    oAsuntoEstadoDAL.Insert(oAsuntoEstado);
                }
                else
                {
                    oAsunto.Update(DatosGenerales);
                    idReferencia = DatosGenerales.T600_idasunto;

                    if (DatosGenerales.T600_estado_anterior != DatosGenerales.T600_estado)
                    {
                        oAsuntoEstado.t600_idasunto = idReferencia;
                        oAsuntoEstadoDAL.Insert(oAsuntoEstado);
                    }
                }

                foreach (Models.AsuntoRecursosT oRecurso in Integrantes)
                {
                    switch (oRecurso.accionBD)
                    {
                    case "I":
                        //Inserción
                        oRecurso.T600_idasunto = idReferencia;
                        oRecursoDAL.Insert(oRecurso);
                        break;

                    case "D":
                        //delete
                        oRecursoDAL.Delete(oRecurso);
                        break;

                    case "U":
                        //update
                        oRecursoDAL.Update(oRecurso);
                        break;
                    }
                }

                if (bConTransaccion)
                {
                    cDblib.commitTransaction(methodOwnerID);
                }

                return(idReferencia);
            }
            catch (Exception ex)
            {
                //rollback
                if (cDblib.Transaction.ownerID.Equals(new Guid()))
                {
                    cDblib.rollbackTransaction(methodOwnerID);
                }
                throw new Exception(ex.Message);
            }
            finally
            {
                //nota.Dispose();
            }
        }