示例#1
0
        /// <summary>
        /// Metodo que busca si el mensajero tiene alguna factura en la base de datos
        /// </summary>
        /// <param name="IdMensajero">Mensajero al que se le va a buscar</param>
        /// <returns>Retorna una factura de las que el mensajero tenga</returns>
        public EncabezadoFactura ObtenerFacturaByIDMensajero(string IdMensajero)
        {
            EncabezadoFactura oEncabezado   = new EncabezadoFactura();
            IConexion         conexion      = new Conexion();
            IDALCliente       _DALCliente   = new DALCliente();
            IDALMensajero     _DALMensajero = new DALMensajero();
            IDALTarjeta       _DALTarjeta   = new DALTarjeta();
            DataSet           ds            = new DataSet();

            using (SqlConnection conn = conexion.conexion())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("select * from EncFactura where IDMensajero = @IdMensajero", conn);
                    cmd.Parameters.AddWithValue("@IdMensajero", IdMensajero);
                    SqlDataAdapter sda = new SqlDataAdapter(cmd);
                    sda.Fill(ds);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        DataRow dr = ds.Tables[0].Rows[0];

                        oEncabezado.IDEncFactura = dr["IDEncFactura"].ToString();
                        oEncabezado.Fecha        = Convert.ToDateTime(dr["Fecha"].ToString());
                        oEncabezado.oCliente     = _DALCliente.BuscarClienteID(dr["IDCliente"].ToString());
                        oEncabezado.oMensajero   = _DALMensajero.BuscarMensajeroID(dr["IDMensajero"].ToString());
                        oEncabezado.XML          = dr["XML"].ToString();
                        oEncabezado.oTarjeta     = _DALTarjeta.GetTarjetID(dr["IDTarjeta"].ToString());
                    }
                    else
                    {
                        oEncabezado = null;
                    }
                }
                catch (SqlException sqlError)
                {
                    StringBuilder msg = new StringBuilder();
                    msg.AppendFormat(Utilitarios.CreateSQLExceptionsErrorDetails(sqlError));
                    _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                    throw;
                }
                catch (Exception er)
                {
                    StringBuilder msg = new StringBuilder();
                    msg.AppendFormat(Utilitarios.CreateGenericErrorExceptionDetail(er));
                    _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                    throw;
                }
                finally
                {
                    conn.Close();
                }
            }
            return(oEncabezado);
        }
示例#2
0
        /// <summary>
        /// Método que obtiene la factura por número de factura
        /// </summary>
        /// <param name="numFact">Número de factura</param>
        /// <returns>Retorna la factura que coincida con el número</returns>
        public EncabezadoFactura ObtenerFactura(string numFact)
        {
            EncabezadoFactura oEncabezado     = new EncabezadoFactura();
            IConexion         conexion        = new Conexion();
            IDALCliente       _DALCliente     = new DALCliente();
            IDALMensajero     _DALMensajero   = new DALMensajero();
            IDALTarjeta       _DALTarjeta     = new DALTarjeta();
            IDALImpuesto      _DALImpuesto    = new DALImpuesto();
            IDALPrecioEnvio   _DALPrecioEnvio = new DALPrecioEnvio();
            DataSet           ds = new DataSet();

            using (SqlConnection conn = conexion.conexion())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("SELECT EncFactura.IDEncFactura, EncFactura.Fecha, EncFactura.IDCliente, EncFactura.IDMensajero, EncFactura.XML, EncFactura.IDTarjeta, DetFactura.NoFactura, DetFactura.Secuancial, DetFactura.Total, DetFactura.Cantidad, DetFactura.Kilometros, DetFactura.DescripcionRuta, DetFactura.Impuesto, DetFactura.DescripcionPaquete, DetFactura.TipoEnvio FROM EncFactura INNER JOIN DetFactura ON EncFactura.IDEncFactura = @IDEncabezado", conn);
                    cmd.Parameters.AddWithValue("@IDEncabezado", numFact);
                    SqlDataAdapter sda = new SqlDataAdapter(cmd);
                    sda.Fill(ds);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        DataRow dr = ds.Tables[0].Rows[0];

                        oEncabezado.IDEncFactura = dr["IDEncFactura"].ToString();
                        oEncabezado.Fecha        = Convert.ToDateTime(dr["Fecha"].ToString());
                        oEncabezado.oCliente     = _DALCliente.BuscarClienteID(dr["IDCliente"].ToString());
                        oEncabezado.oMensajero   = _DALMensajero.BuscarMensajeroID(dr["IDMensajero"].ToString());
                        oEncabezado.XML          = dr["XML"].ToString();
                        oEncabezado.oTarjeta     = _DALTarjeta.GetTarjetID(dr["IDTarjeta"].ToString());

                        foreach (var item in ds.Tables[0].Rows)
                        {
                            DetFactura oFacturaDetalle = new DetFactura();
                            oFacturaDetalle.NoFactura          = dr["NoFactura"].ToString();
                            oFacturaDetalle.Secuencial         = int.Parse(dr["Secuancial"].ToString());
                            oFacturaDetalle.Total              = double.Parse(dr["Total"].ToString());
                            oFacturaDetalle.CantidadPaquetes   = Convert.ToInt32(dr["Cantidad"].ToString());
                            oFacturaDetalle.CantidadKilometros = Convert.ToInt32(dr["Kilometros"].ToString());
                            oFacturaDetalle.DescripcionRuta    = dr["DescripcionRuta"].ToString();
                            foreach (Impuesto impuesto in _DALImpuesto.ObtenerImpuesto())
                            {
                                oFacturaDetalle.Impuesto += impuesto.Valor;
                            }
                            oFacturaDetalle.DescripcionPaquete = dr["DescripcionPaquete"].ToString();
                            oFacturaDetalle.TipoEnvio          = _DALPrecioEnvio.MostrarXID(dr["TipoEnvio"].ToString());
                            oEncabezado.AgregrarDetalle(oFacturaDetalle);
                        }
                    }
                    else
                    {
                        oEncabezado = null;
                    }
                }
                catch (SqlException sqlError)
                {
                    StringBuilder msg = new StringBuilder();
                    msg.AppendFormat(Utilitarios.CreateSQLExceptionsErrorDetails(sqlError));
                    _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                    throw;
                }
                catch (Exception er)
                {
                    StringBuilder msg = new StringBuilder();
                    msg.AppendFormat(Utilitarios.CreateGenericErrorExceptionDetail(er));
                    _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                    throw;
                }
                finally
                {
                    conn.Close();
                }
            }
            return(oEncabezado);
        }