Esempio n. 1
0
        /// <summary>
        /// Metodo empleado para insertar el registro Cliente especificado en el parametro de entrada
        /// Abarca una transaccion creando tambien el registro del objeto Domicilio asociado
        /// </summary>
        /// <param name="cliente">Objeto Cliente que se desea almacenar</param>
        /// <returns></returns>
        public int insertarCliente(Cliente cliente)
        {
            SqlCommand cmd = new SqlCommand("PACK_CLIENTES.PR_CLIENTES_A", getConexion());

            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            try
            {
                SqlParameter paramId = cmd.Parameters.Add("@p_id_cliente", SqlDbType.Int, 4);
                paramId.Direction = ParameterDirection.Output;

                cmd.Parameters.AddWithValue("@p_nombre", cliente.Nombre);
                cmd.Parameters.AddWithValue("@p_apellido", cliente.Apellido);
                cmd.Parameters.AddWithValue("@p_nro_documento", cliente.NroDocumento);
                cmd.Parameters.AddWithValue("@p_id_tipo_documento", cliente.TipoDocumento.IdTipoDocumento);
                cmd.Parameters.AddWithValue("@p_telefono", cliente.Telefono);
                cmd.Parameters.AddWithValue("@p_id_domicilio", cliente.Domicilio.IdDomicilio);
                cmd.Parameters.AddWithValue("@p_e_mail", cliente.EMail);
                cmd.Parameters.AddWithValue("@p_id_usuario", cliente.Usuario.IdUsuario);

                //Comenzamos la transaccion de Insertar un Cliente con su Domicilio
                cmd.Connection.BeginTransaction();

                //Almacenamos el objeto Domicilio del Cliente en la base de datos
                DomicilioDAL domicilioDAL = new DomicilioDAL();
                domicilioDAL.insertarDomicilio(cliente.Domicilio);

                //Almacenamos el objeto Cliente
                cmd.ExecuteNonQuery();

                //Realizamos un Commit de la Transaccion y luego cerramos la conexion
                cmd.Transaction.Commit();
                cmd.Connection.Close();

                return(Convert.ToInt16(paramId.Value));
            }
            catch (Exception e)
            {
                cmd.Transaction.Rollback();
                cmd.Connection.Close();
                throw e;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Metodo empleado para modificar el registro CLiente especificado en el parametro de entrada
        /// </summary>
        /// <param name="cliente">Objeto Cliente con los nuevos datos que se desean modificar</param>
        /// <returns></returns>
        public bool modificarCliente(Cliente cliente)
        {
            SqlCommand cmd = new SqlCommand("PACK_CLIENTES.PR_CLIENTES_M");

            cmd.CommandType = CommandType.StoredProcedure;

            try
            {
                cmd.Parameters.AddWithValue("@id_cliente", cliente.Nombre);
                cmd.Parameters.AddWithValue("@nombre", cliente.Nombre);
                cmd.Parameters.AddWithValue("@apellido", cliente.Apellido);
                cmd.Parameters.AddWithValue("@nro_documento", cliente.NroDocumento);
                cmd.Parameters.AddWithValue("@id_tipo_documento", cliente.TipoDocumento.IdTipoDocumento);
                cmd.Parameters.AddWithValue("@telefono", cliente.Telefono);
                cmd.Parameters.AddWithValue("@id_domicilio", cliente.Domicilio.IdDomicilio);
                cmd.Parameters.AddWithValue("@e_mail", cliente.EMail);
                cmd.Parameters.AddWithValue("@id_usuario", cliente.Usuario.IdUsuario);

                //Comenzamos la transaccion que incluye la modificacion del cliente y de su objeto domicilio en caso que corresponda
                cmd.Connection.BeginTransaction();

                //Modificamos el registro domicilio en caso de haber recibido modificaciones
                DomicilioDAL domicilioDAL = new DomicilioDAL();
                domicilioDAL.modificarDomicilio(cliente.Domicilio);

                cmd.ExecuteNonQuery();

                cmd.Transaction.Commit();
                cmd.Connection.Close();

                return(true);
            }
            catch (Exception e)
            {
                cmd.Transaction.Rollback();
                cmd.Connection.Close();
                throw e;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Metodo que permite obtener el objeto de la clase Domicilio especificado en el parametro de entrada
        /// </summary>
        /// <param name="idDomicilio"></param>
        /// <returns>Objeto Domicilio</returns>
        public static Domicilio getDomicilioPorID(int idDomicilio)
        {
            DomicilioDAL domicilioDAL = new DomicilioDAL();

            return(domicilioDAL.getDomicilioPorID(idDomicilio));
        }