private void guardarLinea(ArticuloXLocal artxlocal) { SolicitudTransferenciaLinea aux = new SolicitudTransferenciaLinea(); aux.ArticuloXLocal = artxlocal; lineas.Add(aux); }
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) { int nLineas = dgvSolRecep.Rows.Count; bool ok = true; int nError = 0;//0=vacio int nMod=0;//CantidadModificada List<TransferenciaLinea> lineas = new List<TransferenciaLinea>(); 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; nError = 0;//VACIO } else { int cantidadAceptada; //verificar numero valido if (!int.TryParse(sCantAceptada, out cantidadAceptada)) { ok = false; dgvSolRecep.Rows[i].DefaultCellStyle.BackColor = Color.RosyBrown; nError = 1;//NUMERO NO VALIDO } 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; nError = 2;//CANTIDAD MAYOR } 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) { Movimiento mov = new Movimiento(); mov.Local = solicitud.LocalOrigen; mov.Fecha = DateTime.Now.Date; 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; new MovimientoBL().Grabar(mov); new TransferenciaBL().Grabar(Trans); new TransferenciaLineaBL().AsignarSolicitudesLineas(lineas, Trans); if (nMod > 0) solicitud.Estado = "Parcialmente Aceptado"; else solicitud.Estado = "Aceptado"; new SolicitudTransferenciaBL().Grabar(solicitud); Utils.Utils.OK(IND_MENSAJE); this.Dispose(); } else switch (nError) { case 0: { Utils.Utils.Error(this,"Cantidad Aceptada se encuentra vacia"); break; } case 1: { Utils.Utils.Error(this, "Cantidad Aceptada no es un número válido"); break; } case 2: { Utils.Utils.Error(this, "Cantidad Aceptada es mayor a la Cantidad Solicitada"); break; } } }
public void SaveOrUpdate(SolicitudTransferenciaLinea 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(); } } } }