public static string IniciarSesion(string pUsuario, string pContrasena) { string validacion = ValidaUsuario(pUsuario, pContrasena); if (validacion != "") { return("1|" + validacion); } else { //Abrir Conexion CConexion ConexionBaseDatos = new CConexion(); string respuesta = ConexionBaseDatos.ConectarBaseDatosSqlServer(); //¿La conexion se establecio? if (respuesta == "Conexion Establecida") { CUsuario Usuario = new CUsuario(); Usuario.IniciarSesion(pUsuario, pContrasena, ConexionBaseDatos); if (Usuario.Usuario == "" || Usuario.Usuario == null || Usuario.Baja == true) { respuesta = "1|El usuario o contraseña son incorrectos, intentalo de nuevo."; } else { HttpContext.Current.Session["IdUsuario"] = Usuario.IdUsuario; HttpContext.Current.Session["IdSucursal"] = Usuario.IdSucursalPredeterminada; HttpCookie sesion = new HttpCookie("IdUsuario"); sesion.Value = Usuario.IdUsuario.ToString(); CSucursal Sucursal = new CSucursal(); Sucursal.LlenaObjeto(Usuario.IdSucursalPredeterminada, ConexionBaseDatos); HttpContext.Current.Session["IdEmpresa"] = Sucursal.IdEmpresa; if (Usuario.IdPerfil != 0 && (Usuario.TienePermisos(new string[] { "controlTotal" }, ConexionBaseDatos) == "" || Usuario.TienePermisos(new string[] { "perfilConfigurador" }, ConexionBaseDatos) == "")) { Usuario.LlenaObjeto(Usuario.IdUsuario, ConexionBaseDatos); Usuario.IdSucursalActual = Usuario.IdSucursalPredeterminada; Usuario.Editar(ConexionBaseDatos); CPerfil Perfil = new CPerfil(); Perfil.IdPerfil = Usuario.IdPerfil; Perfil.LlenaObjeto(Usuario.IdPerfil, ConexionBaseDatos); CPagina PaginaInicio = new CPagina(); PaginaInicio.LlenaObjeto(Perfil.IdPagina, ConexionBaseDatos); CMenu Menu = new CMenu(); Menu.LlenaObjeto(PaginaInicio.IdMenu, ConexionBaseDatos); respuesta = "0|Paginas/" + PaginaInicio.Pagina; } else if (Usuario.TieneSucursalAsignada(ConexionBaseDatos) == true) { Usuario.LlenaObjeto(Usuario.IdUsuario, ConexionBaseDatos); Usuario.IdSucursalActual = Usuario.IdSucursalPredeterminada; Usuario.Editar(ConexionBaseDatos); CSucursalAsignada SucursalAsignada = new CSucursalAsignada(); Dictionary <string, object> ParametrosSucursalAsignada = new Dictionary <string, object>(); ParametrosSucursalAsignada.Add("IdUsuario", Usuario.IdUsuario); ParametrosSucursalAsignada.Add("IdSucursal", Usuario.IdSucursalActual); SucursalAsignada.LlenaObjetoFiltros(ParametrosSucursalAsignada, ConexionBaseDatos); CPerfil Perfil = new CPerfil(); Perfil.LlenaObjeto(SucursalAsignada.IdPerfil, ConexionBaseDatos); CPagina PaginaInicio = new CPagina(); PaginaInicio.LlenaObjeto(Perfil.IdPagina, ConexionBaseDatos); CMenu Menu = new CMenu(); Menu.LlenaObjeto(PaginaInicio.IdMenu, ConexionBaseDatos); respuesta = "0|Paginas/" + PaginaInicio.Pagina; } else { HttpContext.Current.Session["IdUsuario"] = 0; sesion.Value = "0"; respuesta = "1|No tienes ninguna sucursal asignada, favor de avisar al administrador."; } HttpContext.Current.Response.SetCookie(sesion); CHistorialGenerico HistorialGenerico = new CHistorialGenerico(); HistorialGenerico.IdGenerico = Convert.ToInt32(HttpContext.Current.Session["IdUsuario"]); HistorialGenerico.IdUsuario = Convert.ToInt32(HttpContext.Current.Session["IdUsuario"]); HistorialGenerico.Fecha = Convert.ToDateTime(DateTime.Now); HistorialGenerico.Comentario = "El usuario " + Usuario.Nombre + " " + Usuario.ApellidoPaterno + " " + Usuario.ApellidoMaterno + " ingreso al sistema"; HistorialGenerico.AgregarHistorialGenerico("Usuario", ConexionBaseDatos); } } return(respuesta); } }