private void btnAgregarArticulo_Click(object sender, EventArgs e) { if (articuloTemporal == null) { articuloTemporal = new ArticuloXLocalBL().FindByCodigoBarras(txtCodigoArticulo.Text, empleado.Local); if (articuloTemporal == null) { Utils.Utils.Error(null, "No existe dicho artículo para este local"); return; } } DocumentoLinea documentoLinea = new DocumentoLinea(); documentoLinea.ArticuloXLocal = articuloTemporal; documentoLinea.Cantidad = (int)nruCantidad.Value; documentoLinea.CantidadDevuelta = 0; float indIGV = (float)(articuloTemporal.Articulo.IndIGV == "S" ? 0.19 : 0); documentoLinea.Impuesto = (float)1 + indIGV; documentoLinea.PrecioLinea = articuloTemporal.Articulo.PrecioVenta * (int)documentoLinea.Cantidad; lineasDocumento.Add(documentoLinea); double subtotal = documentoLinea.PrecioLinea; object[] row = { articuloTemporal.Articulo.CodigoArticulo, articuloTemporal.Articulo.Titulo, articuloTemporal.Articulo.Tipo, nruCantidad.Value.ToString(), articuloTemporal.Articulo.PrecioVenta.ToString(), subtotal.ToString() }; dgvArticulos.Rows.Add(row); }
public void Actualizar(ArticuloXLocal articuloXLocal) { new ArticuloXLocalDA().SaveOrUpdate(articuloXLocal); if (articuloXLocal.Cantidad < 0) { Movimiento mov = new Movimiento(); mov.Fecha = DateTime.Today; mov.Local = articuloXLocal.Local; new MovimientoBL().Grabar(mov); Incidencia incidencia = new Incidencia(); incidencia.NroMovimiento = mov; incidencia.DescripcionAdicional = articuloXLocal.Id.ToString() + articuloXLocal.Cantidad.ToString() +" FUERA DE RANGO DE STOCK"; incidencia.Estado = "Creada"; incidencia.Fecha = DateTime.Today; incidencia.Local = articuloXLocal.Local; incidencia.TipoIncidencia = "Ajuste"; new IncidenciaBL().Grabar(incidencia); IncidenciaLinea linea = new IncidenciaLinea(); linea.Cantidad = 1; linea.NroIncidencia = incidencia; new IncidenciaLineaBL().Grabar(linea); } }
private bool articuloIngresado(ArticuloXLocal art) { foreach (SolicitudTransferenciaLinea linea in lineas) { if (linea.ArticuloXLocal.Id == art.Id) return true; } return false; }
public int GetCantidad(Transferencia trans, ArticuloXLocal artxlocal) { List<string> properties = new List<string>(); List<object> values = new List<object>(); properties.Add("NroTransferencia"); properties.Add("ArticuloXLocal"); values.Add(trans.Id); values.Add(artxlocal.Id); TransferenciaLinea translinea = new TransferenciaLineaDA().FindByProperties(properties, values)[0]; int cant = translinea.CantidadArticulosAprob.Value; return cant; }
public void Actualizar(ArticuloXLocal articuloXLocal) { new ArticuloXLocalDA().SaveOrUpdate(articuloXLocal); if (articuloXLocal.Cantidad < 0) { Incidencia incidencia = new Incidencia(); incidencia.DescripcionAdicional = "AUTO-" + articuloXLocal.Articulo.CodigoArticulo.ToString() + " FUERA DE RANGO DE STOCK"; incidencia.Estado = "CREADA"; incidencia.Fecha = DateTime.Today; incidencia.Local = articuloXLocal.Local; incidencia.TipoIncidencia = "AJUSTE"; new IncidenciaBL().Grabar(incidencia); } }
private void btnAgregarArticulo_Click(object sender, EventArgs e) { if (articuloTemporal == null) { articuloTemporal = new ArticuloXLocalBL().FindByCodigoBarras(txtCodigoArticulo.Text, empleado.Local); if (articuloTemporal == null) { Utils.Utils.Error(null, "No existe dicho artículo para este local"); return; } } DocumentoLinea documentoLinea = new DocumentoLinea(); documentoLinea.ArticuloXLocal = articuloTemporal; documentoLinea.Cantidad = (int)nruCantidad.Value; documentoLinea.CantidadDevuelta = 0; float indIGV = (float)(articuloTemporal.Articulo.IndIGV == "S" ? 1.19 : 0); documentoLinea.PrecioLinea = articuloTemporal.Articulo.PrecioVenta * (int)documentoLinea.Cantidad; documentoLinea.Impuesto = (indIGV); bool pode = true; foreach (DocumentoLinea lin in lineasDocumento) { if (lin.ArticuloXLocal.Articulo.Id == documentoLinea.ArticuloXLocal.Articulo.Id) pode = false; } if (!pode) { Utils.Utils.Error(null, "El articulo ya esta en lista, actualize la Cantidad respectiva"); return; } lineasDocumento.Add(documentoLinea); double subtotal = documentoLinea.PrecioLinea; object[] row = { articuloTemporal.Articulo.CodigoArticulo, articuloTemporal.Articulo.Titulo, articuloTemporal.Articulo.Tipo, nruCantidad.Value.ToString(), articuloTemporal.Articulo.PrecioVenta.ToString(), subtotal.ToString() }; dgvArticulos.Rows.Add(row); }
public void CargarLinea(Articulo articulo) { ArticuloXLocalBL artxlocalBL = new ArticuloXLocalBL(); ArticuloXLocal artxlocal= new ArticuloXLocal(); try { if (cmbMovimiento.Text.Equals("SALIDA")) artxlocal = artxlocalBL.findArticuloXLocal(articulo.Id, ((Local)cmbLocalOrigen.SelectedItem).Id); else artxlocal = artxlocalBL.findArticuloXLocal(articulo.Id, ((Local)cmbLocalDestino.SelectedItem).Id); if (!articuloIngresado(artxlocal)) { object[] arreglo = { artxlocal.Id, articulo.Titulo, artxlocal.Cantidad, "" }; dgvArticulos.Rows.Add(arreglo); guardarLinea(artxlocal); } else Utils.Utils.Error(this, "El articulo ya esta en la lista"); } catch (NullReferenceException ex) { Utils.Utils.Error(this, "El local no contiene el articulo que solicito"); } }
public void CargarArticulo(ArticuloXLocal articuloXLocal) { this.articuloTemporal = articuloXLocal; txtCodigoArticulo.Text = articuloXLocal.Articulo.CodigoArticulo; }
private void btnRegistrar_Click(object sender, EventArgs e) { List<String> properties = new List<String>(); List<Object> values = new List<Object>(); properties.Add("IdArticuloXLocal"); if ((articuloXlocal == null) && (txtProducto.Text!="")) this.articuloXlocal = new ArticuloXLocalBL().findArticuloXLocal(int.Parse(txtProducto.Text), revisionSeleccionada.Local.Id); if (articuloXlocal == null) { Utils.Utils.Error(null, "El codigo del producto no es correcto"); } else { values.Add(articuloXlocal.Id); properties.Add("NroControl"); values.Add(revisionSeleccionada.NroControl.Id); controlInventarioLineas = new ControlInventarioLineaBL().Buscar(properties, values); if (controlInventarioLineas.Count == 0) { nuevaLinea = true; } else nuevaLinea = false; //txtCantidadProd.Text = controlInventarioLineas[0].Cantidad.ToString(); if (txtProducto.Text == "") { Utils.Utils.Error(null, "Debe ingresar un producto"); } else { if (txtCantidadProd.Text == "") { Utils.Utils.Error(null, "Debe ingresar la cantidad que se ha contado"); } else { lineaControlInventario = new ControlInventarioLinea(); if (nuevaLinea) { lineaControlInventario.ArticuloXLocal = this.articuloXlocal; lineaControlInventario.NroControl = revisionSeleccionada.NroControl; } else { lineaControlInventario = controlInventarioLineas[0]; } lineaControlInventario.Cantidad = int.Parse(txtCantidadProd.Text); if (lineaControlInventario.ArticuloXLocal.Articulo.Id != articuloXlocal.Articulo.Id) { Utils.Utils.Error(null, "El codigo del articulo es incorrecto"); } else { controlLineasBL.Grabar(lineaControlInventario); Utils.Utils.OK(Utils.Utils.REGISTRO_OK); txtProducto.Text = null; txtCantidadProd.Text = null; } } } } }
public void CargarArticulo(ArticuloXLocal articuloXLocal) { this.articuloXlocal = articuloXLocal; txtProducto.Text = articuloXlocal.Articulo.Id.ToString(); }
public void CargarArticulo(Articulo articulo) { txtProducto.Text = articulo.CodigoArticulo; this.articuloXlocal = new ArticuloXLocalBL().findArticuloXLocal(articulo.Id, revisionSeleccionada.Local.Id); }
private void btnAceptar_Click(object sender, EventArgs e) { if (dgvProductos.RowCount == 0) { if (txtNroDocumento.Text.Equals("")) Utils.Utils.Mensaje("Ingrese el documento asociado a la entrada de productos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); else Utils.Utils.Mensaje("Cargue los datos del documento ingresado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } /* variables para generar la incidencia */ bool hayIncidencia = false; string descripcionIncidencia = ""; int cantidadArticulosDiferentes = 0; int cantidadDeltaTotal = 0; bool ok= true; /* Grabo movimiento */ BE.Movimiento movEntrada = new BE.Movimiento(); movEntrada.Local = this.local; movEntrada.Fecha = System.DateTime.Now; movEntrada.TipoMovimiento = "Ingreso"; new MovimientoBL().Grabar(movEntrada); /* Grabo nota de ingreso */ NotaIngresoSalida notaIngreso = new NotaIngresoSalida(); notaIngreso.Fecha = System.DateTime.Now; notaIngreso.Local = this.local; notaIngreso.NroMovimiento = movEntrada; new NotaIngresoSalidaBL().Grabar(notaIngreso); /* Grabo el detalle de la nota de ingreso y verifico incidencias */ List<NotaIngresoSalidaLinea> notaLineas = new List<NotaIngresoSalidaLinea>(); foreach (DataGridViewRow fila in dgvProductos.Rows) { NotaIngresoSalidaLinea notaIngresoLinea = new NotaIngresoSalidaLinea(); notaIngresoLinea.CodNota = notaIngreso; int cantIngresada = 0; if ((fila.Cells["cantIngresada"].Value!= null) &&(int.TryParse(fila.Cells["cantIngresada"].Value.ToString(), out cantIngresada)) && int.Parse(fila.Cells["cantPedida"].Value.ToString()) >= cantIngresada) notaIngresoLinea.Cantidad = cantIngresada; else { ok = false; fila.Cells["cantIngresada"].Style.BackColor = Color.RosyBrown; } if ((notaIngresoLinea.CodAnaquel = (Anaquel)fila.Cells["cboAnaquel"].Value) == null) { ok = false; fila.Cells["cboAnaquel"].Style.BackColor = Color.RosyBrown; } if (ok) { notaLineas.Add(notaIngresoLinea); if (int.Parse(fila.Cells["cantPedida"].Value.ToString()) != int.Parse(fila.Cells["cantIngresada"].Value.ToString())) { hayIncidencia = true; descripcionIncidencia += fila.Cells["codigo"]; int diferencia = int.Parse(fila.Cells["cantPedida"].Value.ToString()) - int.Parse(fila.Cells["cantIngresada"].Value.ToString()); descripcionIncidencia += " " + diferencia.ToString() + " "; cantidadArticulosDiferentes++; cantidadDeltaTotal += diferencia; } } } if (ok) { /* Agregar el articulo por local a la lista */ int i = 0; if (ordenCompra != null) { foreach (OrdenCompraLinea auxOCL in ordenCompra.OrdenCompraOrdenCompraLineafk) { ArticuloXLocal axl = new ArticuloXLocalBL().findArticuloXLocal(auxOCL.ArticuloXProveedor.Articulo.Id, local.Id); if (axl != null) axl.Cantidad += notaLineas[i].Cantidad; else { axl = new ArticuloXLocal(); axl.Local = this.local; axl.Cantidad = notaLineas[i].Cantidad; axl.Articulo = auxOCL.ArticuloXProveedor.Articulo; } new ArticuloXLocalBL().Actualizar(axl); notaLineas[i].ArticuloXLocal = axl; i++; } } else if (consignacion != null) { foreach (DocumentoConsignacionLinea auxConsigL in consignacion.DocumentoConsignacionDocumentoConsignacionLineafk) { ArticuloXLocal axl = new ArticuloXLocalBL().findArticuloXLocal(auxConsigL.ArticuloXProveedor.Articulo.Id, local.Id); if (axl != null) axl.Cantidad += notaLineas[i].Cantidad; else { axl = new ArticuloXLocal(); axl.Local = this.local; axl.Cantidad = notaLineas[i].Cantidad; axl.Articulo = auxConsigL.ArticuloXProveedor.Articulo; } new ArticuloXLocalBL().Actualizar(axl); notaLineas[i].ArticuloXLocal = axl; i++; } } else if (transferencia != null) { foreach (TransferenciaLinea auxTransfL in transferencia.TransferenciaTransferenciaLineafk) { ArticuloXLocal axl = new ArticuloXLocalBL().findArticuloXLocal(auxTransfL.ArticuloXLocal.Articulo.Id, local.Id); if (axl != null) axl.Cantidad += notaLineas[i].Cantidad; else { axl = new ArticuloXLocal(); axl.Local = this.local; axl.Cantidad = notaLineas[i].Cantidad; axl.Articulo = auxTransfL.ArticuloXLocal.Articulo; } new ArticuloXLocalBL().Actualizar(axl); notaLineas[i].ArticuloXLocal = axl; i++; } } if (hayIncidencia) { //Ingresar incidencia Incidencia incidencia = new Incidencia(); incidencia.DescripcionAdicional = descripcionIncidencia + " - AUTO - Ingreso de articulos por " + cboTipoMovimiento.Text + " inconsistente con documento nro. " + txtNroDocumento.Text; incidencia.Estado = "Creada"; incidencia.Fecha = DateTime.Now; incidencia.Local = this.local; incidencia.TipoIncidencia = "Recepción"; incidencia.NroMovimiento = movEntrada; //creacion de objetos incidencialinea IncidenciaLinea incidlinea1 = new IncidenciaLinea(); IncidenciaLinea incidlinea2 = new IncidenciaLinea(); //Cantidad de articulos diferentes incidlinea1.Cantidad = cantidadArticulosDiferentes; incidlinea1.NroIncidencia = incidencia; //cantidad total de arituclos dañados incidlinea2.Cantidad = cantidadDeltaTotal; incidlinea2.NroIncidencia = incidencia; //GRABAR MOVIMIENTO E INCIDENCIA //new MovimientoBL().Grabar(movEntrada); //new NotaIngresoSalidaBL().Grabar(notaIngreso); new IncidenciaBL().Grabar(incidencia); new IncidenciaLineaBL().Grabar(incidlinea1); new IncidenciaLineaBL().Grabar(incidlinea2); } new NotaIngresoSalidaLineaBL().Grabar(notaLineas); Utils.Utils.Mensaje("Se han registrado los productos ingresados", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Dispose(); } else Utils.Utils.Error(this, "Ha ocurrido un error en la grabación"); }
private int estaIncluido(ArticuloXLocal artxlocal) { for (int i = 0; i < articulos.Count;i++ ) { if (articulos[i].Id == artxlocal.Id) return i; } return -1; }
public void CargarArticulo(ArticuloXLocal articuloXLocal) { }
public int GetCantidadAceptada(SolicitudTransferencia sol, ArticuloXLocal artxlocal) { foreach (Transferencia trans in sol.SolicitudTransferenciaTransferenciafk) return new TransferenciaLineaBL().GetCantidad(trans, artxlocal); return 0; }
private void guardarLinea(ArticuloXLocal artxlocal) { SolicitudTransferenciaLinea aux = new SolicitudTransferenciaLinea(); aux.ArticuloXLocal = artxlocal; lineas.Add(aux); }
private void ModificarStock(object sender, EventArgs e) { if ((articuloXlocal == null) && (txtProducto.Text != "")) { this.articuloXlocal = new ArticuloXLocalBL().findArticuloXLocal(int.Parse(txtProducto.Text), revisionSeleccionada.Local.Id); } if (articuloXlocal == null) { } else if (articuloXlocal.Articulo.CodigoArticulo.CompareTo(txtProducto.Text) == 0) { List<String> properties = new List<String>(); List<Object> values = new List<Object>(); properties.Add("IdArticuloXLocal"); values.Add(articuloXlocal.Id); properties.Add("NroControl"); values.Add(revisionSeleccionada.NroControl.Id); controlInventarioLineas = new ControlInventarioLineaBL().Buscar(properties, values); if (controlInventarioLineas == null) { nuevaLinea = true; btnRegistrar.Text = "Registrar"; } else { if (controlInventarioLineas.Count==0) { nuevaLinea = true; btnRegistrar.Text = "Registrar"; } else { nuevaLinea = false; txtCantidadProd.Text = controlInventarioLineas[0].Cantidad.ToString(); btnRegistrar.Text = "Modificar"; } } } else { articulosXlocal = null; art = null; nuevaLinea = true; btnRegistrar.Text = "Registrar"; txtCantidadProd.Text = null; } }
public void CargarArticulo(ArticuloXLocal articuloXLocal) { this.articuloXlocal = articuloXLocal; txtProducto.Text = this.articuloXlocal.Articulo.CodigoArticulo; }
private void btnAceptar_Click(object sender, EventArgs e) { bool ok= true; /* Grabo movimiento */ Movimiento movEntrada = new Movimiento(); movEntrada.Local = this.local; movEntrada.Fecha = System.DateTime.Now; new MovimientoBL().Grabar(movEntrada); /* Grabo nota de ingreso */ NotaIngresoSalida notaIngreso = new NotaIngresoSalida(); notaIngreso.Fecha = System.DateTime.Now; notaIngreso.Local = this.local; notaIngreso.NroMovimiento = movEntrada; new NotaIngresoSalidaBL().Grabar(notaIngreso); /* Grabo el detalle de la nota de ingreso y verifico incidencias */ List<NotaIngresoSalidaLinea> notaLineas = new List<NotaIngresoSalidaLinea>(); foreach (DataGridViewRow fila in dgvProductos.Rows) { NotaIngresoSalidaLinea notaIngresoLinea = new NotaIngresoSalidaLinea(); notaIngresoLinea.CodNota = notaIngreso; int cantIngresada = 0; if ((fila.Cells["cantIngresada"].Value!= null)&&(int.TryParse(fila.Cells["cantIngresada"].Value.ToString(), out cantIngresada))) notaIngresoLinea.Cantidad = cantIngresada; else { ok = false; fila.Cells["cantIngresada"].Style.BackColor = Color.RosyBrown; } if ((notaIngresoLinea.CodAnaquel = (Anaquel)fila.Cells["cboAnaquel"].Value) == null) { ok = false; fila.Cells["cboAnaquel"].Style.BackColor = Color.RosyBrown; } if (ok) { notaLineas.Add(notaIngresoLinea); if (int.Parse(fila.Cells["cantPedida"].Value.ToString()) != int.Parse(fila.Cells["cantIngresada"].Value.ToString())) { //Ingresar incidencia Incidencia incidencia = new Incidencia(); incidencia.DescripcionAdicional = "AUTO - Ingreso de articulos por "+ cboTipoMovimiento.Text + " inconsistente con documento nro. " + txtNroDocumento.Text; incidencia.Estado = "CREADA"; incidencia.Fecha = DateTime.Today; incidencia.Local = this.local; incidencia.TipoIncidencia = "RECEPCION"; incidencia.NroMovimiento = movEntrada; new IncidenciaBL().Grabar(incidencia); } } } if (ok) { /* Agregar el articulo por local a la lista */ int i = 0; foreach (OrdenCompraLinea auxOCL in ordenCompra.OrdenCompraOrdenCompraLineafk) { ArticuloXLocal axl = new ArticuloXLocalBL().findArticuloXLocal(auxOCL.ArticuloXProveedor.Articulo.Id, local.Id); if (axl != null) axl.Cantidad += notaLineas[i].Cantidad; else { axl = new ArticuloXLocal(); axl.Local = this.local; axl.Cantidad = notaLineas[i].Cantidad; axl.Articulo = auxOCL.ArticuloXProveedor.Articulo; } new ArticuloXLocalBL().Actualizar(axl); notaLineas[i].ArticuloXLocal = axl; i++; } new NotaIngresoSalidaLineaBL().Grabar(notaLineas); Utils.Utils.Mensaje("Se han registrado los productos ingresados", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Dispose(); } else Utils.Utils.Error(this, "Ha ocurrido un error en la grabación"); }