/// <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); }
/// <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); }