Example #1
0
        private bool importarDatos_agregarABaseDeDatos(Type T, DataTable p_dataTable)
        {
            List <object> lcl_lst_datos = this.importarDatos_getModelos(T, p_dataTable);

            if (lcl_lst_datos == null || lcl_lst_datos.Count < 1)
            {
                return(false);
            }

            if (T == typeof(ModeloValorArticulo))
            {
                string aux;
                if (esValorVenta)
                {
                    aux = LibreriaClasesCompartidas.Constantes.TipoValorArticulo.Venta;
                }
                else
                {
                    aux = LibreriaClasesCompartidas.Constantes.TipoValorArticulo.Compra;
                }

                ControladorModificacion lcl_con_modificacion = new ControladorModificacion();
                if (!lcl_con_modificacion.modificarValoresArticulos(lcl_lst_datos, aux))
                {
                    errorActual = lcl_con_modificacion.errorActual;
                    return(false);
                }
                return(true);
            }

            ControladorAlta lcl_con_alta = new ControladorAlta();

            return(lcl_con_alta.agregar(lcl_lst_datos));
        }
Example #2
0
        public bool recepcionarPedidos(List <ModeloPedido> p_lst_pedidos, out string mensaje)
        {
            ControladorModificacion lcl_con_modificacion = new ControladorModificacion();
            bool respuesta = lcl_con_modificacion.recepcionarPedidosProveedor(p_lst_pedidos);

            mensaje = respuesta?"Recepcion exitosa.":lcl_con_modificacion.errorActual;

            return(respuesta);
        }
        private bool agrearLineaPedido(ModeloLineaPedido p_mod_lineaPedido)
        {
            CatalogoLineasPedidos   lcl_cat_lineasPedidos = new CatalogoLineasPedidos();
            ControladorModificacion lcl_con_modificacion  = new ControladorModificacion();

            if (!lcl_cat_lineasPedidos.add(p_mod_lineaPedido))
            {
                throw new Exception();
            }
            return(true);
        }
        public bool devolverStock(ModeloPedido p_mod_pedido)
        {
            ModeloArticuloProveedores lcl_mod_articuloProveedores;
            ControladorModificacion   lcl_con_modificacion = new ControladorModificacion();

            if (p_mod_pedido.tipoComprobante != 0)
            {
                foreach (ModeloLineaPedido lp in p_mod_pedido.lineasPedido)
                {
                    //se debe modificar stock
                    lcl_mod_articuloProveedores = new ModeloArticuloProveedores();

                    lcl_mod_articuloProveedores.codigoOriginal          = lp.articulo.codigoOriginal;
                    lcl_mod_articuloProveedores.codigoArticuloProveedor = lp.articulo.codigoArticuloProveedor;

                    lcl_mod_articuloProveedores = ControladorBusqueda.getOne(lcl_mod_articuloProveedores, LibreriaClasesCompartidas.Constantes.ParametrosBusqueda.One);
                    //Si no se encuentra artículo tira excepción de índice
                    if (p_mod_pedido.tipoComprobante != 8 && p_mod_pedido.tipoComprobante != 3)//Se agrega para que cuando sea devolucion no suba Stock.
                    {
                        if (p_mod_pedido.tipoComprobante != 2001)
                        {
                            lcl_mod_articuloProveedores.stockActual = lcl_mod_articuloProveedores.stockActual + lp.cantidadArticulos;
                            //Excepcion si stock negativo y no esta permitido
                        }
                        else
                        {
                            lcl_mod_articuloProveedores.stockActual = lcl_mod_articuloProveedores.stockActual - lp.cantidadArticulos;
                            if (lcl_mod_articuloProveedores.stockActual < 0 && !lp.permitirStockNegativo)
                            {
                                errorActual = "La cantidad solicitada es mayor al stock actual para el artículo " + lcl_mod_articuloProveedores.getDescripciones() + ", " +
                                              lcl_mod_articuloProveedores.codigoArticuloProveedor;
                                return(false);
                            }
                        }

                        //Si hay error al modificar la base de datos agregando linea o modificando stock
                        if (!lcl_con_modificacion.modificar(lcl_mod_articuloProveedores))
                        {
                            errorActual = "Error al modificar stock en la base de datos de artículo " + lcl_mod_articuloProveedores.getDescripciones() + ", " +
                                          lcl_mod_articuloProveedores.codigoArticuloProveedor;
                            return(false);
                        }
                    }
                }
            }
            return(true);
        }
        private bool agregarLineasPedido(ModeloPedido p_mod_pedido)
        {
            foreach (ModeloLineaPedido lp in p_mod_pedido.lineasPedido)
            {
                this.agrearLineaPedido(lp);
            }

            if (p_mod_pedido.tipoComprobante == 1 || p_mod_pedido.tipoComprobante == 6)
            {
                ControladorModificacion lcl_con = new ControladorModificacion();

                foreach (ModeloLineaPedido lp in p_mod_pedido.lineasPedido)
                {
                    if (!lcl_con.bajarStock(lp))
                    {
                        errorActual = lcl_con.errorActual;
                        return(false);
                    }
                }
            }

            return(true);
        }