/// <summary>
        /// grabar TiposTareaPreventa
        /// </summary>
        internal List <Models.TipoTareaPreventa> GrabarTareas(DataTable dtTipoTareas)
        {
            Models.TipoTareaPreventa        oTipoTareaPreventa = null;
            List <Models.TipoTareaPreventa> lst = new List <Models.TipoTareaPreventa>();
            IDataReader dr = null;

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

                dr = cDblib.DataReader("SIC_TIPOTAREAPREVENTA_IUD", dbparams);
                while (dr.Read())
                {
                    oTipoTareaPreventa = new Models.TipoTareaPreventa();
                    oTipoTareaPreventa.ta219_idtipotareapreventa = Convert.ToInt16(dr["ta219_idtipotareapreventa"]);
                    oTipoTareaPreventa.ta219_denominacion        = Convert.ToString(dr["ta219_denominacion"]);
                    oTipoTareaPreventa.ta219_estadoactiva        = Convert.ToBoolean(dr["ta219_activa"]);

                    lst.Add(oTipoTareaPreventa);
                }
                return(lst);
            }

            catch (Exception ex)

            {
                throw ex;
            }
            finally
            {
                if (dr != null)
                {
                    if (!dr.IsClosed)
                    {
                        dr.Close();
                    }
                    dr.Dispose();
                }
            }
        }
        /// <summary>
        /// Obtiene todos los TipoTareaPreventa
        /// </summary>
        internal List <Models.TipoTareaPreventa> Catalogo()
        {
            Models.TipoTareaPreventa        oTipoTareaPreventa = null;
            List <Models.TipoTareaPreventa> lst = new List <Models.TipoTareaPreventa>();
            IDataReader dr = null;

            try
            {
                SqlParameter[] dbparams = new SqlParameter[0] {
                };

                dr = cDblib.DataReader("SIC_TipoTareaPreventa_CAT", dbparams);
                while (dr.Read())
                {
                    oTipoTareaPreventa = new Models.TipoTareaPreventa();
                    oTipoTareaPreventa.ta219_idtipotareapreventa = Convert.ToInt16(dr["ta219_idtipotareapreventa"]);
                    oTipoTareaPreventa.ta219_denominacion        = Convert.ToString(dr["ta219_denominacion"]);
                    oTipoTareaPreventa.ta219_estadoactiva        = Convert.ToBoolean(dr["ta219_activa"]);

                    lst.Add(oTipoTareaPreventa);
                }
                return(lst);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (dr != null)
                {
                    if (!dr.IsClosed)
                    {
                        dr.Close();
                    }
                    dr.Dispose();
                }
            }
        }
        /// <summary>
        /// Obtiene un TipoTareaPreventa a partir del id
        /// </summary>
        internal Models.TipoTareaPreventa Select(Int16 ta219_idtipotareapreventa)
        {
            Models.TipoTareaPreventa oTipoTareaPreventa = null;
            IDataReader dr = null;

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

                dr = cDblib.DataReader("SIC_TipoTareaPreventa_SEL", dbparams);
                if (dr.Read())
                {
                    oTipoTareaPreventa = new Models.TipoTareaPreventa();
                    oTipoTareaPreventa.ta219_idtipotareapreventa = Convert.ToInt16(dr["ta219_idtipotareapreventa"]);
                    oTipoTareaPreventa.ta219_denominacion        = Convert.ToString(dr["ta219_denominacion"]);
                    oTipoTareaPreventa.ta219_estadoactiva        = Convert.ToBoolean(dr["ta219_activa"]);
                }
                return(oTipoTareaPreventa);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (dr != null)
                {
                    if (!dr.IsClosed)
                    {
                        dr.Close();
                    }
                    dr.Dispose();
                }
            }
        }
        public List <Models.TipoTareaPreventa> Grabar(string sCadena)
        {
            //string sDesc = "";
            Models.TipoTareaPreventa        cTarea;
            List <Models.TipoTareaPreventa> lstTipoTareasPreventa = new List <Models.TipoTareaPreventa>();
            bool bConTransaccion = false;
            int  orden           = 0;
            Guid methodOwnerID   = new Guid("5562DB82-40CE-4F2E-9FE4-4261A276A6A0");

            OpenDbConn();
            if (cDblib.Transaction.ownerID.Equals(new Guid()))
            {
                bConTransaccion = true;
            }
            if (bConTransaccion)
            {
                cDblib.beginTransaction(methodOwnerID);
            }

            try
            {
                string[] aFun    = System.Text.RegularExpressions.Regex.Split(sCadena, "///");
                bool     bActiva = false;

                foreach (string oFun in aFun)
                {
                    string[] aValores = System.Text.RegularExpressions.Regex.Split(oFun, "##");
                    //0. Opcion BD. "I", "U", "D"
                    //1. ID Cualificador
                    //2. Descripcion
                    //3. Partida
                    //4. ON
                    //5. SUPER
                    //sDesc = Utilidades.unescape(aValores[2]);

                    if (aValores[3] == "1")
                    {
                        bActiva = true;
                    }
                    else
                    {
                        bActiva = false;
                    }
                    //sDesc = aValores[2];

                    if (aValores[0] != "D")
                    {
                        cTarea = new Models.TipoTareaPreventa();
                        cTarea.ta219_idtipotareapreventa = short.Parse(aValores[1]);
                        cTarea.ta219_denominacion        = aValores[2];
                        cTarea.ta219_orden        = orden++;
                        cTarea.ta219_estadoactiva = bActiva;

                        lstTipoTareasPreventa.Add(cTarea);
                    }

                    /*switch (aValores[0])
                     * {
                     *  case "I":
                     *      this.Insert(cAccion);
                     *      break;
                     *  case "U":
                     *      cAccion.ta205_idtipoaccionpreventa = short.Parse(aValores[1]);
                     *      this.Update(cAccion);
                     *      break;
                     *  case "D":
                     *      this.Delete(short.Parse(aValores[1]));
                     *      break;
                     * }*/
                }

                List <Models.TipoTareaPreventa> lstCatalogoResultado = this.GrabarListaTareas(lstTipoTareasPreventa);

                //Finalizar transacción
                if (cDblib.Transaction.ownerID.Equals(methodOwnerID))
                {
                    cDblib.commitTransaction(methodOwnerID);
                }

                return(lstCatalogoResultado);
            }
            catch (Exception ex)
            {
                //rollback
                if (cDblib.Transaction.ownerID.Equals(methodOwnerID))
                {
                    cDblib.rollbackTransaction(methodOwnerID);
                }

                throw ex;
            }finally
            {
                this.Dispose();
            }
        }