public static void AgregarPedido(Pedido pedido) { SqlConnection conexion = null; try { conexion = new SqlConnection(Conexion.CadenaConexion); SqlCommand cmdAgregarPedido = new SqlCommand("AgregarPedido", conexion); cmdAgregarPedido.CommandType = CommandType.StoredProcedure; cmdAgregarPedido.Parameters.AddWithValue("@fecha", pedido.Fecha); cmdAgregarPedido.Parameters.AddWithValue("@precioTotal", pedido.PrecioTotal); cmdAgregarPedido.Parameters.AddWithValue("@enviado", pedido.Enviado); cmdAgregarPedido.Parameters.AddWithValue("@cedulaUsuario", pedido.Registrado.Cedula); SqlParameter numeroPedido = new SqlParameter("@numeroPedido", SqlDbType.Int); numeroPedido.Direction = ParameterDirection.Output; cmdAgregarPedido.Parameters.Add(numeroPedido); conexion.Open(); int filasAfectadas = cmdAgregarPedido.ExecuteNonQuery(); int numeroPedidoAgregado = Convert.ToInt32(numeroPedido.Value); List <LineaPedido> lineasPedido = pedido.LineasPedidos; foreach (LineaPedido lp in lineasPedido) { PersistenciaPedido.AgregarLineasDePedido(lp, numeroPedidoAgregado); Articulo artciulo = PersistenciaArticulo.Buscar(lp.PArticulo.CodigoBarras, false); artciulo.Stock = artciulo.Stock - lp.Cantidad; PersistenciaArticulo.Modificar(artciulo); } if (filasAfectadas < 1) { throw new ExcepcionPersistencia("Ocurrio un error al agregar el Pedido."); } } finally { if (conexion != null) { conexion.Close(); } } }
public static List <Pedido> ListarPedidosPorFecha(DateTime fechaInicio, DateTime fechaFin) { SqlConnection conexion = null; SqlDataReader drPedidoPorFecha = null; try { conexion = new SqlConnection(Conexion.CadenaConexion); SqlCommand cmdListarPedidosPorFecha = new SqlCommand("ListarPedidosPorFecha", conexion); cmdListarPedidosPorFecha.CommandType = CommandType.StoredProcedure; cmdListarPedidosPorFecha.Parameters.AddWithValue("@inicio", fechaInicio); cmdListarPedidosPorFecha.Parameters.AddWithValue("@fin", fechaFin); conexion.Open(); drPedidoPorFecha = cmdListarPedidosPorFecha.ExecuteReader(); List <Pedido> pedidosPorFecha = new List <Pedido>(); List <LineaPedido> LineasPedido; Pedido pedido; UsuarioRegistrado registrado; while (drPedidoPorFecha.Read()) { registrado = PersistenciaUsuarioRegistrado.Buscar((int)drPedidoPorFecha["CedulaUsuario"], false); LineasPedido = PersistenciaPedido.BuscarLineasPedido((int)drPedidoPorFecha["Numero"]); pedido = new Pedido((int)drPedidoPorFecha["Numero"], (DateTime)drPedidoPorFecha["Fecha"], (double)drPedidoPorFecha["PrecioTotal"], (bool)drPedidoPorFecha["Enviado"], registrado, LineasPedido); pedidosPorFecha.Add(pedido); } return(pedidosPorFecha); } finally { if (drPedidoPorFecha != null) { drPedidoPorFecha.Close(); } if (conexion != null) { conexion.Close(); } } }
public static List <Pedido> ListarPedidosEnviados() { SqlConnection conexion = null; SqlDataReader drPedidoEnviado = null; try { conexion = new SqlConnection(Conexion.CadenaConexion); SqlCommand cmdListarPedidosEnviados = new SqlCommand("ListarPedidosEnviados", conexion); cmdListarPedidosEnviados.CommandType = CommandType.StoredProcedure; conexion.Open(); drPedidoEnviado = cmdListarPedidosEnviados.ExecuteReader(); List <Pedido> pedidosEnviados = new List <Pedido>(); List <LineaPedido> LineasPedido; Pedido pedido; UsuarioRegistrado registrado; while (drPedidoEnviado.Read()) { registrado = PersistenciaUsuarioRegistrado.Buscar((int)drPedidoEnviado["CedulaUsuario"], false); LineasPedido = PersistenciaPedido.BuscarLineasPedido((int)drPedidoEnviado["Numero"]); pedido = new Pedido((int)drPedidoEnviado["Numero"], (DateTime)drPedidoEnviado["Fecha"], (double)drPedidoEnviado["PrecioTotal"], (bool)drPedidoEnviado["Enviado"], registrado, LineasPedido); pedidosEnviados.Add(pedido); } return(pedidosEnviados); } finally { if (drPedidoEnviado != null) { drPedidoEnviado.Close(); } if (conexion != null) { conexion.Close(); } } }
public static Pedido BuscarPedido(int numero) { SqlConnection conexion = null; SqlDataReader drPedido = null; try { conexion = new SqlConnection(Conexion.CadenaConexion); SqlCommand cmdBuscarPedido = new SqlCommand("BuscarPedido", conexion); cmdBuscarPedido.CommandType = CommandType.StoredProcedure; cmdBuscarPedido.Parameters.AddWithValue("@numero", numero); conexion.Open(); drPedido = cmdBuscarPedido.ExecuteReader(); Pedido pedido = new Pedido(); List <LineaPedido> lineasPedido; UsuarioRegistrado registrado; if (drPedido.Read()) { registrado = PersistenciaUsuarioRegistrado.Buscar((int)drPedido["CedulaUsuario"], false); lineasPedido = PersistenciaPedido.BuscarLineasPedido((int)drPedido["Numero"]); pedido = new Pedido((int)drPedido["Numero"], (DateTime)drPedido["Fecha"], (double)drPedido["PrecioTotal"], (bool)drPedido["Enviado"], registrado, lineasPedido); } return(pedido); } finally { if (drPedido != null) { drPedido.Close(); } if (conexion != null) { conexion.Close(); } } }
public static List <Pedido> ListarPedidosEnviadosXMedicamento(Int64 oRUC, int oCodigo) { Pedido oPed; List <Pedido> oLista = new List <Pedido>(); SqlDataReader oReader; SqlConnection oConexion = new SqlConnection(Conexion.STR); SqlCommand oComando = new SqlCommand("ListarPedidosEnviadosXMedicamento", oConexion); oComando.CommandType = CommandType.StoredProcedure; oComando.Parameters.AddWithValue("rucMedicamento", oRUC); oComando.Parameters.AddWithValue("codMedicamento", oCodigo); try { oConexion.Open(); oReader = oComando.ExecuteReader(); if (oReader.HasRows) { while (oReader.Read()) { int oNum = (int)oReader["numero"]; oPed = PersistenciaPedido.BuscarPorNumero(oNum); oLista.Add(oPed); } oReader.Close(); } } catch (Exception ex) { throw ex; } finally { oConexion.Close(); } return(oLista); }
public static List <Pedido> ListarTodo(string oCliente) { Pedido oPed; List <Pedido> oLista = new List <Pedido>(); SqlDataReader oReader; SqlConnection oConexion = new SqlConnection(Conexion.STR); SqlCommand oComando = new SqlCommand("ListarTodo", oConexion); oComando.CommandType = CommandType.StoredProcedure; oComando.Parameters.AddWithValue("cliente", oCliente); try { oConexion.Open(); oReader = oComando.ExecuteReader(); if (oReader.HasRows) { while (oReader.Read()) { int oNum = (int)oReader["numero"]; oPed = PersistenciaPedido.Buscar(oCliente, oNum); oLista.Add(oPed); } oReader.Close(); } } catch (Exception ex) { throw ex; } finally { oConexion.Close(); } return(oLista); }