예제 #1
0
        public static string GenerateTokenJwt(Regante regante)
        {
            // appsetting for Token JWT
            var secretKey     = ConfigurationManager.AppSettings["JWT_SECRET_KEY"];
            var audienceToken = ConfigurationManager.AppSettings["JWT_AUDIENCE_TOKEN"];
            var issuerToken   = ConfigurationManager.AppSettings["JWT_ISSUER_TOKEN"];
            var expireTime    = ConfigurationManager.AppSettings["JWT_EXPIRE_MINUTES"];

            var securityKey        = new SymmetricSecurityKey(System.Text.Encoding.Default.GetBytes(secretKey));
            var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);

            // create a claimsIdentity
            //var claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, regante.Nombre ), new Claim(ClaimTypes.Role, regante.Role )});
            var claimsIdentity = new ClaimsIdentity();

            claimsIdentity.AddClaim(new Claim("NifRegante", regante.NIF ?? ""));
            claimsIdentity.AddClaim(new Claim("IdRegante", regante.IdRegante.ToString()));
            claimsIdentity.AddClaim(new Claim(ClaimTypes.Role, regante.Role));

            // create token to the user
            var tokenHandler     = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler();
            var jwtSecurityToken = tokenHandler.CreateJwtSecurityToken(
                audience: audienceToken,
                issuer: issuerToken,
                subject: claimsIdentity,
                notBefore: DateTime.UtcNow,
                expires: DateTime.UtcNow.AddMinutes(Convert.ToInt32(expireTime)),
                signingCredentials: signingCredentials);

            var jwtTokenString = tokenHandler.WriteToken(jwtSecurityToken);

            return(jwtTokenString);
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UnidadCultivoDatosHidricos"/> class.
        /// </summary>
        /// <param name="idUnidadCultivo">The IdUnidadCultivo<see cref="string"/>.</param>
        /// <param name="fecha">The idTemporada<see cref="string"/>.</param>
        public UnidadCultivoDatosHidricos(string idUnidadCultivo, DateTime fecha)
        {
            string idTemporada = DB.TemporadaDeFecha(idUnidadCultivo, fecha);

            if ((temporada = DB.Temporada(idTemporada)) == null)
            {
                throw new Exception($"Imposible cargar datos de la temporada {idTemporada}.");
            }

            if ((unidadCultivo = DB.UnidadCultivo(idUnidadCultivo)) == null)
            {
                throw new Exception($"Imposible cargar datos del cultivo {idUnidadCultivo}.");
            }

            pUnidadCultivoExtensionM2 = DB.UnidadCultivoExtensionM2(idUnidadCultivo, idTemporada);

            if ((UnidadCultivoCultivoEtapasList = DB.UnidadCultivoCultivoEtapasList(idUnidadCultivo, idTemporada)).Count == 0)
            {
                throw new Exception($"Imposible cargar las etapas para la unidad de cultivo {idUnidadCultivo}.");
            }

            if ((unidadCultivoCultivo = DB.UnidadCultivoCultivo(idUnidadCultivo, idTemporada)) == null)
            {
                throw new Exception("Imposible datos del cultivo en la temporada indicada.");
            }

            lTiposEstres          = DB.ListaTipoEstres();
            lTipoEstresUmbralList = DB.ListaEstresUmbral();

            if ((lDatosClimaticos = DB.DatosClimaticosList(FechaSiembra(), FechaFinalDeEstudio(), unidadCultivo.IdEstacion)) == null)
            {
                throw new Exception($"Imposible cargar datos climáticos para la estación {unidadCultivo.IdEstacion}  en el intervalo de fechas de {FechaSiembra()} a {FechaFinalDeEstudio()}");
            }

            cultivo  = DB.Cultivo(unidadCultivoCultivo.IdCultivo);
            estacion = DB.Estacion(unidadCultivo.IdEstacion);
            regante  = (Regante)DB.Regante(unidadCultivoCultivo.IdRegante);

            if ((ListaUcSuelo = DB.UnidadCultivoSueloList(idTemporada, idUnidadCultivo)) == null)
            {
                throw new Exception("No se ha definido suelo para la unidad de Cultivo:" + idUnidadCultivo);
            }

            riegoTipo = DB.RiegoTipo(unidadCultivoCultivo.IdTipoRiego);

            DateTime fechaSiembra = FechaSiembra();
            DateTime fechaFinal   = FechaFinalDeEstudio();;

            lDatosRiego = DB.RiegosList(idUnidadCultivo, fechaSiembra, fechaFinal);

            lUnidadCultivoDatosExtas = DB.ParcelasDatosExtrasList(idUnidadCultivo, fechaSiembra, fechaFinal);
        }