Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }