public String ElaborarContrato(int id_requerimiento, int id_solicitud, int id_empresa, int id_centro_Costo, int id_sub_cc, String ciudad, int ID_SERVICIO_RESPECTIVO, int servicio, int id_ARP, int id_caja_c, int id_EPS, int id_Pensiones, Decimal riesgo, String pensionado, String Clase_Contrato, String Tipo_Contrato, String Tipo_Pago, DateTime fecha_Inicia, DateTime fecha_termina, String sal_int, Decimal Salario, String vigente, String activo, String liquidado, String pago_Liquidacion, int id_entidad, String Num_Cuenta, String Forma_pago, String PAGO_DIAS_PRODUCTIVIDAD, String SENA_PRODICTIVO, String SENA_ELECTIVO, String PRACTICANTE_UNIVERSITARIO, Decimal VALOR_NOMINA, Decimal VALOR_CONTRATO, DateTime FECHA_INICIO_PERIODO, DateTime FECHA_FIN_PERIODO, String Periodo_Pago, String tipo_Cuenta, string descripcion_salario, decimal idPerfil) { String datosG = ""; int id_perfil = 0; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { requisicion _req = new requisicion(Empresa, Usuario); DataTable tablaReq = _req.ObtenerComRequerimientoPorIdRequerimiento(Convert.ToDecimal(id_requerimiento), conexion); DataRow filaReq = tablaReq.Rows[0]; id_perfil = Convert.ToInt32(filaReq["REGISTRO_PERFIL"].ToString()); usuario _empleado = new usuario(Empresa); radicacionHojasDeVida _sol = new radicacionHojasDeVida(Empresa, Usuario); Decimal idEmpleado = _empleado.AdicionarNomEmpleados(0, id_solicitud, id_empresa, id_centro_Costo, id_sub_cc, fecha_Inicia, Salario, pensionado, activo, liquidado, riesgo, id_ARP, id_caja_c, id_EPS, id_Pensiones, "C", id_entidad, Num_Cuenta, sal_int, ciudad, id_perfil, tipo_Cuenta, descripcion_salario, Forma_pago, conexion); if (idEmpleado <= 0) { _mensaje_error = "\n El empleado no fue creado, " + _empleado.MensajeError; conexion.DeshacerTransaccion(); } else { registroContrato _contrato = new registroContrato(Empresa, Usuario); Decimal id_Contrato = 0; /* revisado por cambio en riesgo */ id_Contrato = _contrato.AdicionarConRegContratos(Convert.ToInt32(idEmpleado), id_requerimiento, id_solicitud, id_centro_Costo, id_sub_cc, Clase_Contrato, fecha_Inicia, fecha_termina, vigente, pago_Liquidacion, sal_int, Tipo_Contrato, ID_SERVICIO_RESPECTIVO, ciudad, servicio, conexion, PAGO_DIAS_PRODUCTIVIDAD, SENA_PRODICTIVO, SENA_ELECTIVO, PRACTICANTE_UNIVERSITARIO, VALOR_NOMINA, VALOR_CONTRATO, FECHA_INICIO_PERIODO, FECHA_FIN_PERIODO, Periodo_Pago); if (String.IsNullOrEmpty(_contrato.MensajeError)) { _empleado.ActualizarNomEmpleados(Convert.ToInt32(idEmpleado), Convert.ToInt32(id_Contrato), id_solicitud, id_empresa, id_centro_Costo, id_sub_cc, fecha_Inicia, Salario, pensionado, activo, liquidado, riesgo, id_ARP, id_caja_c, id_EPS, id_Pensiones, "C", id_entidad, Num_Cuenta, sal_int, ciudad, id_perfil, Forma_pago, conexion); if (String.IsNullOrEmpty(_empleado.MensajeError)) { if (_sol.ActualizarEstadoProcesoRegSolicitudesIngreso(id_requerimiento, id_solicitud, "CONTRATADO", Usuario, conexion)) { if (_sol.ActualizarEstadoRegSolicitudesIngreso(id_requerimiento, id_solicitud, "CONTRATADO", conexion)) { datosG = id_Contrato + "," + idEmpleado; try { conexion.ExecuteNonQuery("usp_ESC_CRT_ENTREGAS_SC_adicionar " + idEmpleado + ", '" + Usuario + "'"); conexion.ExecuteNonQuery("usp_empleado_clausulas_contratar " + idEmpleado + ", " + idPerfil + ", '" + Usuario + "'"); Int32 requerimientoActualizado = Convert.ToInt32(conexion.ExecuteScalar("usp_comprobar_cierre_requisicion_por_sistema " + id_requerimiento.ToString() + ", '" + Usuario + "'")); if (requerimientoActualizado <= 0) { conexion.DeshacerTransaccion(); MensajeError = "El empleado no fue creado, Ocurrio un error al momento de determinar si la requisición debe ser cuplida por sistema."; } else { conexion.AceptarTransaccion(); } } catch { _mensaje_error += "\n No fue posible registrar los servicios complementarios o clausulas para el perfil contratado " + _sol.MensajeError; conexion.AceptarTransaccion(); } } else { _mensaje_error += "\n No fue posible actualizar el estado de la solicitud: " + _sol.MensajeError; conexion.DeshacerTransaccion(); } } else { _mensaje_error += "\n No fue posible actualizar el estado del proceso de la soliciutd: " + _sol.MensajeError; conexion.DeshacerTransaccion(); } } else { _mensaje_error += "\n Se presentó el siguiente error en la actualización del empleado: " + _empleado.MensajeError; conexion.DeshacerTransaccion(); } } else { _mensaje_error += "\n Se presentó el siguiente error en la creación del contrato: " + _contrato.MensajeError; conexion.DeshacerTransaccion(); } } } catch (Exception e) { MensajeError = e.Message; conexion.DeshacerTransaccion(); } finally { conexion.Desconectar(); } return datosG; }
protected void Button_ACEPTAR_Click(object sender, EventArgs e) { Decimal ID_EMPRESA; Boolean verificador = true; Session.Add("idEmpresa", "1"); ID_EMPRESA = 1; if (verificador == true) { String LOGON_USER = Request.ServerVariables["LOGON_USER"].ToString(); String REMOTE_USER = Request.ServerVariables["REMOTE_USER"].ToString(); String LOCAL_ADDR = Request.ServerVariables["LOCAL_ADDR"].ToString(); String REMOTE_ADDR = Request.ServerVariables["REMOTE_ADDR"].ToString(); String REMOTE_HOST = Request.ServerVariables["REMOTE_HOST"].ToString(); String HTTP_USER_AGENT = Request.ServerVariables["HTTP_USER_AGENT"].ToString(); usuario usuario = new usuario(ID_EMPRESA.ToString()); if (usuario.IniciarSesion(TextBox_NombreUsuario.Text, TextBox_Pasword.Text, LOGON_USER, REMOTE_USER, LOCAL_ADDR, REMOTE_ADDR, REMOTE_HOST, HTTP_USER_AGENT) == false) { String[] mensajeError = usuario.MensajeError.Split(':'); if (mensajeError[0] == "8") { Ocultar(Acciones.Inicio); Mostrar(Acciones.CambioPassword); Cargar(Acciones.CambioPassword); //Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, mensajeError[1], Proceso.Advertencia); ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "openpopup();", true); } else { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "openpopup();", true); //Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, mensajeError[1], Proceso.Error); } } else { Session.Remove("USU_LOG"); Session.Remove("USU_ID"); Session.Remove("USU_TIPO"); Session.Add("USU_LOG", TextBox_NombreUsuario.Text); Session.Add("USU_TIPO", usuario.TipoUsuario); Session.Remove("NOM_EMPLEADO"); Session.Add("NOM_EMPLEADO", usuario.NombreUsuario); if (usuario.TipoUsuario == "PUBLICO") { tools _tools = new tools(); SecureQueryString QueryStringSeguro_seleccion; QueryStringSeguro_seleccion = new SecureQueryString(_tools.byteParaQueryStringSeguro()); QueryStringSeguro_seleccion["img_area"] = "seleccion"; QueryStringSeguro_seleccion["nombre_area"] = "RECLUTAMIENTO, SELECCIÓN Y REQUISICIONES"; QueryStringSeguro_seleccion["nombre_modulo"] = "HOJA TRABAJO SELECCIÓN"; QueryStringSeguro_seleccion["accion"] = "inicial"; Response.Redirect("~/seleccionCliente/hojaTrabajoSeleccion.aspx?data=" + HttpUtility.UrlEncode(QueryStringSeguro_seleccion.ToString())); } else { EnviarNotificaciones(); //Response.Redirect("~/areas/areas.aspx"); Response.Redirect("~/WebForms/MenuPrincipal.aspx"); } } } }
public Decimal guardarCierreInventario(DateTime FECHA_INICIO, DateTime FECHA_FIN) { Decimal idCierre = 0; Decimal idDetalle = 0; int idCierreActivo = 0; DataTable tablaCierres = new DataTable(); Boolean correcto = true; bool ejecuta; Conexion _dates = new Conexion(Empresa); _dates.IniciarTransaccion(); try { if (FECHA_INICIO < FECHA_FIN) { MensajeError = null; tablaCierres = ObtenerInvCierreTodos(_dates); if (MensajeError != null) { correcto = false; ejecuta = false; _dates.DeshacerTransaccion(); } else { if (tablaCierres.Rows.Count == 0) { if (FECHA_FIN <= System.DateTime.Today) { ejecuta = true; } else { ejecuta = false; correcto = false; _dates.DeshacerTransaccion(); MensajeError += "La fecha final no debe ser mayor a la fecha de hoy. Valide por favor"; } } else { DataRow filaCierres = tablaCierres.Rows[0]; DateTime FECHA_CORTE = Convert.ToDateTime(filaCierres["FECHA_CORTE"].ToString()); idCierreActivo = Convert.ToInt32(filaCierres["ID_CIERRE"].ToString()); if (FECHA_INICIO > FECHA_CORTE) { if (FECHA_FIN <= System.DateTime.Today) { ejecuta = true; } else { ejecuta = false; correcto = false; _dates.DeshacerTransaccion(); MensajeError += "La fecha final no debe ser mayor a la fecha de hoy. Valide por favor"; } } else { MensajeError = "ADVERTENCIA: La fecha de inicio está contenida en el último cierre. Valide por favor."; ejecuta = false; correcto = false; _dates.DeshacerTransaccion(); } } } } else { MensajeError += "La fecha de fin debe ser mayor que la fecha de inicio. Valide por favor."; correcto = false; ejecuta = false; _dates.DeshacerTransaccion(); } if (ejecuta) { Inventario _inventario = new Inventario(Empresa, Usuario); DataTable tablaInventario = _inventario.ObtenerAlmInventarioPorPeriodo(FECHA_INICIO, FECHA_FIN, _dates); if (_inventario.MensajeError != null) { ejecuta = false; correcto = false; MensajeError = _inventario.MensajeError; _dates.DeshacerTransaccion(); } else { DataTable tablaCierre = new DataTable(); tablaCierre.Columns.Add("ID_PRODUCTO", typeof(Decimal)); tablaCierre.Columns.Add("ID_BODEGA", typeof(Decimal)); tablaCierre.Columns.Add("TALLA", typeof(String)); tablaCierre.Columns.Add("CANTIDAD", typeof(Int32)); tablaCierre.Columns.Add("COSTO", typeof(Decimal)); if (idCierreActivo != 0) { DataTable tablaDetalles = ObtenerInvDetalleCierrePorIdCierre(idCierreActivo, _dates); foreach (DataRow filac in tablaDetalles.Rows) { DataRow filan = tablaCierre.NewRow(); filan["ID_PRODUCTO"] = Convert.ToDecimal(filac["ID_PRODUCTO"]); filan["ID_BODEGA"] = Convert.ToDecimal(filac["ID_BODEGA"]); filan["TALLA"] = filac["TALLA"]; filan["CANTIDAD"] = Convert.ToInt32(filac["CANTIDAD_INVENTARIO"]); filan["COSTO"] = Convert.ToDecimal(filac["COSTO_PROMEDIO"]); tablaCierre.Rows.Add(filan); } } DataRow filam; usuario _usuario = new usuario(Empresa); DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(Usuario, _dates); if (_usuario.MensajeError != null) { ejecuta = false; correcto = false; MensajeError = _usuario.MensajeError; _dates.DeshacerTransaccion(); } else { DataRow filaUsuario = tablaUsuario.Rows[0]; /* * ES MUY IMPORTANTE ESTO, * EN LA UTLIMA REUNION SE DECLARO QUE EL BOTON DE CIERRE FISICO NO SERVIA * POR LO TANTO AUTOMATICAMENTE EL ACREAR EL CIERRE DE UNA LO DEJAMOS EN ESTADO 'ACTIVO', * ANTES SE GUARDABA EN ESTADO 'ABIERTO' */ idCierre = AdicionarInvCierre(Convert.ToInt32(filaUsuario["ID_USUARIO"]), System.DateTime.Today, FECHA_FIN, FECHA_INICIO, "", "ACTIVO", _dates); if (idCierre != 0) { foreach (DataRow fila in tablaInventario.Rows) { if (tablaCierre.Rows.Count <= 0) { filam = tablaCierre.NewRow(); filam["ID_PRODUCTO"] = fila["ID_PRODUCTO"]; filam["ID_BODEGA"] = fila["ID_BODEGA"]; filam["TALLA"] = fila["TALLA"]; if (fila["MOVIMIENTO"].Equals("ENTRADA")) { filam["CANTIDAD"] = Convert.ToInt32(fila["CANTIDAD"]); filam["COSTO"] = Convert.ToDecimal(fila["COSTO"]); } else if (fila["MOVIMIENTO"].Equals("SALIDA")) { filam["CANTIDAD"] = -Convert.ToInt32(fila["CANTIDAD"]); filam["COSTO"] = 1; } tablaCierre.Rows.Add(filam); } else { DataRow[] filasCoinciden = tablaCierre.Select("ID_PRODUCTO = '" + fila["ID_PRODUCTO"].ToString() + "' AND ID_BODEGA = '" + fila["ID_BODEGA"].ToString() + "' AND TALLA = '" + fila["TALLA"].ToString() + "' AND COSTO = '" + fila["COSTO"].ToString() + "'"); if (filasCoinciden.Length <= 0) { filam = tablaCierre.NewRow(); filam["ID_PRODUCTO"] = fila["ID_PRODUCTO"]; filam["ID_BODEGA"] = fila["ID_BODEGA"]; filam["TALLA"] = fila["TALLA"]; if (fila["MOVIMIENTO"].Equals("ENTRADA")) { filam["CANTIDAD"] = Convert.ToInt32(fila["CANTIDAD"]); filam["COSTO"] = Convert.ToDecimal(fila["COSTO"]); } else if (fila["MOVIMIENTO"].Equals("SALIDA")) { filam["CANTIDAD"] = -Convert.ToInt32(fila["CANTIDAD"]); filam["COSTO"] = 1; } tablaCierre.Rows.Add(filam); } else { DataRow filaCoincide = filasCoinciden[0]; Decimal costoN = 0; Int32 cantidadN = 0; Decimal CostoA = 0; Int32 cantidadA = 0; if (!(String.IsNullOrEmpty(fila["CANTIDAD"].ToString()))) { cantidadN = Convert.ToInt32(fila["CANTIDAD"]); } if (!(String.IsNullOrEmpty(fila["COSTO"].ToString()))) { costoN = Convert.ToDecimal(fila["COSTO"]); } if (!(String.IsNullOrEmpty(filaCoincide["CANTIDAD"].ToString()))) { cantidadA = Convert.ToInt32(filaCoincide["CANTIDAD"]); } if (!(String.IsNullOrEmpty(filaCoincide["COSTO"].ToString()))) { CostoA = Convert.ToDecimal(filaCoincide["COSTO"]); } if (fila["MOVIMIENTO"].Equals("ENTRADA")) { filaCoincide["CANTIDAD"] = cantidadA + cantidadN; if (cantidadA < 0) { cantidadA = cantidadA * (-1); } if (cantidadN < 0) { cantidadN = cantidadN * (-1); } filaCoincide["COSTO"] = (((cantidadA * CostoA) + (cantidadN * costoN)) / (cantidadA + cantidadN)); } else if (fila["MOVIMIENTO"].Equals("SALIDA")) { filaCoincide["CANTIDAD"] = cantidadA - cantidadN; } } } } if (correcto == true) { int x = 0; if (tablaCierre.Rows.Count != 0) { foreach (DataRow filax in tablaCierre.Rows) { Decimal costo = 0; if (!(String.IsNullOrEmpty(filax["COSTO"].ToString()))) { costo = Convert.ToDecimal(filax["COSTO"]); } /* * ACA TAMBIEN ES IMPORTANTE ACLARAR * QUE DESPUES DE LA ULTIMA REUNION EL BOTON DE CIERRE FISICO SE DEBIA QUITAR * ENTONCES LOS DETALLES DEL CIERRE DE UNA VEZ SE DEJAN EN ESTADO 'COMPLETADO' * ADEMAS EL VALOR DE LA CANTIDAD FISICA SE DEJA IGUAL QUE LA CANTIDAD INVENTARIO * ANTES SE CREABA EL REGISTRO EN ESTADO 'ABIERTO' Y LA CANTIDAD FISICA EN CERO * PARA QUE DESPUES POR CIERRE FISICO SE VALIDARA DICHA CANTIDAD * */ idDetalle = AdicionarInvDetalleCierre(Convert.ToInt32(idCierre), Convert.ToInt32(filax["ID_PRODUCTO"]), Convert.ToInt32(filax["CANTIDAD"]), Convert.ToInt32(filax["CANTIDAD"]), Convert.ToInt32(filax["ID_BODEGA"]), filax["TALLA"].ToString(), costo, "COMPLETADO", _dates); if (idDetalle != 0) { x++; } else { _dates.DeshacerTransaccion(); correcto = false; ejecuta = false; idCierre = 0; break; } } } else { MensajeError += "No hay detalles en el cierre."; idCierre = 0; correcto = false; ejecuta = false; _dates.DeshacerTransaccion(); } } } else { _dates.DeshacerTransaccion(); correcto = false; ejecuta = false; idCierre = 0; } } } } if (correcto == true) { _dates.AceptarTransaccion(); } } catch (Exception ex) { MensajeError = ex.Message; correcto = false; ejecuta = false; _dates.DeshacerTransaccion(); } finally { _dates.Desconectar(); } if (correcto == true) { return idCierre; } else { return 0; } }
public Decimal AdicionarUsuarioSistema(String USU_LOG, String USU_PSW, String Usu_Obs, String USU_CRE, Decimal ID_EMPLEADO, String USU_MAIL, String USU_TIPO, Boolean usuExternoCreado, usuario usuarioExterno, String nivelAcceso, String nivelAccesoRegionales, List<UsuarioEmpresaCiudad> listaUsuarioEmpresasCiudades, Decimal ID_ROL, String ID_CIUDAD_TRABAJADOR, String NIVEL_ACCESO_EMPRESAS) { Decimal ID_USUARIO = 0; Boolean correcto = true; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); try { if (USU_TIPO == "PLANTA") { ID_USUARIO = AdicionarCrtUsuario(USU_LOG, USU_PSW, Usu_Obs, USU_CRE, ID_EMPLEADO, USU_MAIL, USU_TIPO, nivelAcceso, nivelAccesoRegionales, ID_ROL, ID_CIUDAD_TRABAJADOR, NIVEL_ACCESO_EMPRESAS, conexion); if (ID_USUARIO <= 0) { conexion.DeshacerTransaccion(); ID_USUARIO = 0; correcto = false; } } else { if (usuExternoCreado == true) { ID_USUARIO = AdicionarCrtUsuario(USU_LOG, USU_PSW, Usu_Obs, USU_CRE, ID_EMPLEADO, USU_MAIL, USU_TIPO, nivelAcceso, nivelAccesoRegionales, ID_ROL, ID_CIUDAD_TRABAJADOR, NIVEL_ACCESO_EMPRESAS, conexion); if (ID_USUARIO <= 0) { conexion.DeshacerTransaccion(); ID_USUARIO = 0; correcto = false; } } else { ID_EMPLEADO = AdicionarCrtRegUsuariosNoPlanta(usuarioExterno.ApellidosExterno, usuarioExterno.NombresExterno, usuarioExterno.TipDocIdentidadExterno, usuarioExterno.NumDocIdentidadExterno, usuarioExterno.DireccionExterno, usuarioExterno.TelefonoExterno, usuarioExterno.CelularExterno, USU_CRE, conexion); if (ID_EMPLEADO > 0) { ID_USUARIO = AdicionarCrtUsuario(USU_LOG, USU_PSW, Usu_Obs, USU_CRE, ID_EMPLEADO, USU_MAIL, USU_TIPO, nivelAcceso, nivelAccesoRegionales, ID_ROL, ID_CIUDAD_TRABAJADOR, NIVEL_ACCESO_EMPRESAS, conexion); if (ID_USUARIO <= 0) { conexion.DeshacerTransaccion(); ID_USUARIO = 0; correcto = false; } } else { conexion.DeshacerTransaccion(); ID_USUARIO = 0; correcto = false; } } } if (correcto == true) { if (InactivarRelacionesEmpresaCiudadesActualesDeUnUsuario(ID_USUARIO, USU_CRE, conexion) == false) { conexion.DeshacerTransaccion(); ID_USUARIO = 0; correcto = false; } else { foreach (UsuarioEmpresaCiudad uec in listaUsuarioEmpresasCiudades) { if (AsignarRelacionEmpresaCiudadAUnUsuario(ID_USUARIO, uec.ID_EMPRESA, uec.ID_CIUDAD, USU_CRE, conexion) == false) { conexion.DeshacerTransaccion(); ID_USUARIO = 0; correcto = false; break; } } } } if (correcto == true) { conexion.AceptarTransaccion(); } } catch { conexion.DeshacerTransaccion(); ID_USUARIO = 0; correcto = false; } finally { conexion.Desconectar(); } return ID_USUARIO; }
public Boolean ActualizarUsuario(Decimal Id_Usuario, String USU_LOG, String Usu_Obs, String USU_MOD, Decimal ID_EMPLEADO, String USU_MAIL, String USU_TIPO, String USU_PSW, Boolean usuExternoCreado, usuario usuarioExterno, String ESTADO, String USU_NIVEL_ACCESO, String USU_NIVEL_ACCESO_REGIONALES, Decimal ID_ROL, List<UsuarioEmpresaCiudad> listaUsuarioEmpresasCiudades, String ID_CIUDAD_TRABAJADOR, String USU_NIVEL_ACCESO_EMPRESAS) { Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); Boolean correcto = true; try { if (USU_TIPO == "PLANTA") { if (ActualizarCrtUsuario(Id_Usuario, USU_LOG, Usu_Obs, USU_MOD, ID_EMPLEADO, USU_MAIL, USU_TIPO, ESTADO, USU_NIVEL_ACCESO, USU_NIVEL_ACCESO_REGIONALES, ID_ROL, ID_CIUDAD_TRABAJADOR, USU_NIVEL_ACCESO_EMPRESAS, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; } } else { if (usuExternoCreado == true) { if (ActualizarCrtUsuario(Id_Usuario, USU_LOG, Usu_Obs, USU_MOD, ID_EMPLEADO, USU_MAIL, USU_TIPO, ESTADO, USU_NIVEL_ACCESO, USU_NIVEL_ACCESO_REGIONALES, ID_ROL, ID_CIUDAD_TRABAJADOR, USU_NIVEL_ACCESO_EMPRESAS, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; } } else { ID_EMPLEADO = AdicionarCrtRegUsuariosNoPlanta(usuarioExterno.ApellidosExterno, usuarioExterno.NombresExterno, usuarioExterno.TipDocIdentidadExterno, usuarioExterno.NumDocIdentidadExterno, usuarioExterno.DireccionExterno, usuarioExterno.TelefonoExterno, usuarioExterno.CelularExterno, USU_MOD, conexion); if (ID_EMPLEADO > 0) { if (ActualizarCrtUsuario(Id_Usuario, USU_LOG, Usu_Obs, USU_MOD, ID_EMPLEADO, USU_MAIL, USU_TIPO, ESTADO, USU_NIVEL_ACCESO, USU_NIVEL_ACCESO_REGIONALES, ID_ROL, ID_CIUDAD_TRABAJADOR, USU_NIVEL_ACCESO_EMPRESAS, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; } } else { conexion.DeshacerTransaccion(); correcto = false; } } } if (correcto == true) { if (String.IsNullOrEmpty(USU_PSW) == false) { if (ActualizarClaveUsuarioDesdeAdministracion(USU_LOG, USU_PSW, USU_MOD, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; } } } if (correcto == true) { if (InactivarRelacionesEmpresaCiudadesActualesDeUnUsuario(Id_Usuario, USU_MOD, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; } else { foreach (UsuarioEmpresaCiudad uec in listaUsuarioEmpresasCiudades) { if (AsignarRelacionEmpresaCiudadAUnUsuario(Id_Usuario, uec.ID_EMPRESA, uec.ID_CIUDAD, USU_MOD, conexion) == false) { conexion.DeshacerTransaccion(); correcto = false; break; } } } } if (correcto == true) { conexion.AceptarTransaccion(); } } catch (Exception ex) { conexion.DeshacerTransaccion(); correcto = false; MensajeError = ex.Message; } finally { conexion.Desconectar(); } return correcto; }
public Boolean ActualizarRestriccionesEmpresas(Decimal Id_Usuario, String USU_LOG, Decimal ID_ROL, Boolean RESTRICCION_EMPRESAS, List<seguridad> listaRestricciones) { Decimal ID_EMPRESA_USUARIO_GENERADO = 0; Conexion conexion = new Conexion(Empresa); conexion.IniciarTransaccion(); Boolean verificador = true; try { usuario _usuario = new usuario(Empresa); if (_usuario.ActualizarRolUsuario(USU_LOG, ID_ROL, Usuario, conexion) == false) { conexion.DeshacerTransaccion(); MensajeError = _usuario.MensajeError; verificador = false; } else { if (RESTRICCION_EMPRESAS == true) { DataTable tablaRestriccionesActuales = ObtenerRestriccionEmpresasPorUsuLogIdRol(USU_LOG, ID_ROL, conexion); Boolean existeEmpresa = false; if (tablaRestriccionesActuales.Rows.Count > 0) { foreach (DataRow fila in tablaRestriccionesActuales.Rows) { existeEmpresa = false; foreach (seguridad empresa in listaRestricciones) { if (empresa.ID_EMPRESA == Convert.ToDecimal(fila["ID_EMPRESA"])) { existeEmpresa = true; break; } } if (existeEmpresa == false) { if (DesactivarRestriccionEmpresa(USU_LOG, ID_ROL, Convert.ToDecimal(fila["ID_EMPRESA"]), conexion) == false) { conexion.DeshacerTransaccion(); verificador = false; break; } } } } if (verificador == true) { foreach (seguridad empresa in listaRestricciones) { if (empresa.ID_EMPRESA_USUARIO == 0) { ID_EMPRESA_USUARIO_GENERADO = AdicinarRegistroCRT_EMPRESAS_POR_USUARIO(empresa.id_Usuario, empresa.USU_LOG, empresa.ID_ROL, empresa.ID_EMPRESA, conexion); if (ID_EMPRESA_USUARIO_GENERADO <= 0) { conexion.DeshacerTransaccion(); verificador = false; break; } } } } } if (verificador == true) { conexion.AceptarTransaccion(); } } } catch (Exception ex) { conexion.DeshacerTransaccion(); verificador = false; MensajeError = ex.Message; } finally { conexion.Desconectar(); } return verificador; }