/// <summary> /// Método para guardar un nuevo pedido /// </summary> /// <param name="pedido">El pedido a guardar</param> /// <returns>(True) si se guardó el pedido. (False) si no se guardó.</returns> public bool registrarPedido(DO_Pedido pedido) { DAO_Pedido daoPedido = new DAO_Pedido(); pedido.listaProductos = unificarLista(pedido.listaProductos); return(daoPedido.guardarPedido(pedido)); }
/// <summary> /// Método para obtener los pedidos despachados en un mes determinado. /// </summary> /// <param name="mes">Mes de los pedidos a buscar (int)</param> /// <param name="anho">Año del pedido a buscar(int)</param> /// <returns>Lista de pedidos en el mes especificado</returns> public DO_ReportePedido reportePedidos(String inicio, String final) { DO_ReportePedido reportePedido = new DO_ReportePedido(); reportePedido.listaPedidos = new List <DO_Pedido>(); SqlCommand comandoBuscar = new SqlCommand("SELECT PEDIDO.PED_CODIGO, CLIENTE.CLI_NOMBRE, " + "PEDIDO.ESTADO, PEDIDO.OPE_CORREO,PEDIDO.ADM_OPE_CORREO," + "PEDIDO.PED_FECHA_INGRESO,PEDIDO.PED_FECHA_DESPACHO FROM PEDIDO, CLIENTE " + "WHERE PEDIDO.CLI_CEDULA = CLIENTE.CLI_CEDULA " + "AND PEDIDO.PED_FECHA_DESPACHO BETWEEN CONVERT(datetime, @fechaInicio) AND CONVERT(datetime, @fechaFinal)", conexion); comandoBuscar.Parameters.AddWithValue("@fechaInicio", inicio); comandoBuscar.Parameters.AddWithValue("@fechaFinal", final); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } SqlDataReader lector = comandoBuscar.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { DO_Pedido doPedido = new DO_Pedido(); doPedido.codigo = Convert.ToInt32(lector["PED_CODIGO"]); doPedido.cliente = new DO_Cliente(); doPedido.cliente.nombre = (string)lector["CLI_NOMBRE"]; doPedido.correoAdminIngreso = (string)lector["OPE_CORREO"]; doPedido.correoAdminDespacho = (string)lector["ADM_OPE_CORREO"]; doPedido.fechaIngreso = (DateTime)lector["PED_FECHA_INGRESO"]; doPedido.fechaDespacho = (DateTime)lector["PED_FECHA_DESPACHO"]; doPedido.estado = (String)lector["ESTADO"]; reportePedido.listaPedidos.Add(doPedido); } } } catch (SqlException) { return(null); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } DAO_Pais_Mio daoPaisMio = new DAO_Pais_Mio(); reportePedido.infoPaisMio = daoPaisMio.obtenerDatos(); obtenerProductos(reportePedido.listaPedidos); //Se envía la lista de pedidos al método encargado de asignar los respectivos productos con los pedidos. return(reportePedido); }
public bool agregarPedido(DO_Pedido pedido) { BL_Pedido blPedido = new BL_Pedido(); pedido.fechaIngreso = DateTime.Now; pedido.estado = "EN PROCESO"; return(blPedido.registrarPedido(pedido)); }
/// <summary> /// Método para agregar los productos contenidos en el pedido /// </summary> /// <param name="pedido">El pedido con sus respectivos productos</param> /// <returns>(True) si la operación se realizó correctamente. (False) si no se registraron los cambios</returns> public bool agregarProductos(DO_Pedido pedido) { String comandoInsertarProductos = "INSERT INTO PED_POSEE_PRO(PRO_CODIGO, PED_CODIGO, PPP_CANTIDAD) VALUES "; if (pedido.listaProductos.Count != 0) { foreach (DO_ProductoEnPedido producto in pedido.listaProductos) { comandoInsertarProductos += "(" + producto.producto.codigo + ", " + pedido.codigo + ", " + producto.cantidad + "),"; } } else { return(false); } comandoInsertarProductos = comandoInsertarProductos.Substring(0, comandoInsertarProductos.Length - 1); SqlCommand comandoInsertar = new SqlCommand(comandoInsertarProductos, conexion); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } if (comandoInsertar.ExecuteNonQuery() > 0) { return(true); } } catch (SqlException) { return(false); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } return(false); }
/// <summary> /// Método para agregar un nuevo pedido a la base de datos, se encarga de llamar al método para agregar los productos relacionados con el pedido /// </summary> /// <param name="pedido">El nuevo pedido a registrar</param> /// <returns>(True) si la operación se realizó correctamente. (False) si no se registró el pedido</returns> public bool guardarPedido(DO_Pedido pedido) { SqlCommand comandoInsertar = new SqlCommand("INSERT INTO PEDIDO (CLI_CEDU , OPE_CORREO, ESTADO" + ", PED_FECHA_INGRESO) VALUES (@cedula,@correoAdmin,@estado, @fechaIngreso)", conexion); comandoInsertar.Parameters.AddWithValue("@cedula", pedido.cedulaCliente); comandoInsertar.Parameters.AddWithValue("@correoAdmin", pedido.correoAdminIngreso); comandoInsertar.Parameters.AddWithValue("@estado", pedido.estado); comandoInsertar.Parameters.AddWithValue("@fechaIngreso", pedido.fechaIngreso.ToString("dd/MM/yyyy")); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } if (comandoInsertar.ExecuteNonQuery() > 0) { SqlCommand obtenerCodigo = new SqlCommand("SELECT PED_CODIGO FROM PEDIDO ORDER BY PED_CODIGO DESC"); pedido.codigo = (int)obtenerCodigo.ExecuteScalar(); } if (!agregarProductos(pedido)) { eliminarPedido(pedido.codigo); //Si no se agregaron todos los productos entonces se elimina el pedido y se devuelve false. return(false); } return(true); } catch (SqlException) { return(false); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
/// <summary> /// Método para buscar todos los pedidos. /// </summary> /// <returns>Lista con todos los pedidos</returns> public List <DO_Pedido> listarPedidosTotales() { SqlCommand comandoConsultar = new SqlCommand("SELECT * FROM PEDIDO", conexion); DAO_Cliente daoCliente = new DAO_Cliente(); List <DO_Pedido> listaPedidos = new List <DO_Pedido>(); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } SqlDataReader lector = comandoConsultar.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { DO_Pedido pedido = new DO_Pedido(); pedido.codigo = Convert.ToInt32(lector["PED_CODIGO"]); pedido.cliente = daoCliente.buscarCliente((String)(lector["CLI_CEDULA"])); pedido.correoAdminIngreso = (String)(lector["OPE_CORREO"]); pedido.fechaIngreso = (DateTime)(lector["PED_FECHA_INGRESO"]); pedido.estado = (String)(lector["ESTADO"]); if (lector["ADM_OPE_CORREO"] is System.DBNull) { pedido.correoAdminDespacho = ""; } else { pedido.correoAdminDespacho = (String)(lector["ADM_OPE_CORREO"]); } if (lector["PED_FECHA_DESPACHO"] is System.DBNull) { pedido.fechaDespacho = null; } else { pedido.fechaDespacho = (DateTime)(lector["PED_FECHA_DESPACHO"]); } listaPedidos.Add(pedido); } } conexion.Close(); foreach (DO_Pedido pedidoEnLista in listaPedidos) { pedidoEnLista.listaProductos = listaProductos(pedidoEnLista.codigo); } return(listaPedidos); } catch (SqlException) { return(null); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
/// <summary> /// Método para consultar los datos de un determinado pedido /// </summary> /// <param name="codigoPedido">Código del pedido a buscar (Int32)</param> /// <returns>El pedido con sus respetivos detalles (DO_Pedido)</returns> public DO_Pedido consultarDetalles(Int32 codigoPedido) { SqlCommand comandoConsultar = new SqlCommand("SELECT * FROM PEDIDO WHERE PED_CODIGO = @codigo", conexion); DAO_Cliente daoCliente = new DAO_Cliente(); DO_Pedido pedido = new DO_Pedido(); comandoConsultar.Parameters.AddWithValue("codigo", codigoPedido); try { if (conexion.State != ConnectionState.Open) { conexion.Open(); } SqlDataReader lector = comandoConsultar.ExecuteReader(); if (lector.HasRows) { while (lector.Read()) { pedido.codigo = Convert.ToInt32(lector["PED_CODIGO"]); pedido.cliente = daoCliente.buscarCliente((String)(lector["CLI_CEDULA"])); pedido.correoAdminIngreso = (String)(lector["OPE_CORREO"]); pedido.fechaIngreso = (DateTime)(lector["PED_FECHA_INGRESO"]); pedido.estado = (String)(lector["ESTADO"]); if (lector["ADM_OPE_CORREO"] is System.DBNull) { pedido.correoAdminDespacho = ""; } else { pedido.correoAdminDespacho = (String)(lector["ADM_OPE_CORREO"]); } if (lector["PED_FECHA_DESPACHO"] is System.DBNull) { pedido.fechaDespacho = null; } else { pedido.fechaDespacho = (DateTime)(lector["PED_FECHA_DESPACHO"]); } } } conexion.Close(); pedido.listaProductos = listaProductos(codigoPedido); return(pedido); } catch (SqlException) { return(null); } finally { if (conexion.State != ConnectionState.Closed) { conexion.Close(); } } }
/// <summary> /// Método para guardar un nuevo pedido /// </summary> /// <param name="pedido">El pedido a guardar</param> /// <returns>(True) si se guardó el pedido. (False) si no se guardó.</returns> public bool registrarPedido(DO_Pedido pedido) { DAO_Pedido daoPedido = new DAO_Pedido(); return(daoPedido.guardarPedido(pedido)); }
public List <DO_SolicitudInsumos> listarSolicitudesPorPedido(DO_Pedido pedido) { BL_SolicitudInsumos blSolicitud = new BL_SolicitudInsumos(); return(blSolicitud.listaSolicitudesPorPedido(pedido.codigo)); }
public bool modificarEstado(DO_Pedido doPedido) { BL_Pedido blPedido = new BL_Pedido(); return(blPedido.modificarEstado(doPedido.codigo, doPedido.estado)); }
public bool despacharPedido(DO_Pedido doPedido) { BL_Pedido blPedido = new BL_Pedido(); return(blPedido.despacharPedido(doPedido.codigo, doPedido.correoAdminDespacho, DateTime.Now, doPedido.estado)); }