コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        public bool agregarPedido(DO_Pedido pedido)
        {
            BL_Pedido blPedido = new BL_Pedido();

            pedido.fechaIngreso = DateTime.Now;
            pedido.estado       = "EN PROCESO";

            return(blPedido.registrarPedido(pedido));
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
ファイル: DAO_Pedido.cs プロジェクト: RonnyVenegas/PaisMio
        /// <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();
                }
            }
        }
コード例 #6
0
        /// <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();
                }
            }
        }
コード例 #7
0
        /// <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();
                }
            }
        }
コード例 #8
0
ファイル: BL_Pedido.cs プロジェクト: RonnyVenegas/PaisMio
        /// <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));
        }
コード例 #9
0
        public List <DO_SolicitudInsumos> listarSolicitudesPorPedido(DO_Pedido pedido)
        {
            BL_SolicitudInsumos blSolicitud = new BL_SolicitudInsumos();

            return(blSolicitud.listaSolicitudesPorPedido(pedido.codigo));
        }
コード例 #10
0
        public bool modificarEstado(DO_Pedido doPedido)
        {
            BL_Pedido blPedido = new BL_Pedido();

            return(blPedido.modificarEstado(doPedido.codigo, doPedido.estado));
        }
コード例 #11
0
        public bool despacharPedido(DO_Pedido doPedido)
        {
            BL_Pedido blPedido = new BL_Pedido();

            return(blPedido.despacharPedido(doPedido.codigo, doPedido.correoAdminDespacho, DateTime.Now, doPedido.estado));
        }