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 void btnAceptar_Click(object sender, EventArgs e) { int nLineas = lineas.Count; bool ok = true; int nError = 0;//0=vacio for (int i = 0; i < nLineas; i++) { dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.White; } rtbMotivo.BackColor = Color.White; txbNroDoc.BackColor = Color.White; if (cmbTipoIncidencia.Text == "DEVOLUCION" && txbNroDoc.Text == "") { ok = false; txbNroDoc.BackColor = Color.RosyBrown; nError = 2;//NO ESCRIBIO NROOC } else if (rtbMotivo.Text == "") { ok = false; rtbMotivo.BackColor = Color.RosyBrown; nError = 4;//NO ESCRIBIO RAZON } else for (int i = 0; i < nLineas; i++) { //verificar todo lleno string sCantAceptada = dgvArticulos.Rows[i].Cells[2].FormattedValue.ToString(); if (String.IsNullOrEmpty(sCantAceptada)) { dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; ok = false; nError = 0;//VACIO } else { int cantidadAceptada; //verificar numero valido if (!int.TryParse(sCantAceptada, out cantidadAceptada)) { ok = false; dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; nError = 1;//NUMERO NO VALIDO } else if (!validaCantidad(cantidadAceptada, i)) { ok = false; dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; nError = 3;//NUMERO MAYOR A STOCK } else { String cant = cantidadAceptada.ToString(); cantidades.Add(cant); } } } if (ok) { //crear objeto movimiento Movimiento mov = new Movimiento(); if (cmbTipoIncidencia.Text == "DEVOLUCION") mov = new MovimientoBL().GetByOC(Convert.ToInt32(txbNroDoc.Text)); else { mov.Local = (Local)cmbLocal.SelectedItem; mov.Fecha = dtpFecha.Value.Date; new MovimientoBL().Grabar(mov); } //Crear objeto incidencia Incidencia incid = new Incidencia(); String descAd=""; for (int i=0;i<lineas.Count;i++) { descAd += lineas[i]; descAd += " "; descAd += cantidades[i]; descAd += " "; } descAd += rtbMotivo.Text; incid.DescripcionAdicional = descAd; incid.Estado = "CREADA"; incid.Fecha = dtpFecha.Value.Date; incid.Local = (Local)cmbLocal.SelectedItem; incid.TipoIncidencia = cmbTipoIncidencia.Text; incid.NroMovimiento = mov; new IncidenciaBL().Grabar(incid); //creacion de objetos incidencialinea IncidenciaLinea incidlinea1 = new IncidenciaLinea(); IncidenciaLinea incidlinea2 = new IncidenciaLinea(); //Cantidad de articulos diferentes incidlinea1.Cantidad = lineas.Count; incidlinea1.NroIncidencia = incid; //cantidad total de arituclos dañados incidlinea2.Cantidad = Convert.ToInt32(txbCantidadTotal.Text); incidlinea2.NroIncidencia = incid; new IncidenciaLineaBL().Grabar(incidlinea1); new IncidenciaLineaBL().Grabar(incidlinea2); Utils.Utils.OK(IND_MENSAJE); this.Dispose(); } else switch (nError) { case 0: { Utils.Utils.Error(this, "Cantidad se encuentra vacia"); break; } case 1: { Utils.Utils.Error(this, "Cantidad no es un número válido"); break; } case 2: { Utils.Utils.Error(this, "No ha indicado el Nro de Orden de Compra para la Devolucion"); break; } case 3: { Utils.Utils.Error(this, "Cantidad mayor a la permitida"); break; } case 4: { Utils.Utils.Error(this, "Motivo no especificado"); break; } } }
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 void btnTerminar_Click(object sender, EventArgs e) { bool hayIncidencia = false; String descAdPerdida = ""; String descAdExceso = ""; int cantTotalLineasPerdida = 0; int cantTotalLineasExceso = 0; int cantTotalPerdida = 0; int cantTotalExceso = 0; foreach (ControlInventarioLinea controlLinea in controlLineasBL.GetAll()) { if (controlLinea.Cantidad != controlLinea.ArticuloXLocal.Cantidad) { if (!hayIncidencia) hayIncidencia = true; if (controlLinea.Cantidad >= controlLinea.ArticuloXLocal.Cantidad) { descAdExceso += controlLinea.ArticuloXLocal.Articulo.Id.ToString(); descAdExceso += " "; descAdExceso += (controlLinea.Cantidad - controlLinea.ArticuloXLocal.Cantidad); descAdExceso += " "; cantTotalExceso += Convert.ToInt32(controlLinea.Cantidad - controlLinea.ArticuloXLocal.Cantidad); cantTotalLineasExceso++; } else { descAdPerdida += controlLinea.ArticuloXLocal.Articulo.Id.ToString(); descAdPerdida += " "; descAdPerdida += (controlLinea.ArticuloXLocal.Cantidad - controlLinea.Cantidad); descAdPerdida += " "; cantTotalPerdida += Convert.ToInt32(controlLinea.ArticuloXLocal.Cantidad - controlLinea.Cantidad); cantTotalLineasPerdida++; } } } if (hayIncidencia) { if (cantTotalLineasExceso > 0) { descAdExceso += " Exceso en toma de Inventario"; BE.Movimiento mov = new BE.Movimiento(); mov.Local = controlInventario.Local; mov.Fecha = DateTime.Now; //Crear objeto incidencia Incidencia incid = new Incidencia(); incid.DescripcionAdicional = descAdExceso; incid.Estado = "Creada"; incid.Fecha = DateTime.Now; incid.Local = controlInventario.Local; incid.TipoIncidencia = "InventarioExceso"; //por confirmar diana incid.NroMovimiento = mov; //creacion de objetos incidencialinea IncidenciaLinea incidlinea1 = new IncidenciaLinea(); IncidenciaLinea incidlinea2 = new IncidenciaLinea(); //Cantidad de articulos diferentes incidlinea1.Cantidad = cantTotalLineasExceso; incidlinea1.NroIncidencia = incid; //cantidad total de arituclos dañados incidlinea2.Cantidad = cantTotalExceso; incidlinea2.NroIncidencia = incid; //GRABAR MOVIMIENTO E INCIDENCIA new MovimientoBL().Grabar(mov); new IncidenciaBL().Grabar(incid); new IncidenciaLineaBL().Grabar(incidlinea1); new IncidenciaLineaBL().Grabar(incidlinea2); } if (cantTotalLineasPerdida > 0) { BE.Movimiento mov = new BE.Movimiento(); mov.Local = controlInventario.Local; mov.Fecha = DateTime.Now; //Crear objeto incidencia Incidencia incid = new Incidencia(); incid.DescripcionAdicional = descAdPerdida; incid.Estado = "Creada"; incid.Fecha = DateTime.Now; incid.Local = controlInventario.Local; incid.TipoIncidencia = "InventarioPerdida"; //por confirmar diana incid.NroMovimiento = mov; //creacion de objetos incidencialinea IncidenciaLinea incidlinea1 = new IncidenciaLinea(); IncidenciaLinea incidlinea2 = new IncidenciaLinea(); //Cantidad de articulos diferentes incidlinea1.Cantidad = cantTotalLineasPerdida; incidlinea1.NroIncidencia = incid; //cantidad total de arituclos dañados incidlinea2.Cantidad = cantTotalPerdida; incidlinea2.NroIncidencia = incid; //GRABAR MOVIMIENTO E INCIDENCIA new MovimientoBL().Grabar(mov); new IncidenciaBL().Grabar(incid); new IncidenciaLineaBL().Grabar(incidlinea1); new IncidenciaLineaBL().Grabar(incidlinea2); } } Utils.Utils.Mensaje("Se ha terminado de Registrar el Control de Inventario", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Dispose(); }
private void btnAceptar_Click(object sender, EventArgs e) { int nLineas = lineas.Count; bool ok = true; string msjError = ""; //LIMPIRAR CELDAS for (int i = 0; i < nLineas; i++) { dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.White; } rtbMotivo.BackColor = Color.White; txbNroDoc.BackColor = Color.White; //CANTIDADES LLENAS for (int i = 0; i < nLineas; i++) { //verificar todo lleno string sCantAceptada = dgvArticulos.Rows[i].Cells[2].FormattedValue.ToString(); if (String.IsNullOrEmpty(sCantAceptada)) { dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; ok = false; msjError = "No especificó ninguna cantidad asociada.\n"; } else { int cantidadAceptada; //verificar numero valido if ((!int.TryParse(sCantAceptada, out cantidadAceptada))) if(cantidadAceptada<0) { ok = false; dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; msjError = "No especificó un número de cantidad válido.\n"; } else //verificar cantidaad menor a la permitida if (!validaCantidad(cantidadAceptada, i)) { ok = false; dgvArticulos.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; msjError = "Cantidad Mayor a la permitida.\n"; } else { String cant = cantidadAceptada.ToString(); cantidades.Add(cant); } } //NO ARTICULOS if (nLineas <= 0) { ok = false; msjError += "No especificó ningun artículo involucrado.\n"; } //DEVOLUCION Y NRODOC if (cmbTipoIncidencia.Text == "DEVOLUCION" && txbNroDoc.Text == "") { ok = false; txbNroDoc.BackColor = Color.RosyBrown; msjError += "No especificó Nro de Orden de Compra.\n"; } //MOTIVO LLENO if (rtbMotivo.Text == "") { ok = false; rtbMotivo.BackColor = Color.RosyBrown; msjError += "No especificó Motivo.\n"; } } if (ok) { //crear objeto movimiento Movimiento mov = new Movimiento(); if (cmbTipoIncidencia.Text == "DEVOLUCION") mov = new MovimientoBL().GetByOC(Convert.ToInt32(txbNroDoc.Text)); else { mov.Local = (Local)cmbLocal.SelectedItem; mov.Fecha = dtpFecha.Value.Date; } //Crear objeto incidencia Incidencia incid = new Incidencia(); String descAd = ""; int cantTotal = 0; for (int i = 0; i < lineas.Count; i++) { descAd += lineas[i]; descAd += " "; descAd += cantidades[i]; descAd += " "; cantTotal += Convert.ToInt32(cantidades[i]); } descAd += rtbMotivo.Text; incid.DescripcionAdicional = descAd; incid.Estado = "Creada"; incid.Fecha = dtpFecha.Value.Date; incid.Local = (Local)cmbLocal.SelectedItem; incid.TipoIncidencia = cmbTipoIncidencia.Text; incid.NroMovimiento = mov; //creacion de objetos incidencialinea IncidenciaLinea incidlinea1 = new IncidenciaLinea(); IncidenciaLinea incidlinea2 = new IncidenciaLinea(); //Cantidad de articulos diferentes incidlinea1.Cantidad = lineas.Count; incidlinea1.NroIncidencia = incid; //cantidad total de arituclos dañados incidlinea2.Cantidad = cantTotal; incidlinea2.NroIncidencia = incid; //GRABAR MOVIMIENTO E INCIDENCIA new MovimientoBL().Grabar(mov); new IncidenciaBL().Grabar(incid); new IncidenciaLineaBL().Grabar(incidlinea1); new IncidenciaLineaBL().Grabar(incidlinea2); Utils.Utils.OK(IND_MENSAJE); this.Dispose(); } else Utils.Utils.Error(this, msjError); }
public void Grabar(IncidenciaLinea solicitudlinea) { new IncidenciaLineaDA().SaveOrUpdate(solicitudlinea); }
public void SaveOrUpdate(IncidenciaLinea instance) { ISession hisession = null; try { hisession = NHibernateHelper.GetCurrentSession(); hisession.BeginTransaction(); if (instance.Id == 0) { hisession.Save(instance); } else { hisession.Update(instance); } hisession.Transaction.Commit(); hisession.Close(); } catch (Exception ex) { if (hisession != null) { if (hisession.IsOpen) { hisession.Close(); } } } }