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(); }
public void Save(Movimiento movimiento) { ISession hisession = null; try { hisession = NHibernateHelper.GetCurrentSession(); hisession.BeginTransaction(); if (movimiento.Id == 0) { hisession.Save(movimiento); } else { hisession.Update(movimiento); } hisession.Transaction.Commit(); hisession.Close(); } catch (Exception ex) { if (hisession != null) { if (hisession.IsOpen) { hisession.Close(); } } if (log.IsErrorEnabled) { log.Error("No se pudo registrar movimiento : " + ex.Message); } } }
private void btnAceptar_Click(object sender, EventArgs e) { int nLineas = articulos.Count; bool ok = true; string msjError = ""; //LIMPIRAR CELDAS for (int i = 0; i < nLineas; i++) { dgvIncidencias.Rows[i].DefaultCellStyle.BackColor = Color.White; } //CANTIDADES LLENAS for (int i = 0; i < nLineas; i++) { //verificar todo lleno string sCantAceptada = dgvIncidencias.Rows[i].Cells[4].FormattedValue.ToString(); if (String.IsNullOrEmpty(sCantAceptada)) { dgvIncidencias.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)) || (cantidadAceptada < 0)) { ok = false; dgvIncidencias.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 (cantidadAceptada > Convert.ToInt32(dgvIncidencias.Rows[i].Cells[4].Value)) { ok = false; dgvIncidencias.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; msjError = "Cantidad Mayor a la permitida.\n"; } else { articulos[i].Cantidad = cantidadAceptada; } } } //NO ARTICULOS if (nLineas <= 0) { ok = false; msjError += "No especificó ningun artículo involucrado.\n"; } if (ok) { //crear objeto movimiento BE.Movimiento mov = new BE.Movimiento(); mov.Local = (Local)cmbLocal.SelectedItem; mov.Fecha = dtpFecha.Value.Date; new MovimientoBL().Grabar(mov); //Crear objeto DarDeBaja DadaDeBaja baja = new DadaDeBaja(); baja.FechaBaja = DateTime.Today; baja.Local = (Local)cmbLocal.SelectedItem; baja.NroMovimiento = mov; new DadaDeBajaBL().Grabar(baja); /*Crear objeto ajuste Ajuste ajuste = new Ajuste(); ajuste.FechaAjuste = DateTime.Today; ajuste.Local = (Local)cmbLocal.SelectedItem; ajuste.NroMovimiento = mov; new AjusteBL().Grabar(ajuste);*/ //creacion de objetos ajustelinea List<DadaDeBajaLinea> lineasBaja = new List<DadaDeBajaLinea>(); foreach (ArticuloXLocal art in articulos) { new ArticuloXLocalBL().Actualizar(art); DadaDeBajaLinea lineaBaja = new DadaDeBajaLinea(); lineaBaja.ArticuloXLocal = art; lineaBaja.CantidadArticulos = art.Cantidad; lineasBaja.Add(lineaBaja); } new DadaDeBajaLineaBL().AsignarSolicitudesLineas(lineasBaja, baja); foreach (Incidencia incidencia in incidencias) { incidencia.Estado = "Revisada"; new IncidenciaBL().Grabar(incidencia); } Utils.Utils.OK(IND_MENSAJE); this.Dispose(); } else Utils.Utils.Error(this, msjError); }
private void btnAceptar_Click(object sender, EventArgs e) { int nLineas = dgvSolRecep.Rows.Count; bool ok = true; string msjError = ""; int nMod=0;//CantidadModificada List<TransferenciaLinea> lineas = new List<TransferenciaLinea>(); //LIMPIAR CELDAS for (int i = 0; i < nLineas; i++) { dgvSolRecep.Rows[i].DefaultCellStyle.BackColor = Color.White; } for (int i = 0; i < nLineas; i++) { //verificar todo lleno string sCantAceptada = dgvSolRecep.Rows[i].Cells[5].FormattedValue.ToString(); string sIdSolicitudLinea = dgvSolRecep.Rows[i].Cells[0].FormattedValue.ToString(); string sCantSolicitada = dgvSolRecep.Rows[i].Cells[4].FormattedValue.ToString(); if (String.IsNullOrEmpty(sCantAceptada)) { dgvSolRecep.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; ok = false; msjError = "Cantidad vacía.\n"; } else { int cantidadAceptada; //verificar numero valido if ((!int.TryParse(sCantAceptada, out cantidadAceptada)) || (cantidadAceptada < 0)) { ok = false; dgvSolRecep.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; msjError = "Número de cantidad no válido.\n"; } else { int cantSolicitada; int.TryParse(sCantSolicitada, out cantSolicitada); if (cantSolicitada < cantidadAceptada) //VALIDAR CANTIDAD ACEPTADA MENOR A SOLICITADA { ok = false; dgvSolRecep.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; msjError = "Cantidad mayor a la cantidad Solicitada.\n"; } else { SolicitudTransferenciaLinea auxSol = new SolicitudTransferenciaLinea(); TransferenciaLinea aux = new TransferenciaLinea(); int id; int.TryParse(sIdSolicitudLinea, out id); auxSol = new SolicitudTransferenciaLineaBL().findSolicitudTransferenciaLineaxId(id); aux.ArticuloXLocal = auxSol.ArticuloXLocal; aux.CantidadArticulosAprob = cantidadAceptada; if (cantSolicitada != cantidadAceptada) { nMod++; } lineas.Add(aux); } } } } if (ok) { //CREAR MOVIMIENTO BE.Movimiento mov = new BE.Movimiento(); mov.Local = solicitud.LocalOrigen; mov.Fecha = DateTime.Now.Date; mov.TipoMovimiento = "Transferencia"; //CREAR TRANSFERENCIA Transferencia Trans = new Transferencia(); Trans.LocalOrigen = solicitud.LocalOrigen; Trans.LocalDestino = solicitud.LocalDestino; Trans.Movimiento = solicitud.Movimiento; Trans.NroMovimiento = mov; Trans.NroSolicitudTransferencia = solicitud; Trans.Estado = "Emitido"; Trans.FechaConfirmacion = DateTime.Now.Date; //GRABAR MOVIMIENTO Y TRANSFERENCIA new MovimientoBL().Grabar(mov); new TransferenciaBL().Grabar(Trans); new TransferenciaLineaBL().AsignarSolicitudesLineas(lineas, Trans); //MODIFICAR SOLICITUD if (nMod > 0) solicitud.Estado = "Parcialmente Aceptado"; else solicitud.Estado = "Aceptado"; new SolicitudTransferenciaBL().Grabar(solicitud); Utils.Utils.OK(IND_MENSAJE); this.Dispose(); } else Utils.Utils.Error(this, msjError); }
private void btnAceptar_Click(object sender, EventArgs e) { foreach (DataGridViewRow fila in dgvDocumentos.Rows) { /*creo movimiento*/ BE.Movimiento movSalida = new BE.Movimiento(); movSalida.Local = this.local; movSalida.Fecha = System.DateTime.Now; movSalida.TipoMovimiento = "Salida"; new MovimientoBL().Grabar(movSalida); /* creo nota de salida */ NotaIngresoSalida notaSalida = new NotaIngresoSalida(); notaSalida.NroMovimiento = movSalida; notaSalida.Local = this.local; notaSalida.Fecha = System.DateTime.Now; new NotaIngresoSalidaBL().Grabar(notaSalida); /* creo guia de remisión */ GuiaRemision guiaRemision = new GuiaRemision(); guiaRemision.Fecha = System.DateTime.Now; guiaRemision.NroMovimiento = movSalida; guiaRemision.TipoGuia = "Salida"; guiaRemision.Estado = "Emitida"; new GuiaRemisionBL().Grabar(guiaRemision); if (fila.Cells["TipoMovimiento"].Value.ToString().Equals("Transferencia")) { List<NotaIngresoSalidaLinea> notaSalidaLineas = new List<NotaIngresoSalidaLinea>(); List<GuiaRemisionLinea> guiaRemisionLineas = new List<GuiaRemisionLinea>(); int nroDocumento = int.Parse(fila.Cells["NroDocumento"].Value.ToString()); Transferencia t = new TransferenciaBL().cargarTransferencia(nroDocumento); foreach (TransferenciaLinea tl in t.TransferenciaTransferenciaLineafk) { NotaIngresoSalidaLinea auxL = new NotaIngresoSalidaLinea(); auxL.ArticuloXLocal = tl.ArticuloXLocal; auxL.Cantidad = tl.CantidadArticulosAprob; auxL.CodNota = notaSalida; notaSalidaLineas.Add(auxL); GuiaRemisionLinea auxGuiaRemLinea = new GuiaRemisionLinea(); auxGuiaRemLinea.Articulo = tl.ArticuloXLocal.Articulo; auxGuiaRemLinea.Cantidad = tl.CantidadArticulosAprob; auxGuiaRemLinea.NroGuia = guiaRemision; guiaRemisionLineas.Add(auxGuiaRemLinea); ArticuloXLocal axl = auxL.ArticuloXLocal; axl.Cantidad = axl.Cantidad - auxL.Cantidad; new ArticuloXLocalBL().Actualizar(axl); } new NotaIngresoSalidaLineaBL().Grabar(notaSalidaLineas); new GuiaRemisionBL().Grabar(guiaRemisionLineas); Utils.Utils.Mensaje("Usted ha registrado satisfactoriamente la salida de productos. " + "\nNota de Salida asociada: " + notaSalida.Id.ToString() + "\nGuia de Remisión asociada: " + guiaRemision.Id, MessageBoxButtons.OK, Utils.Utils.REGISTRO_OK); this.Dispose(); } else {//Devolucion al proveedor List<NotaIngresoSalidaLinea> notaSalidaLineas = new List<NotaIngresoSalidaLinea>(); int nroDocumento = int.Parse(fila.Cells["nroDocumento"].ToString()); Incidencia devolucion = new IncidenciaBL().cargarIncidencia(nroDocumento); List<GuiaRemisionLinea> guiaRemisionLineas = new List<GuiaRemisionLinea>(); List<object[]> listaDatosDevolucion = new IncidenciaBL().GetListaDatosDevolucion(devolucion, local); /* es una lista de duplas: cantidadArticulo - articuloXLocal */ foreach (object[] dupla in listaDatosDevolucion) { NotaIngresoSalidaLinea auxL = new NotaIngresoSalidaLinea(); auxL.ArticuloXLocal = (ArticuloXLocal)dupla[1]; auxL.Cantidad = (int)dupla[0]; auxL.CodNota = notaSalida; notaSalidaLineas.Add(auxL); GuiaRemisionLinea auxGuiaRemLinea = new GuiaRemisionLinea(); auxGuiaRemLinea.Articulo = ((ArticuloXLocal)dupla[1]).Articulo; auxGuiaRemLinea.Cantidad = (int)dupla[0]; auxGuiaRemLinea.NroGuia = guiaRemision; guiaRemisionLineas.Add(auxGuiaRemLinea); ArticuloXLocal axl = auxL.ArticuloXLocal; axl.Cantidad = axl.Cantidad - auxL.Cantidad; new ArticuloXLocalBL().Actualizar(axl); } new NotaIngresoSalidaLineaBL().Grabar(notaSalidaLineas); new GuiaRemisionBL().Grabar(guiaRemisionLineas); Utils.Utils.Mensaje("Usted ha registrado satisfactoriamente la salida de productos. " + "\nNota de Salida asociada: " + notaSalida.Id.ToString() + "\nGuia de Remisión asociada: " + guiaRemision.Id, MessageBoxButtons.OK, Utils.Utils.REGISTRO_OK); this.Dispose(); } } }
private void btnGuardar_Click(object sender, EventArgs e) { if (!puedeGuardar) { Utils.Utils.Mensaje("Datos incompletos o incorrectos", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (txtRazonSocial.Text.Length == 0) { Utils.Utils.Mensaje("Por favor, ingrese la Razón Social", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (txtRUC.Text.Length == 0) { Utils.Utils.Mensaje("Por favor, ingrese la RUC", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (cboEstado.Text.Length == 0) { Utils.Utils.Mensaje("Por favor, seleccione el Estado", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (dtpFecDevolucion.Value.Date <= dtpFecEntrega.Value.Date) { Utils.Utils.Mensaje("La fecha de Devolución debe ser posterior a la de Entrega", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (consignacionLineas.Count == 0) { Utils.Utils.Mensaje("Por favor, agregue artículos a la consignación", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (!Utils.Utils.ContinuarOperacion("Una vez ingresados los datos no podrán cambiarse. ¿Está totalmente seguro?")) { return; } consignacion.FechaEntrega = dtpFecEntrega.Value.Date; consignacion.FechaDevolucion = dtpFecDevolucion.Value.Date; consignacion.Estado = cboEstado.Text; consignacion.TipoCambio = tipoCambio; consignacion.Empleado = empleado; consignacion.FechaRegistro = DateTime.Now; BE.Movimiento movConsignacion = new BE.Movimiento(); movConsignacion.Local = empleado.Local; movConsignacion.Fecha = System.DateTime.Now; new MovimientoBL().Grabar(movConsignacion); consignacion.NroMovimiento = movConsignacion; if (new DocumentoConsignacionBL().Grabar(consignacion) && new DocumentoConsignacionBL().Grabar(consignacionLineas)) { Utils.Utils.OK(Utils.Utils.REGISTRO_OK); btnGuardar.Visible = true; btnCancelar.Text = "Aceptar"; } else Utils.Utils.Error(null, "Error al guardar la informació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)) || (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 BE.Movimiento mov = new BE.Movimiento(); mov.Local = (Local)cmbLocal.SelectedItem; mov.Fecha = dtpFecha.Value.Date; mov.TipoMovimiento = "Incidencia"; //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); }