/// <summary>
        /// Se comunica con la capa de datos para realizar INSERT en la base de datos.
        /// </summary>
        /// <param name="p_mod_pedido"></param>
        /// <returns>true si se ha insertado, false y excepción si ha habido fallo</returns>
        public bool agregar(ModeloPedido p_mod_pedido)
        {
            CatalogoPedidos lcl_cat_pedidos = new CatalogoPedidos();

            if (!p_mod_pedido.validar())
            {
                errorActual = "El pedido no es válido.";
                return(false);
            }

            bool respuesta = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    respuesta = lcl_cat_pedidos.add(ref p_mod_pedido) && this.agregarLineasPedido(p_mod_pedido);
                    if (!respuesta)
                    {
                        throw new Exception(errorActual);
                    }
                    scope.Complete();
                }
            }
            catch (TransactionAbortedException ex)
            {
                errorActual = "TransactionAbortedException Message: " + ex.Message;
            }
            catch (ApplicationException ex)
            {
                errorActual = "ApplicationException Message: " + ex.Message;
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                errorActual = "SQLexception Message: " + ex.Message;
            }
            catch (Exception ex)
            {
                errorActual = ex.Message;
            }

            return(respuesta);
        }
        public ModeloReporteEncabezado getEncabezado(Constantes.Reportes.Articulos p_reporte, List <DateTime> p_periodo, int p_cantidad)
        {
            CatalogoPedidos lcl_cat_pedidos = new CatalogoPedidos();

            switch (p_reporte)
            {
            case Constantes.Reportes.Articulos.ArticulosMasVendidos:
                return(lcl_cat_pedidos.getReporte(p_reporte, p_periodo, p_cantidad));

            case Constantes.Reportes.Articulos.DescuentosVigentes:
                return(this.getReporteDescuentosVigentes(DateTime.Today));

            case Constantes.Reportes.Articulos.InformeStock:
                return(this.getReporteStock());

            default:
                return(null);
            }
        }
        public bool eliminar(ModeloPedido p_mod_pedido)
        {
            CatalogoPedidos lcl_cat_pedidos = new CatalogoPedidos();
            bool            respuesta       = false;

            errorActual = "No se ha podido realizar la eliminación.";
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    respuesta = lcl_cat_pedidos.remove(p_mod_pedido) && this.devolverStock(p_mod_pedido);
                    scope.Complete();
                }
            }
            catch (TransactionAbortedException ex)
            {
                errorActual = "TransactionAbortedException Message: " + ex.Message;
            }
            catch (ApplicationException ex)
            {
                errorActual = "ApplicationException Message: " + ex.Message;
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                switch (ex.Number)
                {
                default:
                    errorActual = "SQLexception Message: " + ex.Message;
                    break;
                }
            }
            catch (Exception ex)
            {
                errorActual = ex.Message;
            }
            return(respuesta);
        }
        public bool agregarDevolucion(ModeloPedido p_mod_pedido, ModeloPedido p_mod_pedido_devuelto)
        {
            CatalogoPedidos lcl_cat_pedidos = new CatalogoPedidos();

            bool respuesta = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    respuesta = lcl_cat_pedidos.addDevolucion(p_mod_pedido, p_mod_pedido_devuelto);
                    if (!respuesta)
                    {
                        throw new Exception(errorActual);
                    }
                    scope.Complete();
                }
            }
            catch (TransactionAbortedException ex)
            {
                errorActual = "TransactionAbortedException Message: " + ex.Message;
            }
            catch (ApplicationException ex)
            {
                errorActual = "ApplicationException Message: " + ex.Message;
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                errorActual = "SQLexception Message: " + ex.Message;
            }
            catch (Exception ex)
            {
                errorActual = ex.Message;
            }

            return(respuesta);
        }
        /// <summary>
        /// Busca articulos que cumplan con un parámetro de búsqueda
        /// </summary>
        /// <param name="p_mod_pedido">Pedido con variable a buscar inicializada con algún valor</param>
        /// <param name="p_paramentroBusqueda">Constante dentro de LibreriaClasesCompartidas.Constantes.ParametrosBusqueda.Pedidos</param>
        /// <returns>Lista de pedidos</returns>
        public static List <ModeloPedido> buscar(ModeloPedido p_mod_pedido, string p_paramentroBusqueda)
        {
            CatalogoPedidos lcl_cat_articulos = new CatalogoPedidos();

            return(lcl_cat_articulos.buscarPedido(p_mod_pedido, p_paramentroBusqueda));
        }
        /// <summary>
        /// Retorna pedidos en base a los valores inicializados en los atributos del modelo
        /// </summary>
        /// <param name="p_mod_pedido"></param>
        /// <returns>Lista de pedidos</returns>
        public static List <ModeloPedido> buscar(ModeloPedido p_mod_pedido)
        {//sin uso
            CatalogoPedidos lcl_cat_articulos = new CatalogoPedidos();

            return(lcl_cat_articulos.buscarPedido(p_mod_pedido, Constantes.ParametrosBusqueda.Any));
        }
        /// <summary>
        /// Retorna todos los pedidos de la base de datos
        /// </summary>
        /// <returns>Lista de Pedidos</returns>
        public List <ModeloPedido> getPedidos()
        {
            CatalogoPedidos lcl_cat_articulos = new CatalogoPedidos();

            return(lcl_cat_articulos.buscarPedido(null, Constantes.ParametrosBusqueda.All));
        }
示例#8
0
        public static bool actualizarAprobacionAFIP(ModeloPedido p_mod_pedido)
        {
            CatalogoPedidos lcl_cat_pedidos = new CatalogoPedidos();

            return(lcl_cat_pedidos.updateAprobadoAFIP(p_mod_pedido));
        }
        public ModeloReporteEncabezado getEncabezado(Constantes.Reportes.Proveedores p_reporte, List <DateTime> p_periodo, ModeloProveedor p_proveedor, int p_cantidad)
        {
            CatalogoPedidos lcl_cat_pedidos = new CatalogoPedidos();

            return(lcl_cat_pedidos.getReporte(p_reporte, p_periodo, p_proveedor, p_cantidad));
        }