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; } }
protected DataTable ConsultarInventario(String centroCostos, String subcentroCosto, String ciudad, String[] datos, DataRow fila) { String id_Ciudad; DataTable tablaentregas = new DataTable(); tablaentregas.Columns.Add("ID_PRODUCTO"); tablaentregas.Columns.Add("ID_LOTE"); tablaentregas.Columns.Add("CANTIDAD"); tablaentregas.Columns.Add("TALLA"); DataRow entrega = tablaentregas.NewRow(); if (!(centroCostos.Equals("0"))) { centroCosto _centroC = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaCentro = _centroC.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(centroCostos)); DataRow filaCentros = tablaCentro.Rows[0]; id_Ciudad = filaCentros["ID_CIUDAD"].ToString(); } else if (!(subcentroCosto.Equals("0"))) { subCentroCosto _SubCentroC = new subCentroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSub = _SubCentroC.ObtenerSubCentrosDeCostoPorIdSubCosto(Convert.ToDecimal(subcentroCosto)); DataRow filaSubCentro = tablaSub.Rows[0]; centroCosto _centroC = new centroCosto(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaCentro = _centroC.ObtenerCentrosDeCostoPorIdCentroCosto(Convert.ToDecimal(filaSubCentro["ID_CENTRO_C"].ToString())); DataRow filaCentros = tablaCentro.Rows[0]; id_Ciudad = filaCentros["ID_CIUDAD"].ToString(); } else { id_Ciudad = ciudad; } int id_empresa = Convert.ToInt32(datos[3].ToString()); ciudad _ciudad = new ciudad(Session["idEmpresa"].ToString()); DataTable tablaCiudad = _ciudad.ObtenerCiudadPorIdCiudad(id_Ciudad); DataRow filaCiudad = tablaCiudad.Rows[0]; String id_regional = filaCiudad["ID_REGIONAL"].ToString(); bodega _bodega = new bodega(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablabodega = _bodega.ObtenerAlmRegBodegaPorIds(id_regional, id_Ciudad, id_empresa); if (tablabodega.Rows.Count <= 0) { Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron bodegas para la empresa en la ubicación seleccionada. Valide por favor."; configurarMensajes(true, System.Drawing.Color.Red, Label_MENSAJE, Panel_MENSAJES); } else { DataRow filaBodega = tablabodega.Rows[0]; lote _lote = new lote(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); HiddenField_idBodega.Value = filaBodega["ID_BODEGA"].ToString(); DataTable tablaLote = _lote.ObtenerAlmLotePorIdProductoBodega(Convert.ToInt32(fila["ID_PRODUCTO"]), Convert.ToInt32(filaBodega["ID_BODEGA"].ToString())); if (tablaLote.Rows.Count <= 0) { Label_MENSAJE.Text = "ADVERTENCIA: No hay existencias del producto " + fila["NOMBRE"].ToString() + " para la empresa seleccionada. Valide por favor."; configurarMensajes(true, System.Drawing.Color.Red, Label_MENSAJE, Panel_MENSAJES); } else { int contLote; foreach (DataRow filalotes in tablaLote.Rows) { entrega = tablaentregas.NewRow(); contLote = Convert.ToInt32(filalotes["ENTRADAS"]) - Convert.ToInt32(filalotes["SALIDAS"]); entrega[0] = filalotes["ID_PRODUCTO"]; entrega[1] = filalotes["ID_LOTE"]; entrega[2] = contLote; entrega[3] = filalotes["TALLA"]; tablaentregas.Rows.Add(entrega); } } } return tablaentregas; }
public Decimal guardarAjuste(String tipo, String idRegional, String idCiudad, int idEmpresa, int idProducto, String talla, int idLote, int CantidadMod, Decimal costo, String Motivo, Decimal idDocTemp, List<EquipoAjuste> listaEquiposAjuste, String NOMBRE_SERVICIO_COMPLEMENTARIO, String OBS_AUTORIZACION) { Decimal idDoc = 0; DateTime fecha; Decimal idInventario = 0; Boolean correcto = true; fecha = System.DateTime.Today; Conexion _dato = new Conexion(Empresa); _dato.IniciarTransaccion(); try { documento _doc = new documento(Empresa, Usuario); idDoc = _doc.AdicionarAlmDocumentos(0, Convert.ToInt32(idDocTemp), "AJUSTE", "", "", fecha, new DateTime(), 0, 0, 0, "APROBADO", Motivo, _dato, 0, OBS_AUTORIZACION); if (idDoc <= 0) { _dato.DeshacerTransaccion(); correcto = false; MensajeError = _doc.MensajeError; } else { bodega _bodega = new bodega(Empresa, Usuario); DataTable tablaBodega = _bodega.ObtenerAlmRegBodegaPorIds(idRegional, idCiudad, idEmpresa, _dato); if (_bodega.MensajeError != null) { _dato.DeshacerTransaccion(); correcto = false; MensajeError = _bodega.MensajeError; } else { DataRow filaBodega = tablaBodega.Rows[0]; lote _lote = new lote(Empresa, Usuario); DataTable tablaLote = _lote.ObtenerAlmLotePorId(idLote, _dato); if (_lote.MensajeError != null) { _dato.DeshacerTransaccion(); correcto = false; MensajeError = _bodega.MensajeError; } else { DataRow filalote = tablaLote.Rows[0]; if (tipo.Equals("COSTO")) { idInventario = AdicionarAlmInventario(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"]), 0, costo, fecha, "COSTO", _dato, idLote, talla, 0, 0, null, filalote["REEMBOLSO"].ToString()); if (idInventario <= 0) { _dato.DeshacerTransaccion(); correcto = false; } else { if (_lote.ActualizarAlmLote(idLote, Convert.ToInt32(filalote["ID_DOCUMENTO"]), idProducto, Convert.ToInt32(filalote["ID_BODEGA"]), Convert.ToDateTime(filalote["FECHA_REGISTRO"]), Convert.ToInt32(filalote["ENTRADAS"]), Convert.ToInt32(filalote["SALIDAS"]), costo, filalote["TALLA"].ToString(), filalote["ACTIVO"].ToString(), _dato) == false) { _dato.DeshacerTransaccion(); correcto = false; MensajeError = _lote.MensajeError; } } } else if (tipo.Equals("ENTRADA")) { int contenido = 0; int entradas = 0; int salidas = 0; if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS") { entradas = Convert.ToInt32(filalote["ENTRADAS"]) + CantidadMod; salidas = Convert.ToInt32(filalote["SALIDAS"]); contenido = entradas - salidas; String activo = "S"; if (contenido <= 0) { activo = "N"; } idInventario = AdicionarAlmInventario(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"]), CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato, idLote, filalote["TALLA"].ToString(), 0, 0, null, filalote["REEMBOLSO"].ToString()); if (idInventario <= 0) { _dato.DeshacerTransaccion(); correcto = false; } else { if (_lote.ActualizarAlmLote(idLote, Convert.ToInt32(filalote["ID_DOCUMENTO"]), idProducto, Convert.ToInt32(filalote["ID_BODEGA"]), Convert.ToDateTime(filalote["FECHA_REGISTRO"]), entradas, salidas, Convert.ToDecimal(filalote["COSTO"]), filalote["TALLA"].ToString(), activo, _dato) == false) { _dato.DeshacerTransaccion(); correcto = false; MensajeError += _lote.MensajeError; } } } else { producto _prod = new producto(Empresa, Usuario); entradas = Convert.ToInt32(filalote["ENTRADAS"]); salidas = Convert.ToInt32(filalote["SALIDAS"]); foreach (EquipoAjuste equipo in listaEquiposAjuste) { Decimal ID_NUEVO_EQUIPO = _prod.AdicionarAlmEquipo(Convert.ToInt32(equipo.ID_DOCUMENTO), equipo.MARCA, equipo.MODELO, equipo.SERIE, equipo.IMEI, equipo.NUMERO_CELULAR, "S", fecha, Convert.ToDecimal(idLote), _dato); if (ID_NUEVO_EQUIPO <= 0) { _dato.DeshacerTransaccion(); correcto = false; MensajeError += _lote.MensajeError; break; } else { entradas += 1; contenido = entradas - salidas; String activo = "S"; if (contenido <= 0) { activo = "N"; } idInventario = AdicionarAlmInventario(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"]), 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "ENTRADA", _dato, idLote, filalote["TALLA"].ToString(), Convert.ToInt32(ID_NUEVO_EQUIPO), 0, null, filalote["REEMBOLSO"].ToString()); if (idInventario <= 0) { _dato.DeshacerTransaccion(); correcto = false; break; } else { if (_lote.ActualizarAlmLote(idLote, Convert.ToInt32(filalote["ID_DOCUMENTO"]), idProducto, Convert.ToInt32(filalote["ID_BODEGA"]), Convert.ToDateTime(filalote["FECHA_REGISTRO"]), entradas, salidas, Convert.ToDecimal(filalote["COSTO"]), filalote["TALLA"].ToString(), activo, _dato) == false) { _dato.DeshacerTransaccion(); correcto = false; MensajeError += _lote.MensajeError; break; } } } } } } else { int contenido = 0; int entradas = 0; int salidas = 0; if (NOMBRE_SERVICIO_COMPLEMENTARIO != "EQUIPOS") { entradas = Convert.ToInt32(filalote["ENTRADAS"]); salidas = Convert.ToInt32(filalote["SALIDAS"]) + CantidadMod; contenido = entradas - salidas; String activo = "S"; if (contenido <= 0) { activo = "N"; } idInventario = AdicionarAlmInventario(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"]), CantidadMod, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato, idLote, filalote["TALLA"].ToString(), 0, 0, null, filalote["REEMBOLSO"].ToString()); if (idInventario <= 0) { _dato.DeshacerTransaccion(); correcto = false; } else { if (_lote.ActualizarAlmLote(idLote, Convert.ToInt32(filalote["ID_DOCUMENTO"]), idProducto, Convert.ToInt32(filalote["ID_BODEGA"]), Convert.ToDateTime(filalote["FECHA_REGISTRO"]), entradas, salidas, Convert.ToDecimal(filalote["COSTO"]), filalote["TALLA"].ToString(), activo, _dato) == false) { _dato.DeshacerTransaccion(); correcto = false; MensajeError += _lote.MensajeError; } } } else { producto _prod = new producto(Empresa, Usuario); entradas = Convert.ToInt32(filalote["ENTRADAS"]); salidas = Convert.ToInt32(filalote["SALIDAS"]); foreach (EquipoAjuste equipo in listaEquiposAjuste) { if (_prod.ActualizarAlmEquipoIdLoteActualIDocumentoActualParaSalida(equipo.ID_EQUIPO, "N", 0, 0, _dato) == false) { _dato.DeshacerTransaccion(); correcto = false; MensajeError += _prod.MensajeError; break; } else { salidas += 1; contenido = entradas - salidas; String activo = "S"; if (contenido <= 0) { activo = "N"; } idInventario = AdicionarAlmInventario(Convert.ToInt32(idDoc), idProducto, Convert.ToInt32(filaBodega["ID_BODEGA"]), 1, Convert.ToDecimal(filalote["COSTO"]), fecha, "SALIDA", _dato, idLote, filalote["TALLA"].ToString(), Convert.ToInt32(equipo.ID_EQUIPO), 0, null, filalote["REEMBOLSO"].ToString()); if (idInventario <= 0) { _dato.DeshacerTransaccion(); correcto = false; break; } else { if (_lote.ActualizarAlmLote(idLote, Convert.ToInt32(filalote["ID_DOCUMENTO"]), idProducto, Convert.ToInt32(filalote["ID_BODEGA"]), Convert.ToDateTime(filalote["FECHA_REGISTRO"]), entradas, salidas, Convert.ToDecimal(filalote["COSTO"]), filalote["TALLA"].ToString(), activo, _dato) == false) { _dato.DeshacerTransaccion(); correcto = false; MensajeError += _lote.MensajeError; break; } } } } } } } } } if (correcto == true) { documento_temp _docTemp = new documento_temp(Empresa, Usuario); if (_docTemp.ActualizarAlmDocumentoTemp(Convert.ToInt32(idDocTemp), Convert.ToDateTime(DateTime.Now.ToShortDateString()), "APROBADO", _dato, OBS_AUTORIZACION) == false) { _dato.DeshacerTransaccion(); correcto = false; MensajeError = _docTemp.MensajeError; } } if (correcto == true) { _dato.AceptarTransaccion(); } } catch (Exception ex) { _dato.DeshacerTransaccion(); correcto = false; MensajeError = ex.Message; } finally { _dato.Desconectar(); } if (correcto == true) { return idDoc; } else { return 0; } }
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); } }