예제 #1
0
        public ActionResult historialissue(int id)
        {
            var issue = _context.Issue
                        .Include(m => m.Clientes)
                        .Include(m => m.AreaTecnicos)
                        .Include(m => m.CreadaPor)

                        .Include(m => m.AreaTecnicos)
                        .Single(m => m.Id == id)
            ;
            var mensajesIssue = _context.MensajesIssue
                                .Include(m => m.Usuario)
                                .Where(m => m.IssueId == id)
                                .OrderBy(m => m.FechaCreado)
                                .ToList();

            var viewmodel = new MensajesViewModel
            {
                ListaMensajes = mensajesIssue,
                TituloIssue   = issue.Titulo,
                Idissue       = id,
                Issue         = issue
            };

            return(View(viewmodel));
        }
예제 #2
0
        public async Task <IActionResult> PerfilUsuarioAdmin(string id)
        {
            Usuario           user    = _usuario.GetUsuarioById(id);
            MensajesViewModel mensaje = new MensajesViewModel();
            var userId = _userManager.GetUserId(User);



            if (string.IsNullOrEmpty(id))
            {
                //EnviarMensaje.Enviar(TempData, "orange", "Debe de seleccionar una categoría válida!");
                return(View("Login"));
            }

            // 1. traer el usuairo

            //Usuario user = _usuario.GetUsuarioById(id);

            if (user == null)
            {
                //EnviarMensaje.Enviar(TempData, "orange", "Debe de seleccionar una categoría válida!");
                return(View("Login"));
            }

            // 2. Crear el modelo de resset password

            ResetPasswordViewModel rpvm = new ResetPasswordViewModel
            {
                UserName = user.UserName,
                Code     = await _userManager.GeneratePasswordResetTokenAsync(user)
            };

            //3.Crear el modelo  de UserUniversity
            //var userUniversity = new UserUniversityModel
            //{
            //    UsuarioId = user.Id,

            //}


            // 4. crear el modelo de la vista

            var model = new PerfilUsuario
            {
                EditarUsuarioModel     = CopyPropierties.Convert <Usuario, EditarUsuarioModel>(user),
                ResetPasswordViewModel = rpvm,
                Universidades          = _university.Universities,
                //UserUniversityModel =
            };



            ViewBag.Role = new SelectList(_role.Roles, "Name", "Name");


            return(View(model));
        }
예제 #3
0
        public static void Enviar(this ITempDataDictionary tempData, string tipo, string texto)
        {
            MensajesViewModel mensaje = new MensajesViewModel("", "", "");

            mensaje.Titulo = "Mensaje";
            mensaje.Texto  = texto;
            mensaje.Tipo   = tipo;

            TempDataExtensions.Put <MensajesViewModel>(tempData, "mensaje", mensaje);
        }
예제 #4
0
        public async Task <IActionResult> PerfilUsuario(string id)
        {
            Usuario user = _usuario.GetUsuarioById(id);

            MensajesViewModel mensaje = new MensajesViewModel();
            var userId = _userManager.GetUserId(User);



            if (string.IsNullOrEmpty(id))
            {
                return(View("Login"));
            }

            // 1. traer el usuairo

            //Usuario user = _usuario.GetUsuarioById(id);

            if (user == null)
            {
                //EnviarMensaje.Enviar(TempData, "orange", "Debe de seleccionar una categoría válida!");
                return(View("Login"));
            }

            // 2. Crear el modelo de resset password

            ResetPasswordViewModel rpvm = new ResetPasswordViewModel
            {
                UserName = user.UserName,
                Code     = await _userManager.GeneratePasswordResetTokenAsync(user)
            };

            // 3. crear el modelo de la vista

            var editarUsuarioModel = new EditarUsuarioModel();

            editarUsuarioModel.ImageUrl = "wwwroot/app-assets/images/usuario";

            var model = new PerfilUsuario
            {
                EditarUsuarioModel     = CopyPropierties.Convert <Usuario, EditarUsuarioModel>(user),
                ResetPasswordViewModel = rpvm
            };

            var roles = _role.Roles.ToList();

            ViewBag.Role = new SelectList(roles, "Name", "Name");

            return(View(model));
        }
예제 #5
0
        public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            var usuario     = _usuario.GetUsuarioById(model.Id);
            var perfilmodel = new PerfilUsuario
            {
                EditarUsuarioModel     = CopyPropierties.Convert <Usuario, EditarUsuarioModel>(usuario),
                ResetPasswordViewModel = model
            };


            //if (model == null) return View(model);
            MensajesViewModel mensaj = new MensajesViewModel();
            var user = await _userManager.FindByNameAsync(model.UserName);


            if (model.Url == "Index")
            {
                var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);

                if (result.Succeeded)
                {
                    EnviarMensaje.Enviar(TempData, "green", 12);

                    //return RedirectToAction("PerfilUsuario", new RouteValueDictionary(new { Controller = "Usuario", Action = "PerfilUsuario", Id = "eeed77ad - 8815 - 4d7a - b5d5 - fa6a1393b6e2" }));
                    return(View("Index", _usuario.Usuarios));
                }
            }

            if (model.Password == null || model.ConfirmPassword == null)
            {
                EnviarMensaje.Enviar(TempData, "red", 12);
                return(View("PerfilUsuario", perfilmodel));
            }

            else if (model.Password != model.ConfirmPassword)
            {
                EnviarMensaje.Enviar(TempData, "red", 13);
                return(View("PerfilUsuario", perfilmodel));
            }
            else
            {
                var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);

                if (result.Succeeded)
                {
                    EnviarMensaje.Enviar(TempData, "green", 12);

                    return(RedirectToAction("PerfilUsuario", "Account", new { id = model.Id }));

                    //RedirectToAction("PerfilUsuario", "Usuario", model.Id);
                }
            }


            if (user == null)
            {
                // Don't reveal that the user does not exist
                return(View("login"));
            }



            return(View("PerfilUsuario", perfilmodel));
        }
예제 #6
0
        public async Task <IActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                MensajesViewModel mensaje = new MensajesViewModel();

                var user  = CopyPropierties.Convert <RegisterViewModel, Usuario>(model);
                var email = _usuario.Usuarios.FirstOrDefault(x => x.Email.Equals(model.Email));
                user.EmailConfirmed = true;

                //ViewData["Prueba"] =  _localizer["Este email ya existe, intenten con otro"];



                try
                {
                    if (model.Password.Length < 6)
                    {
                        mensaje.Titulo = "La Contraseña debe contener al menos 6 digitos";
                    }

                    else if (email != null)
                    {
                        mensaje.Titulo = "Este email ya existe, intenten con otro";
                        //ViewData["Prueba"] = _localizer["Clientes"];
                    }
                    else
                    {
                        var result = await _userManager.CreateAsync(user, model.Password);


                        if (result.Succeeded)
                        {
                            if (!string.IsNullOrEmpty(user.Role))
                            {
                                result = await _userManager.AddToRoleAsync(user, user.Role);
                            }

                            mensaje.Titulo = "Usuario Creado";

                            mensaje.Texto = "El usuario se creó satisfactoriamente";

                            mensaje.Tipo = "success";

                            TempData.Put("mensaje", mensaje);

                            return(RedirectToAction("Login", "Account"));
                        }

                        mensaje.Titulo = "Hubo un problema";

                        if (result.Errors.First().Code == "DuplicateUserName")
                        {
                            mensaje.Texto = "El nombre de usuario ya exite, intenten con otro";
                        }
                    }

                    mensaje.Tipo    = "error";
                    ViewBag.mensaje = mensaje;

                    return(View(model));
                }
                catch (System.Exception e)
                {
                    var error = e;
                    return(View(model));
                }
            }

            return(View(model));
        }
예제 #7
0
        public static void AccesoDenegado(this ITempDataDictionary tempData, string titulo, string texto, string tipo)
        {
            MensajesViewModel accessoDenegado = new MensajesViewModel(titulo, texto, tipo);

            TempDataExtensions.Put <MensajesViewModel>(tempData, "accessoDenegado", accessoDenegado);
        }
예제 #8
0
        // TODO: VOLVERLO UN PAQUETE PARA REUTILIZARLO
        /// <summary>
        /// Enviar mensaje a la vista.
        /// TIPO: color del mensaje |
        /// FUNC: la operación que se ejecuta
        /// (0=ID no encontrado, 1=guardar, 2=generar, 3=actualizar, 4=cambiar estado, 5=eliminar, 6=secuencia existente, 7=archivo inválido, 8=archivo muy grande, 9 = No ha seleccionado productos,
        /// 10 = No se pudo cambiar el estatus, 11 = campo vacío)
        /// </summary>
        /// <param name="tipo"></param>
        /// <param name="func"></param>
        ///<returns>mensaje</returns>
        public static void Enviar(this ITempDataDictionary tempData, string tipo, int func)
        {
            MensajesViewModel mensaje = new MensajesViewModel("", "", "");

            tempData.Clear();
            if (func == 1)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Hubo un error";
                    mensaje.Texto  = "No se pudo guardar la información";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Información guardada";
                    mensaje.Texto  = "La información se pudo guardar satisfactoriamente";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 2)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Hubo un error";
                    mensaje.Texto  = "No se pudo generar la información";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Información generada";
                    mensaje.Texto  = "La información se pudo generar satisfactoriamente";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 3)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Hubo un error";
                    mensaje.Texto  = "No se pudo actualizar la información";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Actualización completa";
                    mensaje.Texto  = "La información se pudo actualizar satisfactoriamente";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 4)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Hubo un error";
                    mensaje.Texto  = "No se pudo cambiar el estado";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Actualización del estado";
                    mensaje.Texto  = "El estado se pudo actualizar satisfactoriamente";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 5)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Hubo un error";
                    mensaje.Texto  = "No se pudo eliminar la información";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Información eliminada";
                    mensaje.Texto  = "La información fue eliminada permanentemente!";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 6)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Comprobantes existentes";
                    mensaje.Texto  = "Ya existen comprobantes con esa secuencia";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Información eliminada";
                    mensaje.Texto  = "La información fue eliminada permanentemente!";
                    mensaje.Tipo   = tipo;
                }
            }
            // Archivo inválido
            else if (func == 7)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Archivo Inválido";
                    mensaje.Texto  = "verifique si cargó un archivo o si este es de la extensión requerida (ej: si es imagen:.jpg, excel: .xls ó documento:s .pdf)";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Archivo cargado correctamente";
                    mensaje.Texto  = "El archivo se guardó en el servidor satisfactoriamente";
                    mensaje.Tipo   = tipo;
                }
            }
            // Archivo muy grande
            else if (func == 8)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Archivo muy grande";
                    mensaje.Texto  = "Debe cargar in documento que tenga un tamaño permitido (3 MB o menos)";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Archivo cargado correctamente";
                    mensaje.Texto  = "El archivo se guardó en el servidor satisfactoriamente";
                    mensaje.Tipo   = tipo;
                }
            }
            // Seleccionar producto
            else if (func == 9)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Piezas sin seleccionar";
                    mensaje.Texto  = "Debe seleccionar una pieza por lo menos";
                    mensaje.Tipo   = tipo;
                }
            }
            // Cambiar estatus
            else if (func == 10)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "No se pudo cambiar el estado";
                    mensaje.Texto  = "Hubo un error al intentar cambiar el estado, intentelo luego, o contacte al administrador del sistema";
                    mensaje.Tipo   = tipo;
                }
            }
            // Cambiar estatus
            else if (func == 11)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Campo vacío";
                    mensaje.Texto  = "verifique que esté completando todos los campos de texto";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 12)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Contraseña Incorrecta";
                    mensaje.Texto  = "Asegúrese de completar todos los campos";
                    mensaje.Tipo   = tipo;
                }

                if (tipo == "green")
                {
                    mensaje.Titulo = "Contraseña correcta";
                    mensaje.Texto  = "La contraseña fue cambiada correctamente";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 13)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Los contraseñas no coindicen";
                    mensaje.Texto  = "Asegurese de que las contraseñas coincidan";
                    mensaje.Tipo   = tipo;
                }
            }
            else if (func == 14)
            {
                if (tipo == "red")
                {
                    mensaje.Titulo = "Usuario Inactivo";
                    mensaje.Texto  = "Contacte Al Administrador Del Sistema";
                    mensaje.Tipo   = tipo;
                }
            }
            else
            {
                mensaje.Titulo = "ID Inválido";
                mensaje.Texto  = "el número de ID suministrado no existe";
                mensaje.Tipo   = "red";
            }

            TempDataExtensions.Put <MensajesViewModel>(tempData, "mensaje", mensaje);

            // return mensaje;
        }
예제 #9
0
        public IActionResult Guardar(SubjectMatterModel model)
        {
            var universityId          = _scholarshipProgramUniversity.GetUniversityIdByScholarshipProgramUniversityId(model.ScholarshipProgramUniversityId);
            MensajesViewModel mensaje = new MensajesViewModel();
            var data = CopyPropierties.Convert <SubjectMatterModel, SubjectMatter>(model);

            if (CheckIfSubjectMatterCodeExits(data))
            {
                EnviarMensaje.Enviar(TempData, "red", "Este programa ya contiene un registro de una materia con este código");

                //if (model.SubjectMatterId != 0)
                //{
                //    ViewBag.Teachers = new SelectList(TeachersByUniverityIdList(universityId), "TeacherId", "TeacherFullName");
                //    return RedirectToAction("Editar", new { id = model.SubjectMatterId, scholarshipProgramUniversityId = model.ScholarshipProgramUniversityId });
                //}


                ViewBag.Status   = new SelectList(_status.Status, "StatusId", "StatusName");
                ViewBag.Teachers = new SelectList(TeachersByUniverityIdList(universityId), "TeacherId", "TeacherFullName");
                return(View("Crear", model));
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _subjectMatter.Save(data);
                }
                catch (Exception e)
                {
                    if (model.SubjectMatterId != 0)
                    {
                        ViewBag.Teachers = new SelectList(TeachersByUniverityIdList(universityId), "TeacherId", "TeacherFullName");
                        return(RedirectToAction("Editar", new { id = model.SubjectMatterId, scholarshipProgramUniversityId = model.ScholarshipProgramUniversityId }));
                    }
                    else
                    {
                        ViewBag.Status   = new SelectList(_status.Status, "StatusId", "StatusName");
                        ViewBag.Teachers = new SelectList(TeachersByUniverityIdList(universityId), "TeacherId", "TeacherFullName");
                        return(View("Crear"));
                    }
                }
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors).FirstOrDefault(x => x.Count > 0).First();



                EnviarMensaje.Enviar(TempData, "red", errors.ErrorMessage);

                if (model.SubjectMatterId != 0)
                {
                    ViewBag.Teachers = new SelectList(TeachersByUniverityIdList(universityId), "TeacherId", "TeacherFullName");
                    return(RedirectToAction("Editar", new { id = model.SubjectMatterId, scholarshipProgramUniversityId = model.ScholarshipProgramUniversityId }));
                }
                ViewBag.Status   = new SelectList(_status.Status, "StatusId", "StatusName");
                ViewBag.Teachers = new SelectList(TeachersByUniverityIdList(universityId), "TeacherId", "TeacherFullName");
                return(View("Crear"));
            }


            return(RedirectToAction("Index", new { scholarshipProgramUniversityId = model.ScholarshipProgramUniversityId }));
        }
예제 #10
0
        //[Authorize(Policy = Constante.UsuarioCanUpdate)]
        public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            var usuario = _usuario.GetUsuarioById(model.Id);
            var roles   = _role.Roles.ToList();

            var perfilmodel = new PerfilUsuario
            {
                EditarUsuarioModel     = CopyPropierties.Convert <Usuario, EditarUsuarioModel>(usuario),
                ResetPasswordViewModel = model
            };


            //if (model == null) return View(model);
            MensajesViewModel mensaj = new MensajesViewModel();
            var user = await _userManager.FindByNameAsync(model.UserName);



            if (model.Url == "PerfilUsuarioAdmin")
            {
                if (model.Password == null || model.ConfirmPassword == null)
                {
                    EnviarMensaje.Enviar(TempData, "red", 12);
                    ViewBag.Role = new SelectList(roles, "Name", "Name");
                    return(View("PerfilUsuarioAdmin", perfilmodel));
                }

                else if (model.Password != model.ConfirmPassword)
                {
                    EnviarMensaje.Enviar(TempData, "red", 13);
                    ViewBag.Role = new SelectList(roles, "Name", "Name");
                    return(View("PerfilUsuarioAdmin", perfilmodel));
                }
                else
                {
                    var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);

                    if (result.Succeeded)
                    {
                        //ViewBag.Role = new SelectList(roles, "Name", "Name");
                        EnviarMensaje.Enviar(TempData, "green", 12);
                        return(RedirectToAction("PerfilUsuarioAdmin", "Usuario", new { id = model.Id }));
                    }
                }
            }

            else
            {
                if (model.Password == null || model.ConfirmPassword == null)
                {
                    EnviarMensaje.Enviar(TempData, "red", 12);
                    //ViewBag.Role = new SelectList(roles, "Name", "Name");
                    return(View("Index", _usuario.Usuarios));
                }
                else if (model.Password.Length < 6)
                {
                    EnviarMensaje.Enviar(TempData, "red", "La contraseña debe ser de por lo menos 6 caracteres de longitud");
                    return(View("Index", _usuario.Usuarios));
                }

                else if (model.Password != model.ConfirmPassword)
                {
                    EnviarMensaje.Enviar(TempData, "red", 13);
                    return(View("Index", _usuario.Usuarios));
                }
                //else if (model.Password.Length < 6 && model.con)
                else
                {
                    var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password);

                    if (result.Succeeded)
                    {
                        EnviarMensaje.Enviar(TempData, "green", 12);


                        return(View("Index", _usuario.Usuarios));
                    }
                }
            }



            if (user == null)
            {
                // Don't reveal that the user does not exist
                return(View("login"));
            }

            //model.ResetPasswordViewModel.Code = UserManager.GeneratePasswordResetToken(user.Id);
            //model.Code = await _userManager.GeneratePasswordResetTokenAsync(user);

            ViewBag.Role = new SelectList(roles, "Name", "Name");

            return(View("PerfilUsuarioAdmin", perfilmodel));
        }