/// <summary> /// Busca articuloProveedor por descripción de Articulo. Habría que hacerlo en el catálogo /// </summary> /// <param name="p_mod_articuloProveedores"></param> /// <returns></returns> private static List <ModeloArticuloProveedores> buscarArticuloProveedor_descripcionArticulo(ModeloArticuloProveedores p_mod_articuloProveedores) { /* * Para buscar articuloProveedor por descripcion de articulo empezamos buscando * todos los articulos que tengan esa descripcion por métodos de CatalogoArticulos */ ModeloArticulos lcl_mod_articulo = new ModeloArticulos(); lcl_mod_articulo.descripcion = "";//Falta determinar de donde sacar valor de descripcion //p_mod_articuloProveedores.; CatalogoArticulos lcl_cat_articulos = new CatalogoArticulos(); List <ModeloArticuloProveedores> lcl_lst_mod_articulosProveedores = new List <ModeloArticuloProveedores>(); ModeloArticuloProveedores lcl_mod_articuloProveedor = null; /* * Obtenemos codigoOriginal de cada articulo encontrado y * buscamos articulos de proveedores por métodos de CatalogoArticuloProveedores */ foreach (ModeloArticulos a in ControladorBusqueda.buscar(lcl_mod_articulo, Constantes.ParametrosBusqueda.Articulos.Descripcion)) { lcl_mod_articuloProveedor.codigoOriginal = a.codigoOriginal; foreach (ModeloArticuloProveedores ap in ControladorBusqueda.buscar(lcl_mod_articuloProveedor, Constantes.ParametrosBusqueda.ArticulosProveedores.CodigoOriginal)) { lcl_lst_mod_articulosProveedores.Add(ap); } } if (lcl_lst_mod_articulosProveedores.Count > 0) { return(lcl_lst_mod_articulosProveedores); } { return(null); } }
public bool bajarStock(ModeloLineaPedido p_lineaPedido) { ModeloArticuloProveedores lcl_mod_articuloProveedores = new ModeloArticuloProveedores() { codigoOriginal = p_lineaPedido.articulo.codigoOriginal, codigoArticuloProveedor = p_lineaPedido.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 lcl_mod_articuloProveedores.stockActual = lcl_mod_articuloProveedores.stockActual - p_lineaPedido.cantidadArticulos; //Excepcion si stock negativo y no esta permitido if (lcl_mod_articuloProveedores.stockActual < 0 && !p_lineaPedido.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 (!new ControladorModificacion().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); }
public void addArticulo(ModeloArticuloProveedores p_articulo, Int32 p_cantidad) { //le cambio el formato y lo agrego a la lista de articulos ya seleccionados ModeloLineaPedido lcl_mod_nuevaLinea = new ModeloLineaPedido(p_articulo, p_cantidad, this.tipoPedido); this.pedidoActual.addLineaPedido(lcl_mod_nuevaLinea); }
/// <summary> /// Se comunica con la capa de datos para realizar INSERT en la base de datos. /// </summary> /// <param name="p_mod_articuloProveedor"></param> /// <returns>true si se ha insertado, false y excepción si ha habido fallo</returns> public bool agregar(ModeloArticuloProveedores p_mod_articuloProveedor) { CatalogoArticuloProveedores lcl_cat_articuloProveedores = new CatalogoArticuloProveedores(); bool respuesta = false; try { using (TransactionScope scope = new TransactionScope()) { respuesta = lcl_cat_articuloProveedores.add(p_mod_articuloProveedor); 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 bool modificarValorArticulo(ModeloArticuloProveedores p_mod_articuloProveedor, string p_tipoValorArticulo) { CatalogoArticuloProveedores lcl_cat_articuloProveedores = new CatalogoArticuloProveedores(); bool respuesta = false; errorActual = "No se ha podido realizar la actualizacion."; try { using (TransactionScope scope = new TransactionScope()) { respuesta = lcl_cat_articuloProveedores.updateValor(p_mod_articuloProveedor, p_tipoValorArticulo); 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 static ModeloArticuloProveedores getOne(ModeloArticuloProveedores p_mod_articuloProveedor, string p_parametroBusqueda) { List <ModeloArticuloProveedores> lcl_lst_mod_articuloProveedor = ControladorBusqueda.buscar(p_mod_articuloProveedor, p_parametroBusqueda); if (lcl_lst_mod_articuloProveedor.Count > 0) { return(lcl_lst_mod_articuloProveedor[0]); } else { return(null); } }
/// <summary> /// Busca artículos de proveedores que cumplan con un parámetro de búsqueda /// </summary> /// <param name="p_mod_articuloProveedores">Proveedor con variable a buscar inicializada con algún valor</param> /// <param name="p_paramentroBusqueda">Constante dentro de LibreriaClasesCompartidas.Constantes.ParametrosBusqueda</param> /// <returns>Lista de artículos de proveedores</returns> public static List <ModeloArticuloProveedores> buscar(ModeloArticuloProveedores p_mod_articuloProveedores, string p_paramentroBusqueda) { CatalogoArticuloProveedores lcl_cat_articulosProveedores = new CatalogoArticuloProveedores(); switch (p_paramentroBusqueda) { case Constantes.ParametrosBusqueda.ArticulosProveedores.Descripcion: return(ControladorBusqueda.buscarArticuloProveedor_descripcionArticulo(p_mod_articuloProveedores)); default: return(lcl_cat_articulosProveedores.buscar(p_mod_articuloProveedores, p_paramentroBusqueda)); } }
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 void insertarDatosEnDataTableRow(DataRow row, ModeloArticuloProveedores p_articuloProveedor) { row["Código Original"] = p_articuloProveedor.codigoOriginal; row["Código Artículo Proveedor"] = p_articuloProveedor.codigoArticuloProveedor; row["Código Entidad"] = p_articuloProveedor.codigoEntidad.ToString(); row["Descripción"] = p_articuloProveedor.descripcionArticuloProveedor; row["Precio Compra"] = p_articuloProveedor.valorCompra.valorArticulo != null?p_articuloProveedor.valorCompra.valorArticulo.ToString() : null; row["Precio Venta"] = p_articuloProveedor.valorVenta.valorArticulo != null?p_articuloProveedor.valorVenta.valorArticulo.ToString() : null; row["Stock Mínimo"] = p_articuloProveedor.stockMinimo != null?p_articuloProveedor.stockMinimo.ToString() : null; row["Stock Actual"] = p_articuloProveedor.stockActual != null?p_articuloProveedor.stockActual.ToString() : null; row["Ubicación"] = p_articuloProveedor.ubicacion; row["Observaciones"] = p_articuloProveedor.observacionesArticuloProveedor; }
public bool eliminar(ModeloArticuloProveedores p_mod_articuloProveedor) { CatalogoArticuloProveedores lcl_cat_articuloProveedores = new CatalogoArticuloProveedores(); bool respuesta = false; errorActual = "No se ha podido realizar la eliminación."; try { using (TransactionScope scope = new TransactionScope()) { respuesta = lcl_cat_articuloProveedores.remove(p_mod_articuloProveedor); 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) { case 547: errorActual = "No es posible eliminar artículo ya que tiene pedidos o descuentos asociados."; break; default: errorActual = "SQLexception Message: " + ex.Message; break; } } catch (Exception ex) { errorActual = ex.Message; } return(respuesta); }
private List <ModeloArticuloProveedores> importarDatos_getModelosValoresArticulosProveedores(DataTable p_dataTable) { //ver si agregar a una lista diferente los que tienen precios null. Considerar la conexión a base de datos posterior List <ModeloArticuloProveedores> lcl_lst_mod_articulosProveedores = new List <ModeloArticuloProveedores>(); List <ModeloArticuloProveedores> lcl_lst_mod_articulosProveedores_noAgregados = new List <ModeloArticuloProveedores>(); ModeloArticuloProveedores lcl_mod_articuloProveedore; decimal dec_aux; decimal?dec_nullable_aux; foreach (DataRow row in p_dataTable.Rows) { lcl_mod_articuloProveedore = new ModeloArticuloProveedores(); lcl_mod_articuloProveedore.codigoOriginal = row["Código Original"].ToString(); lcl_mod_articuloProveedore.codigoArticuloProveedor = row["Código Artículo Proveedor"].ToString(); if (Transformar.ToDecimal(row["valor"].ToString(), out dec_aux)) { dec_nullable_aux = dec_aux; } else { dec_nullable_aux = null; //lcl_lst_mod_articulosProveedores_noAgregados.Add(lcl_mod_articuloProveedore); //continue; } if (esValorVenta) { lcl_mod_articuloProveedore.valorVenta.valorArticulo = dec_nullable_aux; } else { lcl_mod_articuloProveedore.valorCompra.valorArticulo = dec_nullable_aux; } lcl_lst_mod_articulosProveedores.Add(lcl_mod_articuloProveedore); } return(lcl_lst_mod_articulosProveedores); }
public bool subirStock(ModeloLineaPedido p_lineaPedido) { ModeloArticuloProveedores lcl_mod_articuloProveedores = new ModeloArticuloProveedores() { codigoOriginal = p_lineaPedido.articulo.codigoOriginal, codigoArticuloProveedor = p_lineaPedido.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 lcl_mod_articuloProveedores.stockActual = lcl_mod_articuloProveedores.stockActual + p_lineaPedido.cantidadArticulos; //Si hay error al modificar la base de datos agregando linea o modificando stock if (!this.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); }
/// <summary> /// Busca artículos proveedores y retorna cantidad encontrada /// </summary> /// <param name="p_categoriaBusquedaSeleccionada"></param> /// <param name="p_descripcionParcialArticulo"></param> /// <returns></returns> public int buscarArticulos(string p_categoriaBusquedaSeleccionada, string p_descripcionParcialArticulo) { var lcl_mod_ArticuloProveedor = new ModeloArticuloProveedores(); switch (p_categoriaBusquedaSeleccionada) { case Constantes.ParametrosBusqueda.ArticulosProveedores.CodigoOriginal: lcl_mod_ArticuloProveedor.codigoOriginal = p_descripcionParcialArticulo; break; case Constantes.ParametrosBusqueda.ArticulosProveedores.DescripcionArticuloProveedor: p_categoriaBusquedaSeleccionada = LibreriaClasesCompartidas.Constantes.ParametrosBusqueda.ArticulosProveedores.DescripcionAmbas; lcl_mod_ArticuloProveedor.descripcionArticuloProveedor = p_descripcionParcialArticulo; break; case Constantes.ParametrosBusqueda.ArticulosProveedores.CodigoArticuloProveedor: lcl_mod_ArticuloProveedor.codigoArticuloProveedor = p_descripcionParcialArticulo; break; default: return(0); } resultadoBusquedaArticulosProveedores = ControladorBusqueda.buscar(lcl_mod_ArticuloProveedor, p_categoriaBusquedaSeleccionada); return(resultadoBusquedaArticulosProveedores.Count); }
private List <ModeloArticuloProveedores> importarDatos_getModelosArticulosProveedores(DataTable p_dataTable) { List <ModeloArticuloProveedores> lcl_lst_mod_articulosProveedores = new List <ModeloArticuloProveedores>(); ModeloArticuloProveedores lcl_mod_articuloProveedor; int int_aux; decimal dec_aux; foreach (DataRow row in p_dataTable.Rows) { lcl_mod_articuloProveedor = new ModeloArticuloProveedores(); lcl_mod_articuloProveedor.codigoOriginal = row["Código Original"].ToString(); lcl_mod_articuloProveedor.codigoArticuloProveedor = row["Código Artículo Proveedor"].ToString(); if (Int32.TryParse(row["Código Entidad"].ToString(), out int_aux)) { lcl_mod_articuloProveedor.codigoEntidad = int_aux; } else { lcl_mod_articuloProveedor.codigoEntidad = 0; } lcl_mod_articuloProveedor.descripcionArticuloProveedor = string.IsNullOrWhiteSpace(row["Descripción"].ToString()) ? null : row["Descripción"].ToString(); if (Transformar.ToDecimal(row["Precio Compra"].ToString(), out dec_aux)) { lcl_mod_articuloProveedor.valorCompra.valorArticulo = dec_aux; } else { lcl_mod_articuloProveedor.valorCompra.valorArticulo = null; } if (Transformar.ToDecimal(row["Precio Venta"].ToString(), out dec_aux)) { lcl_mod_articuloProveedor.valorVenta.valorArticulo = dec_aux; } else { lcl_mod_articuloProveedor.valorVenta.valorArticulo = null; } if (Int32.TryParse(row["Stock Mínimo"].ToString(), out int_aux)) { lcl_mod_articuloProveedor.stockMinimo = int_aux; } else { lcl_mod_articuloProveedor.stockMinimo = null; } if (Int32.TryParse(row["Stock Actual"].ToString(), out int_aux)) { lcl_mod_articuloProveedor.stockActual = int_aux; } else { lcl_mod_articuloProveedor.stockActual = null; } lcl_mod_articuloProveedor.ubicacion = string.IsNullOrWhiteSpace(row["Ubicación"].ToString()) ? null : row["Ubicación"].ToString(); lcl_mod_articuloProveedor.observaciones = string.IsNullOrWhiteSpace(row["Observaciones"].ToString()) ? null : row["Observaciones"].ToString(); lcl_lst_mod_articulosProveedores.Add(lcl_mod_articuloProveedor); } return(lcl_lst_mod_articulosProveedores); }
public bool exists(ModeloArticuloProveedores p_articulo) { return(this.pedidoActual.existeLineaPedido(p_articulo)); }
/// <summary> /// Retorna todos los ArticulosProveedores de la base de datos /// </summary> /// <returns>Lista de Articulos de proveedores</returns> public static List <ModeloArticuloProveedores> getArticulosProveedores() { ModeloArticuloProveedores lcl_mod_articuloProveedor = new ModeloArticuloProveedores(); return(ControladorBusqueda.buscar(lcl_mod_articuloProveedor, Constantes.ParametrosBusqueda.All)); }
/// <summary> /// Retorna artículos de proveedores en base a los valores inicializados en los atributos del modelo /// </summary> /// <param name="p_mod_articuloProveedores"></param> /// <returns>Lista de Artículos de proveedores</returns> public static List <ModeloArticuloProveedores> buscar(ModeloArticuloProveedores p_mod_articuloProveedores) { CatalogoArticuloProveedores lcl_cat_articuloProveedores = new CatalogoArticuloProveedores(); return(lcl_cat_articuloProveedores.buscar(p_mod_articuloProveedores, Constantes.ParametrosBusqueda.Any)); }