public int GetCantidadTotal(Incidencia incidencia) { int cant = 0; foreach (IncidenciaLinea linea in incidencia.IncidenciaIncidenciaLineafk) cant = linea.Cantidad.Value; return cant; }
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); } }
public int GetCantidad(Incidencia incidencia) { int cant = 0; foreach (IncidenciaLinea linea in incidencia.IncidenciaIncidenciaLineafk) { cant = linea.Cantidad.Value; break; } return cant; }
private void btnAgregarDocumento_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtNroDocumento.Text.ToString())) return; int nroTipoMov = int.Parse(cboTipoMovimiento.SelectedValue.ToString()); int nroDocumento =0; if (int.TryParse(txtNroDocumento.Text.ToString(), out nroDocumento)) { switch (nroTipoMov) { case (int)tipoMovimiento.Transferencia: transferencia = new TransferenciaBL().cargarTransferencia(nroDocumento); if (transferencia != null) { string[] nuevaFila = new string[] { "Transferencia", transferencia.Id.ToString()}; dgvDocumentos.Rows.Add(nuevaFila); } else Utils.Utils.Error(this, "Error en la carga de documento. \nRevise el número ingresado"); break; case (int)tipoMovimiento.DevolucionAProveedor: incDevolucion = new IncidenciaBL().CargarIncidencia(nroDocumento); //agregar if (incDevolucion != null) { string[] nuevaFila = new string[] { "Devolucion a proveedor", incDevolucion.Id.ToString()}; dgvDocumentos.Rows.Add(nuevaFila); this.AcceptButton = btnAceptar; } else Utils.Utils.Error(this, "Error en la carga de documento"); break; } } }
public frmDetalleIncidencia(Incidencia incidencia) { InitializeComponent(); this.incidencia = incidencia; articulos = new List<string>(); cantidades = new List<string>(); }
public void AsignarIncidenciaLineas(IList<IncidenciaLinea> lineas, Incidencia incidencia) { foreach (IncidenciaLinea linea in lineas) { linea.NroIncidencia = incidencia; Grabar(linea); } }
public frmDetalleIncidencia(Incidencia incidencia) { InitializeComponent(); this.incidencia = incidencia; articulos = new List<string>(); cantidades = new List<string>(); this.FormBorderStyle = FormBorderStyle.FixedSingle; this.MaximizeBox = false; }
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); } }
public frmDetalleSalida(Incidencia incDevolucion) { InitializeComponent(); this.incDevolucion = incDevolucion; lblTEmisor.Text = "Local: "; lblEmisor.Text = incDevolucion.Local.Nombre; lblTReceptor.Text = "Proveedor: "; lblReceptor.Text = incDevolucion.DescripcionAdicional; /* OJOOOO! cuando es devolucion al proveedor...*/ lblFecha.Text = incDevolucion.Fecha.ToString(); lblNroMovimiento.Text = incDevolucion.NroMovimiento.Id.ToString(); lblNroDocumento.Text = incDevolucion.Id.ToString(); foreach (IncidenciaLinea ilinea in incDevolucion.IncidenciaIncidenciaLineafk) { /*string[] lineaGrid = new string[] { ilinea, tlinea.ArticuloXLocal.Articulo.Titulo, tlinea.CantidadArticulosAprob.ToString() }; dgvDetalles.Rows.Add(lineaGrid);*/ } }
public void Grabar(Incidencia incidencia) { new IncidenciaDA().SaveOrUpdate(incidencia); }
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 btnVerDetalle_Click(object sender, EventArgs e) { if ((dgvDocumentos.CurrentCell != null) || (dgvDocumentos.SelectedRows.Count >0)) { int fila = 0; if (dgvDocumentos.CurrentCell != null) { fila = dgvDocumentos.CurrentCell.RowIndex; } else fila = dgvDocumentos.CurrentRow.Index; string movimiento = dgvDocumentos.CurrentRow.Cells["TipoMovimiento"].Value.ToString(); int nroDocumento = int.Parse(dgvDocumentos.CurrentRow.Cells["NroDocumento"].Value.ToString()); if (movimiento.Equals("Transferencia")) { transferencia = transferencia = new TransferenciaBL().cargarTransferencia(nroDocumento); frmDetalleSalida ventDetalle = new frmDetalleSalida(transferencia); } else {//es incidencia incDevolucion = new IncidenciaBL().CargarIncidencia(nroDocumento); frmDetalleSalida ventDetalle = new frmDetalleSalida(incDevolucion); } } }
private void btnVerDetalle_Click(object sender, EventArgs e) { if (dgvDocumentos.CurrentRow != null) { int fila = dgvDocumentos.CurrentRow.Index; string movimiento = dgvDocumentos.CurrentRow.Cells["TipoMovimiento"].Value.ToString(); int nroDocumento = int.Parse(dgvDocumentos.CurrentRow.Cells["NroDocumento"].Value.ToString()); if (movimiento.Equals("Transferencia")) { transferencia = transferencia = new TransferenciaBL().cargarTransferencia(nroDocumento); if (transferencia != null) { frmDetalleSalida ventDetalle = new frmDetalleSalida(transferencia); ventDetalle.ShowDialog(this); } } else {//es incidencia incDevolucion = new IncidenciaBL().cargarIncidencia(nroDocumento); if (incDevolucion != null) { frmDetalleSalida ventDetalle = new frmDetalleSalida(incDevolucion); ventDetalle.ShowDialog(this); } } } else Utils.Utils.Error(this, "Seleccione el documento que desea revisar"); }
private void btnAgregarDocumento_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtNroDocumento.Text.ToString())) { Utils.Utils.Mensaje("Ingrese un documento", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (string.IsNullOrEmpty(cboTipoMovimiento.Text.ToString())) return; int nroTipoMov = int.Parse(cboTipoMovimiento.SelectedValue.ToString()); int nroDocumento =0; if (int.TryParse(txtNroDocumento.Text.ToString(), out nroDocumento)) { /* buscar que no este en la lista antes de agregar! */ foreach (DataGridViewRow fila in dgvDocumentos.Rows) { if (fila.Cells["NroDocumento"].Value.ToString().Equals(txtNroDocumento.Text)) { if (fila.Cells["TipoMovimiento"].Value.ToString().Equals(cboTipoMovimiento.Text)) { Utils.Utils.Error(this, "Usted ya ha agregado el movimiento de " + cboTipoMovimiento.Text + " con No. " + txtNroDocumento.Text + " a la lista de salida"); txtNroDocumento.Text = ""; return; } } } switch (nroTipoMov) { case (int)tipoMovimiento.Transferencia: transferencia = new TransferenciaBL().cargarTransferencia(nroDocumento); if (transferencia != null) { string[] nuevaFila = new string[] { "Transferencia", transferencia.Id.ToString(), transferencia.NroMovimiento.Id.ToString()}; dgvDocumentos.Rows.Add(nuevaFila); this.AcceptButton = btnAceptar; txtNroDocumento.Text = ""; } else Utils.Utils.Error(this, "Error en la carga de documento. \nRevise el número ingresado"); break; case (int)tipoMovimiento.DevolucionAProveedor: incDevolucion = null;// new IncidenciaBL().cargarIncidencia(nroDocumento); if (incDevolucion != null) { string[] nuevaFila = new string[] { "Devolución al proveedor", incDevolucion.Id.ToString(), incDevolucion.NroMovimiento.Id.ToString() }; dgvDocumentos.Rows.Add(nuevaFila); this.AcceptButton = btnAceptar; txtNroDocumento.Text = ""; } else Utils.Utils.Error(this, "Error en la carga de documento"); break; } } }
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) { 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 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 SaveOrUpdate(Incidencia instance) { ISession hisession = null; try { hisession = NHibernateHelper.GetCurrentSession(); hisession.BeginTransaction(); if (instance.Id == 0) { hisession.Save(instance); } else { hisession.Merge(instance); } hisession.Transaction.Commit(); hisession.Close(); } catch (Exception ex) { if (hisession != null) { if (hisession.IsOpen) { hisession.Close(); } } } }
/*public Incidencia cargarIncidenciaLinea(int nroIncidencia) { string squery = null; try { return new IncidenciaDA().cargarIncidenciaLinea(nroIncidencia); } catch (Exception e) { return null; } }*/ public List<object[]> GetListaDatosDevolucion(Incidencia incidencia, Local local) { List<object[]> listaObjetos = null; int cant = new IncidenciaBL().GetCantidad(incidencia); string[] listaIncidencias = incidencia.DescripcionAdicional.Split(" ".ToCharArray()); for (int i = 0; i < cant*2 ;i+=2 ) { int idArticulo = 0; int.TryParse(listaIncidencias[i],out idArticulo); ArticuloXLocal axl = new ArticuloXLocalBL().findArticuloEnLocal(idArticulo, local.Id); int cantidadDevuelta = 0; int.TryParse(listaIncidencias[i+1],out cantidadDevuelta); object [] dupla = {axl, cantidadDevuelta}; listaObjetos.Add(dupla); } return listaObjetos; }
private void btnSelecc_Click(object sender, EventArgs e) { int row = -1; if (dgvIncidencias.CurrentRow != null) { row = dgvIncidencias.CurrentRow.Index; if (dgvIncidencias.CurrentRow.Cells[0].Value != null) if ((row >= 0) && ((row - 1) <= incidencias.Count)) { List<object> criterios = new List<object>(); List<string> props = new List<string>(); List<object> vals = new List<object>(); props.Add("Id"); vals.Add(dgvIncidencias.CurrentRow.Cells[0].Value); criterios.Add(props); criterios.Add(vals); incidenciaSeleccionada = new IncidenciaBL().findByAttributes(criterios)[0]; } } }
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"); }