public Decimal guardarAjusteEquipo(String tipo, String idRegional, String idCiudad, int idEmpresa, int idProducto, int idEquipo, String talla, int idLote, int CantidadMod, Decimal costo, String Motivo) { Decimal idDoc = 0; DateTime fecha; Decimal idInventario = 0; fecha = System.DateTime.Today; Conexion _dato = new Conexion(Empresa); _dato.IniciarTransaccion(); documento_temp _doc = new documento_temp(Empresa, Usuario); idDoc = _doc.AdicionarAlmDocumentosTemp(0, "AJUSTE", "", fecha, Convert.ToDateTime("01/01/1900"), 0, "POR APROBAR", Motivo, _dato); if (idDoc != 0) { bodega _bodega = new bodega(Empresa, Usuario); DataTable tablaBodega = _bodega.ObtenerAlmRegBodegaPorIds(idRegional, idCiudad, idEmpresa); DataRow filaBodega = tablaBodega.Rows[0]; lote _lote = new lote(Empresa, Usuario); DataTable tablaLote = _lote.ObtenerAlmLotePorId(idLote); DataRow filalote = tablaLote.Rows[0]; if (tipo.Equals("COSTO")) { idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, idEquipo, talla, CantidadMod, costo, fecha, "MODIFICACION", _dato); if (idInventario == 0) { _dato.DeshacerTransaccion(); idDoc = 0; } else { _dato.AceptarTransaccion(); } } else if (tipo.Equals("ENTRADA")) { int contenido; contenido = Convert.ToInt32(filalote["ENTRADAS"].ToString()) - Convert.ToInt32(filalote["SALIDAS"].ToString()); contenido = CantidadMod - contenido; idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, idEquipo, talla, contenido, 0, fecha, "ENTRADA", _dato); if (idInventario == 0) { _dato.DeshacerTransaccion(); idDoc = 0; } else { _dato.AceptarTransaccion(); } } else { int contenido; contenido = Convert.ToInt32(filalote["ENTRADAS"].ToString()) - Convert.ToInt32(filalote["SALIDAS"].ToString()); contenido = contenido - CantidadMod; idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, idEquipo, talla, contenido, 0, fecha, "SALIDA", _dato); if (idInventario == 0) { _dato.DeshacerTransaccion(); idDoc = 0; } else { _dato.AceptarTransaccion(); } } } else { _dato.DeshacerTransaccion(); MensajeError = _doc.MensajeError; idDoc = 0; } return(idDoc); }
public Decimal guardarAjuste(String tipo, String idRegional, String idCiudad, int idEmpresa, int idProducto, String talla, int idLote, int CantidadMod, Decimal costo, String Motivo, List <EquipoAjuste> listaEquiposAjuste, String NOMBRE_SERVICIO_COMPLEMENTARIO) { Decimal idDoc = 0; DateTime fecha; Decimal idInventario = 0; Boolean correcto = true; fecha = System.DateTime.Today; Conexion _dato = new Conexion(Empresa); _dato.IniciarTransaccion(); try { documento_temp _doc = new documento_temp(Empresa, Usuario); idDoc = _doc.AdicionarAlmDocumentosTemp(0, "AJUSTE", "", fecha, new DateTime(), 0, "POR APROBAR", Motivo, _dato); if (idDoc <= 0) { correcto = false; MensajeError = _doc.MensajeError; _dato.DeshacerTransaccion(); } else { bodega _bodega = new bodega(Empresa, Usuario); _bodega.MensajeError = null; DataTable tablaBodega = _bodega.ObtenerAlmRegBodegaPorIds(idRegional, idCiudad, idEmpresa, _dato); if (_bodega.MensajeError != null) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; } else { DataRow filaBodega = tablaBodega.Rows[0]; lote _lote = new lote(Empresa, Usuario); _lote.MensajeError = null; DataTable tablaLote = _lote.ObtenerAlmLotePorId(idLote, _dato); if (_lote.MensajeError != null) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; } else { DataRow filalote = tablaLote.Rows[0]; if (tipo.Equals("COSTO")) { idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, costo, fecha, "COSTO", _dato); if (idInventario == 0) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; } } else if (tipo.Equals("ENTRADA")) { if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS") { idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato); if (idInventario == 0) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; } } else { foreach (EquipoAjuste equipo in listaEquiposAjuste) { EquipoEntradaTemp _equipoTemp = new EquipoEntradaTemp(Empresa, Usuario); Decimal ID_EQUIPO_TEMP = _equipoTemp.AdicionarAlmEquipoEntradaTemp(equipo.ID_DOCUMENTO, equipo.MARCA, equipo.MODELO, equipo.SERIE, equipo.IMEI, equipo.NUMERO_CELULAR, fecha, equipo.ID_LOTE, _dato); if (ID_EQUIPO_TEMP <= 0) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; break; } else { idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), Convert.ToInt32(equipo.ID_PRODUCTO), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, Convert.ToInt32(ID_EQUIPO_TEMP), talla, 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato); if (idInventario == 0) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; break; } } } } } else { if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS") { idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, 0, talla, CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato); if (idInventario == 0) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; } } else { foreach (EquipoAjuste equipo in listaEquiposAjuste) { idInventario = AdicionarAlmInventarioTemp(Convert.ToInt32(idDoc), Convert.ToInt32(equipo.ID_PRODUCTO), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString()), idLote, Convert.ToInt32(equipo.ID_EQUIPO), talla, 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato); if (idInventario == 0) { correcto = false; _dato.DeshacerTransaccion(); MensajeError = _bodega.MensajeError; break; } } } } } } } if (correcto == true) { _dato.AceptarTransaccion(); } } catch (Exception ex) { correcto = false; MensajeError = ex.Message; _dato.DeshacerTransaccion(); } finally { _dato.Desconectar(); } if (correcto == true) { return(idDoc); } else { return(0); } }