示例#1
0
        public ActionResult Lista(UsuariosModelo usuario)
        {
            MiembroXSesion        miembroTemp = new MiembroXSesion();
            List <MiembroXSesion> miembro     = new List <MiembroXSesion>();

            for (int i = 0; i < usuario.Usuarios.Count; i++)
            {
                var m = db.getMiembrosXSesion(usuario.Usuarios[i].idUsuario, 1);

                if (m.Count() == 0)
                {
                    miembroTemp.idUsuario = usuario.Usuarios[i].idUsuario;
                    miembroTemp.idSesion  = usuario.sesion;
                    miembroTemp.presente  = usuario.Usuarios[i].isSelected;
                    db.MiembroXSesion.Add(miembroTemp);
                    db.SaveChanges();
                    System.Diagnostics.Debug.WriteLine("miembro " + usuario.Usuarios[i].idUsuario + "agregado");
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine("miembro " + usuario.Usuarios[i].idUsuario + "ya existia");
                    db.updateMiembroXSesion(usuario.Usuarios[i].idUsuario, 1, usuario.Usuarios[i].isSelected);
                    m = null;
                }
            }


            return(View(usuario));
        }
示例#2
0
        public ActionResult Detalles(UsuariosModelo model)
        {
            if (ModelState.IsValid)
            {
                var telefonos_viejos = baseDatos.Usuarios_Telefonos.Where(m => m.usuario == model.usuario.cedula);

                foreach (Usuarios_Telefonos telefono in telefonos_viejos)
                {
                    baseDatos.Entry(telefono).State = System.Data.Entity.EntityState.Deleted;
                }
                baseDatos.SaveChanges();

                var telefonoEntry = new Usuarios_Telefonos();
                telefonoEntry.telefono = model.tel1;
                telefonoEntry.usuario  = model.usuario.cedula;

                baseDatos.Usuarios_Telefonos.Add(telefonoEntry);

                if (model.tel2 != null)
                {
                    var telefonoEntry2 = new Usuarios_Telefonos();
                    telefonoEntry2.telefono = model.tel2;
                    telefonoEntry2.usuario  = model.usuario.cedula;
                    baseDatos.Usuarios_Telefonos.Add(telefonoEntry2);
                }

                if (model.tel3 != null)
                {
                    var telefonoEntry3 = new Usuarios_Telefonos();
                    telefonoEntry3.telefono = model.tel3;
                    telefonoEntry3.usuario  = model.usuario.cedula;
                    baseDatos.Usuarios_Telefonos.Add(telefonoEntry3);
                }

                baseDatos.SaveChanges();

                var usuario = baseDatos.Usuarios.Find(model.usuario.cedula);
                usuario.nombre    = model.nombreUsuario;
                usuario.updatedAt = DateTime.Now;

                baseDatos.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
                baseDatos.SaveChanges();

                var aspUser = UserManager.FindById(model.identityUsuario.Id);
                aspUser.UserName = model.email;
                aspUser.Email    = model.email;

                UserManager.Update(aspUser);

                var rolViejo       = aspUser.Roles.SingleOrDefault().RoleId;
                var nombreRolViejo = context.Roles.SingleOrDefault(m => m.Id == rolViejo).Name;
                UserManager.RemoveFromRole(model.identityUsuario.Id, nombreRolViejo);
                UserManager.AddToRole(model.identityUsuario.Id, model.rol.Name);

                this.AddToastMessage("Usuario Modificado", "El usuario " + model.usuario.nombre + " se ha actualizado correctamente.", ToastType.Success);
                return(RedirectToAction("Index", "Usuarios"));
            }

            return(View(model));
        }
示例#3
0
        /// <summary>
        /// Despliega la pagina Detalles.
        /// </summary>
        /// <param name="id"> Parametro que indica el id del usuario a consultar los detalles.</param>
        /// <returns>Pagina de Detalles</returns>
        // GET: Detalles
        public ActionResult Detalles(string id)
        {
            if (!revisarPermisos("Consultar Detalles de Usuarios"))
            {
                this.AddToastMessage("Acceso Denegado", "No tienes permiso para ver detalles de usuarios!", ToastType.Warning);
                return(RedirectToAction("Index", "Home"));
            }
            if (String.IsNullOrEmpty(id))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UsuariosModelo modelo = new UsuariosModelo();

            modelo.usuario = baseDatos.Usuarios.Find(id);
            if (modelo.usuario == null)
            {
                return(HttpNotFound());
            }
            modelo.nombreUsuario   = modelo.usuario.nombre;
            modelo.identityUsuario = context.Users.Find(modelo.usuario.id);
            if (modelo.identityUsuario == null)
            {
                return(HttpNotFound());
            }
            modelo.email     = modelo.identityUsuario.Email;
            modelo.telefonos = baseDatos.Usuarios_Telefonos.Where(a => a.usuario == modelo.usuario.cedula).ToList();

            //Valida que la informacion del modelo sea correcta
            if (modelo.telefonos != null && modelo.telefonos.Count > 0)
            {
                modelo.tel1 = modelo.telefonos.ElementAt(0).telefono;
            }
            if (modelo.telefonos.Count > 1)
            {
                modelo.tel2 = modelo.telefonos.ElementAt(1).telefono;
            }
            if (modelo.telefonos.Count > 2)
            {
                modelo.tel3 = modelo.telefonos.ElementAt(2).telefono;
            }

            // obtiene el usuario que esta autentificado para validar los permisos
            // segun su rol
            String currentUser = System.Web.HttpContext.Current.User.Identity.GetUserId();

            if (modelo.identityUsuario.Id != currentUser)
            {
                modelo.eliminarUsuario = revisarPermisos("Eliminar Usuarios");
            }
            else
            {
                modelo.eliminarUsuario = false;
            }
            modelo.modificarUsuario = revisarPermisos("Modificar Usuarios");

            modelo.rol   = context.Roles.Find(modelo.identityUsuario.Roles.First().RoleId);
            ViewBag.Name = new SelectList(context.Roles.ToList(), "Name", "Name", modelo.rol);
            return(View(modelo));
        }
示例#4
0
        /// <summary>
        /// Despliega la pagina index.
        /// </summary>
        /// <param name="page"> Parametro opcional que indica el numero de pagina para mostrar.</param>
        /// <returns>Pagina de Index</returns>
        // GET: Usuarios
        public ActionResult Index(int?page)
        {
            if (!revisarPermisos("Consular Lista de Usuarios"))
            {
                this.AddToastMessage("Acceso Denegado", "No tienes permiso para consultar Usuarios!", ToastType.Warning);
                return(RedirectToAction("Index", "Home"));
            }
            //se obtiene la informacion del modelo de usuarios
            UsuariosModelo modelo = new UsuariosModelo();

            modelo.roles             = context.Roles.ToList();
            modelo.usuarios          = baseDatos.Usuarios.OrderByDescending(s => s.updatedAt).ToList();
            modelo.identityUsuarios  = context.Users.ToList();
            modelo.indexUserInfoList = new List <UsuariosModelo.userInfo>();
            int pageSize    = 10;
            int pageNumber  = (page ?? 1);
            int lastElement = (modelo.usuarios.Count < pageSize * pageNumber) ? modelo.usuarios.Count : pageSize * pageNumber;

            //despliega la informacion de los usuarios por paginas
            for (int i = (pageNumber - 1) * pageSize; i < lastElement; i++)
            {
                UsuariosModelo.userInfo user = new UsuariosModelo.userInfo();
                user.cedula     = modelo.usuarios.ElementAt(i).cedula;
                user.nombre     = modelo.usuarios.ElementAt(i).nombre;
                user.identityId = modelo.usuarios.ElementAt(i).id;


                for (int j = 0; j < modelo.identityUsuarios.Count; j++)
                {
                    if (modelo.usuarios.ElementAt(i).id.Equals(modelo.identityUsuarios.ElementAt(j).Id))
                    {
                        user.correo = modelo.identityUsuarios.ElementAt(j).Email;

                        for (int k = 0; k < modelo.roles.Count; k++)
                        {
                            if (modelo.roles.ElementAt(k).Id.Equals(modelo.identityUsuarios.ElementAt(j).Roles.First().RoleId))
                            {
                                user.rol = modelo.roles.ElementAt(k).Name;
                            }
                        }
                    }
                }
                modelo.indexUserInfoList.Add(user);
            }
            modelo.crearUsuario    = revisarPermisos("Crear Usuarios");
            modelo.detallesUsuario = revisarPermisos("Consultar Detalles de Usuarios");
            var usersAsIPagedList = new StaticPagedList <UsuariosModelo.userInfo>(modelo.indexUserInfoList, pageNumber, pageSize, modelo.usuarios.Count);

            ViewBag.OnePageOfUsers = usersAsIPagedList;
            return(View(modelo));
        }
示例#5
0
        public async Task <ActionResult> Borrar(UsuariosModelo model)
        {
            //obtiene el usuario a borrar de la base de datos
            var user = await baseDatos.Usuarios.FindAsync(model.usuario.cedula);

            baseDatos.Entry(user).State = System.Data.Entity.EntityState.Deleted;
            baseDatos.SaveChanges();

            var aspUser = await UserManager.FindByIdAsync(model.identityUsuario.Id);

            await UserManager.DeleteAsync(aspUser);

            this.AddToastMessage("Usuario Borrado", "El usuario " + model.usuario.nombre + " se ha borrado correctamente.", ToastType.Success);
            return(RedirectToAction("Index", "Usuarios"));
        }
        public HttpResponseMessage Post([FromBody] AltaUsuarioRequest oParam)
        {
            HttpResponseMessage oResponseMessage = new HttpResponseMessage();
            AltaUsuarioResponse oResponse        = new AltaUsuarioResponse();
            UsuariosModelo      oProceso         = new UsuariosModelo();

            try
            {
                if (oParam != null)
                {
                    GrabaLog("Entrando a Metodo AltaUsuario", "POST");
                    var jsonRequestMessage = JsonConvert.SerializeObject(oParam);
                    GrabaLog("Request Message: " + jsonRequestMessage, "POST");
                    oResponse = oProceso.AltaUsuario(oParam);

                    if (oResponse.CodigoRespuesta == "00")
                    {
                        var jsonResponseMessage = JsonConvert.SerializeObject(oResponse);
                        GrabaLog("Response Message: " + jsonResponseMessage, "POST");
                        oResponseMessage = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                    }
                    else
                    {
                        var jsonResponseMessage = JsonConvert.SerializeObject(oResponse);
                        GrabaLog("Response Message: " + jsonResponseMessage, "POST");
                        oResponseMessage = Request.CreateResponse(HttpStatusCode.OK, oResponse);
                    }
                }
                else
                {
                    oResponse.Mensaje         = "No se especificaron parametros en la peticion";
                    oResponse.CodigoRespuesta = "12";
                    oResponseMessage          = Request.CreateResponse(HttpStatusCode.BadRequest, oResponse);
                }

                return(oResponseMessage);
            }
            catch (Exception ex)
            {
                GrabaLog("Ocurrio un error: " + ex.Message, "AltaUsuario");
                GrabaLog("Stack Trace: " + ex.StackTrace, "AltaUsuario");
                oResponse.Mensaje         = "No se especificaron parametros en la peticion";
                oResponse.CodigoRespuesta = "06";
                oResponseMessage          = Request.CreateResponse(HttpStatusCode.InternalServerError, oResponse);
                return(oResponseMessage);
            }
        }
示例#7
0
        private void BtnRegistrar_Clicked(object sender, EventArgs e)
        {
            UsuariosModelo oProceso = new UsuariosModelo();

            UsuariosModelo.AltaUsuarioResponse oResponse = new UsuariosModelo.AltaUsuarioResponse();
            oResponse = oProceso.AltaUsuarioCheckLock(entry_Correo.Text, entry_RegPass.Text, entry_Nombre.Text
                                                      , entry_SegundoNombre.Text, entry_ApellidoPaterno.Text, entry_ApellidoMaterno.Text
                                                      , Convert.ToInt32(entry_Edad.Text), "");

            if (oResponse.CodigoRespuesta == "00")
            {
                DisplayAlert("Registro", "Registro realizado con éxito.", "Ok");
                ((NavigationPage)this.Parent).PushAsync(new LoginPage());
            }
            else
            {
                DisplayAlert("Error", "Ocurrio un error al realizar el registro: " + oResponse.Mensaje, "Ok");
                ((NavigationPage)this.Parent).PushAsync(new LoginPage());
            }
        }
        //
        // GET: /Manage/Index
        public ActionResult Index(ManageMessageId?message)
        {
            String userID = System.Web.HttpContext.Current.User.Identity.GetUserId();

            if (String.IsNullOrEmpty(userID))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            UsuariosModelo modelo = new UsuariosModelo();

            modelo.usuario = baseDatos.Usuarios.Where(m => m.id == userID).FirstOrDefault();
            if (modelo.usuario == null)
            {
                return(HttpNotFound());
            }
            modelo.nombreUsuario   = modelo.usuario.nombre;
            modelo.identityUsuario = context.Users.Find(modelo.usuario.id);
            if (modelo.identityUsuario == null)
            {
                return(HttpNotFound());
            }
            modelo.email     = modelo.identityUsuario.Email;
            modelo.telefonos = baseDatos.Usuarios_Telefonos.Where(a => a.usuario == modelo.usuario.cedula).ToList();
            if (modelo.telefonos != null && modelo.telefonos.Count > 0)
            {
                modelo.tel1 = modelo.telefonos.ElementAt(0).telefono;
            }
            if (modelo.telefonos.Count > 1)
            {
                modelo.tel2 = modelo.telefonos.ElementAt(1).telefono;
            }
            if (modelo.telefonos.Count > 2)
            {
                modelo.tel3 = modelo.telefonos.ElementAt(2).telefono;
            }
            String currentUser = System.Web.HttpContext.Current.User.Identity.GetUserId();

            modelo.rol   = context.Roles.Find(modelo.identityUsuario.Roles.First().RoleId);
            ViewBag.Name = new SelectList(context.Roles.ToList(), "Name", "Name", modelo.rol);
            return(View(modelo));
        }
示例#9
0
        public ActionResult Lista(string id)
        {
            UsuariosModelo usuario = new UsuariosModelo();

            using (ConsiliumEntities db = new ConsiliumEntities())
            {
                usuario.Usuarios = db.Usuario.Where(e => e.estado == "1" && (e.tipo == 2 || e.tipo == 3)).ToList();
                usuario.sesion   = id;
            }
            var u = db.MiembroXSesion.Where(a => a.idSesion == id).ToList();

            for (int i = 0; i < u.Count; i++)
            {
                for (int j = 0; j < usuario.Usuarios.Count; j++)
                {
                    if (u[i].idUsuario == usuario.Usuarios[j].idUsuario)
                    {
                        usuario.Usuarios[j].isSelected = u[i].presente;
                    }
                }
            }
            ViewBag.idSesion = id;
            return(View(usuario));
        }