Inheritance: ENTBase
Exemple #1
0
        ///<remarks>
        ///   <name>BPVisita.InsertVisita</name>
        ///   <create>06-Julio-2014</create>
        ///   <author>Ruben.Cobos</author>
        ///</remarks>
        ///<summary>Inserta una nueva visita</summary>
        ///<param name="oENTVisita">Entidad de Visita con los parámetros necesarios para realizar la transacción</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse InsertVisita(ENTVisita oENTVisita)
        {
            DAVisita oDAVisita = new DAVisita();
            ENTResponse oENTResponse = new ENTResponse();

            try
            {

                // Transacción en base de datos
                oENTResponse = oDAVisita.InsertVisita(oENTVisita, this.sConnectionApplication, 0);

                // Validación de error en consulta
                if (oENTResponse.GeneratesException) { return oENTResponse; }

                // Validación de mensajes de la BD
                oENTResponse.sMessage = oENTResponse.dsResponse.Tables[0].Rows[0]["sResponse"].ToString();
                if (oENTResponse.sMessage != "") { return oENTResponse; }

            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }

            // Resultado
            return oENTResponse;
        }
Exemple #2
0
        ///<remarks>
        ///   <name>DAVisita.InsertVisita</name>
        ///   <create>06-Julio-2014</create>
        ///   <author>Ruben.Cobos</author>
        ///</remarks>
        ///<summary>Inserta una visita</summary>
        ///<param name="oENTVisita">Entidad de Visita con los parámetros necesarios para crear la relación</param>
        ///<param name="sConnection">Cadena de conexión a la base de datos</param>
        ///<param name="iAlternateDBTimeout">Valor en milisegundos del Timeout en la consulta a la base de datos. 0 si se desea el Timeout por default</param>
        ///<returns>Una entidad de respuesta</returns>
        public ENTResponse InsertVisita(ENTVisita oENTVisita, String sConnection, Int32 iAlternateDBTimeout)
        {
            SqlConnection sqlCnn = new SqlConnection(sConnection);
            SqlCommand sqlCom;
            SqlParameter sqlPar;
            SqlDataAdapter sqlDA;

            ENTResponse oENTResponse = new ENTResponse();

            // Configuración de objetos
            sqlCom = new SqlCommand("uspVisita_Ins", sqlCnn);
            sqlCom.CommandType = CommandType.StoredProcedure;

            // Timeout alternativo en caso de ser solicitado
            if (iAlternateDBTimeout > 0) { sqlCom.CommandTimeout = iAlternateDBTimeout; }

            // Parametros
            sqlPar = new SqlParameter("UsuarioId", SqlDbType.Int);
            sqlPar.Value = oENTVisita.UsuarioId;
            sqlCom.Parameters.Add(sqlPar);

            sqlPar = new SqlParameter("AreaId", SqlDbType.Int);
            sqlPar.Value = oENTVisita.AreaId;
            sqlCom.Parameters.Add(sqlPar);

            sqlPar = new SqlParameter("MotivoId", SqlDbType.Int);
            sqlPar.Value = oENTVisita.MotivoId;
            sqlCom.Parameters.Add(sqlPar);

            sqlPar = new SqlParameter("UsuarioIdInsert", SqlDbType.Int);
            sqlPar.Value = oENTVisita.UsuarioIdInsert;
            sqlCom.Parameters.Add(sqlPar);

            sqlPar = new SqlParameter("Observaciones", SqlDbType.VarChar);
            sqlPar.Value = oENTVisita.Observaciones;
            sqlCom.Parameters.Add(sqlPar);

            sqlPar = new SqlParameter("tblCiudadano", SqlDbType.Structured);
            sqlPar.Value = oENTVisita.tblCiudadano;
            sqlCom.Parameters.Add(sqlPar);

            // Inicializaciones
            oENTResponse.dsResponse = new DataSet();
            sqlDA = new SqlDataAdapter(sqlCom);

            // Transacción
            try{
                sqlCnn.Open();
                sqlDA.Fill(oENTResponse.dsResponse);
                sqlCnn.Close();
            }catch (SqlException sqlEx){
                oENTResponse.ExceptionRaised(sqlEx.Message);
            }catch (Exception ex){
                oENTResponse.ExceptionRaised(ex.Message);
            }finally{
                if (sqlCnn.State == ConnectionState.Open) { sqlCnn.Close(); }
                sqlCnn.Dispose();
            }

            // Resultado
            return oENTResponse;
        }
        void InsertVisita()
        {
            BPVisita BPVisita = new BPVisita();

            ENTResponse oENTResponse = new ENTResponse();
            ENTVisita oENTVisita = new ENTVisita();
            ENTSession oENTSession;

            DataTable tblCiudadano = null;
            DataRow rowCiudadano;

            try
            {

                // Obtener el DataTable del grid
                tblCiudadano = gcParse.GridViewToDataTable(this.gvCiudadano, false);

                // Validaciones
                if (this.ddlArea.SelectedValue == "0") { throw new Exception("El campo [Área] es requerido"); }
                if (this.ddlUsuario.SelectedValue == "0") { throw new Exception("El campo [Usuario] es requerido"); }
                if (this.ddlMotivo.SelectedValue == "0") { throw new Exception("El campo [Motivo] es requerido"); }
                if (tblCiudadano.Rows.Count == 0) { throw (new Exception("Es necesario seleccionar un Ciudadano")); }
                if (this.ckeObservaciones.Text.Trim() == "") { throw new Exception("El campo [Detalle de visita] es requerido"); }

                // Obtener la sesión
                oENTSession = (ENTSession)this.Session["oENTSession"];

                //Formulario
                oENTVisita.AreaId = Int32.Parse(this.ddlArea.SelectedValue);
                oENTVisita.UsuarioId = Int32.Parse(this.ddlUsuario.SelectedValue);
                oENTVisita.MotivoId = Int32.Parse(this.ddlMotivo.SelectedValue);
                oENTVisita.UsuarioIdInsert = oENTSession.idUsuario;
                oENTVisita.Observaciones = this.ckeObservaciones.Text.Trim();

                // Ciudadanoes seleccionadas
                oENTVisita.tblCiudadano = new DataTable("tblCiudadano");
                oENTVisita.tblCiudadano.Columns.Add("CiudadanoId", typeof(Int32));

                foreach(DataRow oDataRow in tblCiudadano.Rows){

                    rowCiudadano = oENTVisita.tblCiudadano.NewRow();
                    rowCiudadano["CiudadanoId"] = oDataRow["CiudadanoId"];
                    oENTVisita.tblCiudadano.Rows.Add(rowCiudadano);
                }

                //Transacción
                oENTResponse = BPVisita.InsertVisita(oENTVisita);

                //Validación
                if (oENTResponse.GeneratesException) { throw new Exception(oENTResponse.sErrorMessage); }

                if (oENTResponse.sMessage != ""){
                    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('" + gcJavascript.ClearText(oENTResponse.sMessage) + "');", true);
                    return;
                }

                // Transacción exitosa
                Clear();

                //Mensaje de usuario
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "alert('Visita registrada con éxito'); focusControl('" + this.ddlArea.ClientID + "');", true);

            }catch (Exception ex){
                throw (ex);
            }
        }