예제 #1
0
        public void AltaTramite(Tramite tramite, Empleado empLog)
        {
            SqlConnection  conexion    = null;
            SqlTransaction transaccion = null;

            try
            {
                conexion = new SqlConnection(Conexion.ObtenerCadenaConexion(empLog.Documento, empLog.Contrasenia));

                SqlCommand cmdAltaTramite = new SqlCommand("AltaTramite", conexion);
                cmdAltaTramite.CommandType = CommandType.StoredProcedure;

                cmdAltaTramite.Parameters.AddWithValue("@codigoTramite", tramite.CodigoTramite);
                cmdAltaTramite.Parameters.AddWithValue("@nombreTramite", tramite.NombreTramite);
                cmdAltaTramite.Parameters.AddWithValue("@descripcion", tramite.Descripcion);
                cmdAltaTramite.Parameters.AddWithValue("@precio", tramite.Precio);

                SqlParameter valorRetorno = new SqlParameter("@valorRetorno", SqlDbType.Int);
                valorRetorno.Direction = ParameterDirection.ReturnValue;
                cmdAltaTramite.Parameters.Add(valorRetorno);

                conexion.Open();

                transaccion = conexion.BeginTransaction();

                cmdAltaTramite.Transaction = transaccion;
                cmdAltaTramite.ExecuteNonQuery();

                switch ((int)valorRetorno.Value)
                {
                case -1:
                    throw new Exception("El tipo de trámite ya existe.");
                    break;

                case -2:
                    throw new Exception("Ocurrió un error al agregar el tipo de trámite.");
                    break;
                }

                PersistenciaExigen.BajaExigen(tramite, transaccion);
                foreach (Documentacion doc in tramite.DocumentacionExigida)
                {
                    PersistenciaExigen.AltaExigen(doc, tramite, transaccion);
                }

                transaccion.Commit();
            }
            catch (Exception ex)
            {
                transaccion.Rollback();
                throw new Exception(ex.Message);
            }
            finally
            {
                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
예제 #2
0
 public static PersistenciaExigen getInstancia()
 {
     if (_instancia == null)
     {
         _instancia = new PersistenciaExigen();
     }
     return(_instancia);
 }
예제 #3
0
        public List <Tramite> ListarTramites()
        {
            SqlConnection        conexion      = null;
            SqlDataReader        drTramite     = null;
            Tramite              tramite       = null;
            List <Tramite>       listaTramites = new List <Tramite>();
            List <Documentacion> documentacion = new List <Documentacion>();

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);
                SqlCommand cmdBuscarTramite = new SqlCommand("ListadoTramites", conexion);
                cmdBuscarTramite.CommandType = CommandType.StoredProcedure;


                conexion.Open();
                drTramite = cmdBuscarTramite.ExecuteReader();
                while (drTramite.Read())
                {
                    documentacion = PersistenciaExigen.getInstancia().listadoDocumentacionExigida((string)drTramite["codigoTramite"]);
                    tramite       = new Tramite((string)drTramite["codigoTramite"], (string)drTramite["nombreTramite"], (string)drTramite["descripcion"], (decimal)drTramite["precio"], documentacion, (bool)drTramite["activo"]);
                    listaTramites.Add(tramite);
                }
                return(listaTramites);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (drTramite != null)
                {
                    drTramite.Close();
                }
                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
예제 #4
0
        public Tramite BuscarTramiteAux(string codigoTramite, Usuario usLog)
        {
            SqlConnection        conexion      = null;
            SqlDataReader        drTramite     = null;
            Tramite              tramite       = null;
            List <Documentacion> documentacion = null;

            try
            {
                conexion = new SqlConnection(Conexion.ObtenerCadenaConexion(usLog.Documento, usLog.Contrasenia));
                SqlCommand cmdBuscarTramite = new SqlCommand("BuscarTramiteAux", conexion);
                cmdBuscarTramite.CommandType = CommandType.StoredProcedure;

                cmdBuscarTramite.Parameters.AddWithValue("@codigoTramite", codigoTramite);

                conexion.Open();
                drTramite = cmdBuscarTramite.ExecuteReader();
                if (drTramite.Read())
                {
                    documentacion = PersistenciaExigen.getInstancia().listadoDocumentacionExigida((string)drTramite["codigoTramite"]);
                    tramite       = new Tramite((string)drTramite["codigoTramite"], (string)drTramite["nombreTramite"], (string)drTramite["descripcion"], (decimal)drTramite["precio"], documentacion, (bool)drTramite["activo"]);
                }
                return(tramite);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                if (drTramite != null)
                {
                    drTramite.Close();
                }
                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }