public IActionResult Add() { var viewModel = new RolesAddViewModel() { }; viewModel.PermisosList = Enum.GetValues(typeof(AccessFunctions)).Cast <AccessFunctions>().Select(x => new PermisoViewModel() { Permiso = x, Nombre = x.GetDescription() }).ToList(); return(View(viewModel)); }
public SystemValidationModel Save(RolesAddViewModel viewModel) { if (viewModel.IsCliente) { var clienteRol = GetAll().FirstOrDefault(x => x.IsCliente); if (clienteRol != null) { return new SystemValidationModel() { Success = false, Message = "Ya existe un rol asignado para los clientes" } } ; } if (GetByName(viewModel.Nombre) != null) { return new SystemValidationModel() { Success = false, Message = "Ya existe un rol con el mismo nombre" } } ; var rol = Mapper.Map <Rol>(viewModel); rol.Permisos = string.Join(",", viewModel.PermisosList.Where(x => x.Selected).Select(x => (int)x.Permiso)); _context.Entry(rol).State = EntityState.Added; var success = _context.SaveChanges() > 0; var validation = new SystemValidationModel() { Id = rol.Id, Message = success ? "Se ha guardado correctamente el rol" : "No se pudo guardar el rol", Success = success }; return(validation); }