/// <summary> /// Método que genera Tokens para el usuario especificado /// </summary> private void generaToken() { RetornoOperacion resultado = new RetornoOperacion(); int IdContacto = Convert.ToInt32(Session["id_registro"]); string Token; using (SAT_CL.Global.Contacto C = new SAT_CL.Global.Contacto(IdContacto)) { //Validando que exista el contacto if (C.id_contacto > 0) { resultado = SAT_CL.Seguridad.UsuarioToken.GeneraNuevoTokenUUID(C.id_usuario_sistema, C.id_compania_emisor, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, 1, out Token); if (resultado.OperacionExitosa) { resultado = new RetornoOperacion("Generación existosa. Nuevo Token generado: " + Token, true); //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); CargaGestorTokens(C.id_contacto); } else { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } }
private void cargaContenidoControles() { //Determinando el estatus de la página switch ((TSDK.ASP.Pagina.Estatus)Session["estatus"]) { case TSDK.ASP.Pagina.Estatus.Nuevo: //Borrando el contenido lblId.Text = "Por Asignar"; txtNombre.Text = txtTelefono.Text = txtEmail.Text = ""; break; case TSDK.ASP.Pagina.Estatus.Lectura: case TSDK.ASP.Pagina.Estatus.Edicion: //Instanciando registro de contacto using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto(Convert.ToInt32(Session["id_registro"]))) { //Si el registro existe if (c.habilitar) { //Borrando el contenido lblId.Text = c.id_contacto.ToString(); txtNombre.Text = c.nombre; txtTelefono.Text = c.telefono.ToString(); txtEmail.Text = c.email; using (SAT_CL.Global.CompaniaEmisorReceptor er = new SAT_CL.Global.CompaniaEmisorReceptor(c.id_cliente_proveedor)) { //Si el registro existe if (er.habilitar) { //txtUsuarioSistema.Text = u.nombre.ToString() + " ID:" + c.id_usuario_sistema.ToString(); txtClienteProveedor.Text = String.Format("{0} ID:{1}", er.nombre, c.id_cliente_proveedor); } } using (PerfilSeguridadUsuario psu = PerfilSeguridadUsuario.ObtienePerfilActivo(c.id_usuario_sistema)) { if (psu.id_usuario > 0) { ddlPerfil.SelectedValue = psu.id_perfil.ToString(); } } } } break; } //Limpiando errores lblError.Text = ""; }
/// <summary> /// Método que genera Tokens con una fecha de vigencia personalizada /// </summary> private void generaTokenVigencia() { RetornoOperacion resultado = new RetornoOperacion(); int IdContacto = Convert.ToInt32(Session["id_registro"]); DateTime FechaInicial = Fecha.ObtieneFechaEstandarMexicoCentro(); DateTime FechaFinal = Convert.ToDateTime(txtFechaVigenciaToken.Text); TimeSpan Dias = FechaFinal - FechaInicial; int Vigencia; string Token; Vigencia = Dias.Days; if (Vigencia >= 1) { using (SAT_CL.Global.Contacto C = new SAT_CL.Global.Contacto(IdContacto)) { //Validando que exista el contacto if (C.id_contacto > 0) { resultado = SAT_CL.Seguridad.UsuarioToken.GeneraNuevoTokenUUID(C.id_usuario_sistema, C.id_compania_emisor, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario, Vigencia, out Token); if (resultado.OperacionExitosa) { resultado = new RetornoOperacion("Generación existosa. Nuevo Token generado: " + Token, true); //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); CargaGestorTokens(C.id_contacto); } else { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } //Alternando Ventana ScriptServer.AlternarVentana(this.Page, "ElegirFechaVigencia", "contenedorFechaVigenciaToken", "ventanaFechaVigenciaToken"); //Recargando Grid Controles.InicializaIndices(gvGestionTokens); } else { resultado = new RetornoOperacion("La fecha de vigencia del Token debe ser mayor a la fecha de hoy.", false); //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); } }
private void bajaContacto() { //Creación del objeto retorno RetornoOperacion retorno = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Invoca al constructor de la clase y asigna el valor de la variable de session id_registro. using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto((int)Session["id_registro"])) { //Valida si el registro existe. if (c.id_contacto > 0) { //Asigna al objeto retorno los datos del usuario que realizo el cambio de estado del registro (Deshabilitó) retorno = c.DeshabilitaContacto(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando Operación Exitosa if (retorno.OperacionExitosa) { //Invoca al constructor de la clase y asigna el valor de la variable de session id_registro. using (SAT_CL.Seguridad.Usuario us = new SAT_CL.Seguridad.Usuario(c.id_usuario_sistema)) { //Valida si el registro existe. if (us.id_usuario > 0) { //Asigna al objeto retorno los datos del usuario que realizo el cambio de estado del registro(Deshabilito) retorno = us.DeshabilitaUsuario(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando Operación Exitosa if (retorno.OperacionExitosa) { //Instanciando registro de Usuario - Compania using (SAT_CL.Seguridad.UsuarioCompania uc = new SAT_CL.Seguridad.UsuarioCompania(us.id_usuario, c.id_compania_emisor)) { //Validando que Existe el Registro if (uc.id_usuario_compania > 0) { //Deshabilitando retorno = uc.DeshabilitaUsuarioCompania(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { SAT_CL.Seguridad.PerfilSeguridadUsuario IdPSU = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(c.id_usuario_sistema); //Instanciando Perfil Activo de Perfil Seguridad Usuario using (SAT_CL.Seguridad.PerfilSeguridadUsuario psu = new SAT_CL.Seguridad.PerfilSeguridadUsuario(IdPSU.id_perfil_usuario)) { if (psu.id_perfil_usuario > 0) { retorno = psu.DeshabilitaPerfilSeguridadUsuario(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { using (UsuarioToken activo = UsuarioToken.ObtieneTokenActivo(c.id_usuario_sistema, c.id_compania_emisor)) { retorno = activo.TerminaUsuarioToken(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } } } } } } } } } } } } //Valida que la operacion de inserción se realizo correctamente if (retorno.OperacionExitosa) { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha); //Completando Transacción trans.Complete(); } else { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha); } } //Valida si la operación se realizo correctamente. if (retorno.OperacionExitosa) { //Asigna el valor de estado lectura a la variable de session estatus Session["estatus"] = Pagina.Estatus.Nuevo; //Asigna el valor 0 a la variable de session id_registro Session["id_registro"] = 0; //invoca al método inicializaForma(). inicializaForma(); } }
/// <summary> /// Inserta o actualiza los valores del registro /// </summary> private void guardaContacto() { //Declarando Variables Auxiliares int id_usuario = 0; string pwdAleatoria = TSDK.Base.Cadena.CadenaAleatoria(20); string QtnAwr = TSDK.Base.Cadena.CadenaAleatoria(20); //Declarando objeto de resultado RetornoOperacion resultado = new RetornoOperacion(); RetornoOperacion resultadoP = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //En base al estatus switch ((TSDK.ASP.Pagina.Estatus)Session["estatus"]) { case TSDK.ASP.Pagina.Estatus.Nuevo: //Validando que se halla seleccionado un Perfil if (ddlPerfil.SelectedValue != "0" && ddlClienteProveedor.SelectedValue != "0") { //Asigna al objeto retorno los valores obtenidos del formulario Contacto, invocando al método de insercion de la clase usuario. resultado = SAT_CL.Seguridad.Usuario.InsertaUsuario(txtNombre.Text, txtEmail.Text, pwdAleatoria, DateTime.Today, 0, 0, "NA", QtnAwr, 0, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (resultado.OperacionExitosa) { //Obteniendo Registro de Usuario id_usuario = resultado.IdRegistro; //Insertando Usuario - Compania resultado = SAT_CL.Seguridad.UsuarioCompania.InsertaUsuarioCompania(id_usuario, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, 1, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (resultado.OperacionExitosa) { //Insertando Perfil resultado = SAT_CL.Seguridad.PerfilSeguridadUsuario.InsertaPerfilSeguridadUsuario(Convert.ToInt32(ddlPerfil.SelectedValue), id_usuario, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (resultado.OperacionExitosa) { //Registrando el Contacto con el ID de Usuario del sistema generado resultado = SAT_CL.Global.Contacto.InsertaContacto( ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtClienteProveedor.Text, "ID:", 1)), txtNombre.Text.ToUpper(), txtTelefono.Text, txtEmail.Text, id_usuario, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario ); } } } } else { //Instanciando Excepción resultado = new RetornoOperacion("* Seleccione un Perfil y un Tipo de Contacto de la Lista"); } break; case TSDK.ASP.Pagina.Estatus.Edicion: //Validando que se halla seleccionado un Perfil if (ddlClienteProveedor.SelectedValue != "0") { //Instanciando contacto actual using (SAT_CL.Global.Contacto c = new SAT_CL.Global.Contacto(Convert.ToInt32(Session["id_registro"]))) { //Si el Contacto existe if (c.habilitar) { //Insertando Nuevo Perfil Asignado (Si es que lo hay) /*resultadoP = SAT_CL.Seguridad.PerfilSeguridadUsuario.InsertaPerfilSeguridadUsuario(Convert.ToInt32(ddlPerfil.SelectedValue), c.id_usuario_sistema, * ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);*/ resultado = c.EditaContacto( Convert.ToInt32(Cadena.RegresaCadenaSeparada(txtClienteProveedor.Text, "ID:", 1)), txtNombre.Text.ToUpper(), txtTelefono.Text, txtEmail.Text, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario ); if (resultado.OperacionExitosa) { using (SAT_CL.Seguridad.Usuario u = new SAT_CL.Seguridad.Usuario(c.id_usuario_sistema)) { if (u.id_usuario > 0) { Usuario OldU = u; resultado = u.EditaInformacionGeneral( txtNombre.Text.ToUpper(), txtEmail.Text, OldU.sesiones_disponibles, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario ); } } } } } } else { //Instanciando Excepción resultado = new RetornoOperacion("* Seleccione un tipo de Contacto de la Lista."); } break; } //Valida que la operacion de inserción se realizo correctamente if (resultado.OperacionExitosa) { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); //Completando Transacción trans.Complete(); } else { //Mostrando Mensaje de Operación ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); } } //Si no hay errores de guardado if (resultado.OperacionExitosa) { //Guardando datos de registro para carga de estatus de lectura Session["id_registro"] = resultado.IdRegistro; Session["estatus"] = Pagina.Estatus.Lectura; inicializaForma(); } }
/// <summary> /// Método que almacen los detalles de calificacion de una entidad /// </summary> public void GuardaDetallesCalificacion() { //Creación del objeto retorno RetornoOperacion retorno = new RetornoOperacion(0); //Inserta una calificación (bloque transaccional) using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Valida si existe un rgistro de calificación if (this._id_calificacion == 0) { //En caso de ser un usuario (id_contacto es igual a cero) if (this._id_contacto == 0) { //Instancia a la clase seguridad y obtienen los datos del usuario using (SAT_CL.Seguridad.Usuario us = new SAT_CL.Seguridad.Usuario(this._id_usuario)) { //Inserta una Calificación con los datos del usuario retorno = SAT_CL.Calificacion.Calificacion.InsertarCalificacion(this._id_tabla, this._id_registro, 0, "", us.email, 0, this._id_usuario); } } //En caso Contrario (id_usuario es igual a cero) else { //Instancia a la clase Contacto y obtiene los datos necesarios del contacto using (SAT_CL.Global.Contacto con = new SAT_CL.Global.Contacto(this._id_contacto)) { //Inserta una calificación con los datos del contacto retorno = SAT_CL.Calificacion.Calificacion.InsertarCalificacion(this._id_tabla, this._id_registro, 0, "", con.email, this._id_contacto, 0); } } //Asigna al atributo calificación el idRegistro de BD this._id_calificacion = retorno.IdRegistro; } //Valida que se realizara correctamente la primera inserció o en su defecto que deje insertar conceptos de la misma entidad if (retorno.OperacionExitosa) { //Declara la variable estrellas byte estrellas = 0; //ASigna a la variable lo el valor que el usuario elija por concepto estrellas = Convert.ToByte(Request.Form["estrellas"]); //Si la estrella es mayor a cero if (estrellas > 0) { //Instancia a la clase Califición using (SAT_CL.Calificacion.Calificacion cal = new SAT_CL.Calificacion.Calificacion(this._id_calificacion)) { //Valida que exista una calificación if (cal.id_calificacion != 0) { //Inserta un detalle de calificación con los datos del contacto retorno = SAT_CL.Calificacion.CalificacionDetalle.InsertarCalificacionDetalle(this._id_calificacion, Convert.ToInt32(ddlConcepto.SelectedValue), estrellas, this._id_contacto, this._id_usuario); } } } //En caso contrario else { //ASigna mensaje de que no puede agregar una calificación en cero retorno = new RetornoOperacion("La calificacion mínima es una estrella"); this._id_calificacion = 0; } } //TErmina el bloque transaccional if (retorno.OperacionExitosa) { //termina la transacción trans.Complete(); } } //Valida que la operación if (retorno.OperacionExitosa) { //Inicializa el UC this.inicializaValores(this._id_tabla, this._id_registro, this._id_contacto, this._id_usuario, this._id_calificacion, true); } //Muestra el mensaje de error TSDK.ASP.ScriptServer.MuestraNotificacion(this.imgbtnAgregarConcepto, retorno, ScriptServer.PosicionNotificacion.AbajoDerecha); }