public void AgregarSolicitudEntrega(SolicitudEntrega S, UsuarioEmpleado ULogueado)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.Cnn(ULogueado));

            SqlCommand oComando = new SqlCommand("SolicitudesDeEntregaAlta", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter _fechaEntrega = new SqlParameter("@FechaDeEntrega", S.FechaEntrega);
            SqlParameter _nomDest      = new SqlParameter("@NombreDestinatario", S.NombreDestinatario);
            SqlParameter _dirDest      = new SqlParameter("@DireccionDestinatario", S.DireccionDestinatario);
            SqlParameter _nomUsuEmp    = new SqlParameter("@NombreUsuarioEmpleado", S.Empleado.NombreUsuario);
            SqlParameter _Retorno      = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            oComando.Parameters.Add(_fechaEntrega);
            oComando.Parameters.Add(_nomDest);
            oComando.Parameters.Add(_dirDest);
            oComando.Parameters.Add(_nomUsuEmp);
            oComando.Parameters.Add(_Retorno);

            SqlTransaction _miTransaccion = null;

            try
            {
                oConexion.Open();
                _miTransaccion = oConexion.BeginTransaction();

                oComando.Transaction = _miTransaccion;
                oComando.ExecuteNonQuery();


                int numeroInterno = Convert.ToInt32(_Retorno.Value);

                if (numeroInterno == -1)
                {
                    throw new Exception(" El usuario que intenta asociar a la factura no existe ");
                }

                foreach (Paquete unPaquete in S.ListaPaquete)
                {
                    PersistenciaSolicitudPaquete.GetInstancia().AltaSolicitudPaquete(numeroInterno, unPaquete.CodigoBarras, _miTransaccion);
                }


                _miTransaccion.Commit();
            }
            catch (Exception ex)
            {
                _miTransaccion.Rollback();
                throw ex;
            }
            finally
            {
                oConexion.Close();
            }
        }
예제 #2
0
        public static PersistenciaSolicitudPaquete GetInstancia()
        {
            if (_instancia == null)
            {
                _instancia = new PersistenciaSolicitudPaquete();
            }

            return(_instancia);
        }
        public List <SolicitudEntrega> ListarSolicitudEntregaEmpresaLogueada(UsuarioEmpresa ULogueado)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.Cnn(ULogueado));

            SqlCommand oComando = new SqlCommand("SolicitudesDeEntregaListarPorEmpresa", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;
            SqlParameter _nomUsu = new SqlParameter("@NombreUsuario", ULogueado.NombreUsuario);

            oComando.Parameters.Add(_nomUsu);



            List <SolicitudEntrega> listSolicitud = new List <SolicitudEntrega>();

            try
            {
                oConexion.Open();
                SqlDataReader dr = oComando.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        int              numInt       = (int)dr["NumeroInterno"];
                        DateTime         fechaEntr    = (DateTime)dr["FechaDeEntrega"];
                        string           nombreDest   = dr["NombreDestinatario"].ToString();
                        string           dirDesti     = dr["DireccionDestinatario"].ToString();
                        string           estado       = dr["EstadoSolicitud"].ToString();
                        string           usuEmp       = dr["NombreUsuarioEmpleado"].ToString();
                        UsuarioEmpleado  empleado     = PersistenciaUsuarioEmpleado.GetInstancia().BuscarUsuarioEmpleadoTodos(usuEmp, ULogueado);
                        List <Paquete>   listaPaquete = PersistenciaSolicitudPaquete.GetInstancia().ListarPaquetesEnSolicitud(numInt, ULogueado);
                        SolicitudEntrega solicitud    = new SolicitudEntrega(numInt, fechaEntr, nombreDest, dirDesti, estado, empleado, listaPaquete);

                        listSolicitud.Add(solicitud);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                oConexion.Close();
            }

            return(listSolicitud);
        }
        public SolicitudEntrega BuscarSolicitudEntrega(int pNumeroInterno, UsuarioEmpleado ULogueado)
        {
            SqlConnection oConexion = new SqlConnection(Conexion.Cnn(ULogueado));

            SqlCommand oComando = new SqlCommand("SolicitudesDeEntregaBuscar", oConexion);

            oComando.CommandType = CommandType.StoredProcedure;

            SqlParameter _numInt  = new SqlParameter("@NumeroInterno", pNumeroInterno);
            SqlParameter _Retorno = new SqlParameter("@Retorno", SqlDbType.Int);

            _Retorno.Direction = ParameterDirection.ReturnValue;

            oComando.Parameters.Add(_numInt);
            oComando.Parameters.Add(_Retorno);

            SolicitudEntrega solicitud = null;

            try
            {
                oConexion.Open();
                SqlDataReader dr = oComando.ExecuteReader();

                if (dr.HasRows)
                {
                    dr.Read();

                    DateTime        fechaEntr    = (DateTime)dr["FechaDeEntrega"];
                    string          nombreDest   = dr["NombreDestinatario"].ToString();
                    string          dirDesti     = dr["DireccionDestinatario"].ToString();
                    string          estado       = dr["EstadoSolicitud"].ToString();
                    string          usuEmp       = dr["NombreUsuarioEmpleado"].ToString();
                    UsuarioEmpleado empleado     = PersistenciaUsuarioEmpleado.GetInstancia().BuscarUsuarioEmpleadoTodos(usuEmp, ULogueado);
                    List <Paquete>  listaPaquete = PersistenciaSolicitudPaquete.GetInstancia().ListarPaquetesEnSolicitud(pNumeroInterno, ULogueado);
                    solicitud = new SolicitudEntrega(pNumeroInterno, fechaEntr, nombreDest, dirDesti, estado, empleado, listaPaquete);

                    dr.Close();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                oConexion.Close();
            }
            return(solicitud);
        }