コード例 #1
0
        public ActionResult <Cargo> Obtener(int id)
        {
            if (repo.PorId(id) is Cargo cargo)
            {
                return(cargo);
            }

            return(NotFound());
        }
コード例 #2
0
        public bool Registrar(FormularioRegistrarNotificacion formulario)
        {
            try
            {
                Notificacion           notificacion = formulario.Notificacion;
                IEnumerable <Segmento> segmentos    = formulario.Segmentos;

                notificacion.FechaInicio = DateTime.Now;

                if (repositorio.Insertar(notificacion))
                {
                    RepositorioSegmento repoSegmento = new RepositorioSegmento();
                    RepositorioCargo    repoCargo    = new RepositorioCargo();

                    int id = repositorio.PorUltimoId();

                    foreach (Segmento segmento in segmentos)
                    {
                        segmento.Notificacion = id;

                        if (repoCargo.PorId(segmento.Cargo) is Cargo cargo)
                        {
                            repoSegmento.Insertar(segmento);
                        }
                    }
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return(false);
            }
        }
コード例 #3
0
        public ClaimsPrincipal GenerarIdentidad(Usuario usuario)
        {
            var repositorioCargo = new RepositorioCargo();
            var cargo            = repositorioCargo.PorId(usuario.Cargo);

            List <Claim> listado = new List <Claim>
            {
                new Claim(ClaimTypes.SerialNumber, usuario.Id.ToString()),
                new Claim(ClaimTypes.Dns, usuario.Documento),
                new Claim(ClaimTypes.Email, usuario.Correo),
            };

            // permisos

            if (cargo.Logistica)
            {
                listado.Add(new Claim(ClaimTypes.Role, "logistica"));
            }
            if (cargo.Pedidos)
            {
                listado.Add(new Claim(ClaimTypes.Role, "pedidos"));
            }
            if (cargo.Solicitar)
            {
                listado.Add(new Claim(ClaimTypes.Role, "solicitar"));
            }
            if (cargo.Usuarios)
            {
                listado.Add(new Claim(ClaimTypes.Role, "usuarios"));
            }
            if (cargo.Clientes)
            {
                listado.Add(new Claim(ClaimTypes.Role, "clientes"));
            }

            ClaimsIdentity identidad = new ClaimsIdentity(listado, "bearerToken");

            return(new ClaimsPrincipal(identidad));
        }