Exemplo n.º 1
0
        /// <summary>
        /// Check user authorization by calling a database stored-procedure
        /// </summary>
        /// <param name="dbCTX">Default ORM</param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static bool IsUserAccessToAPI(Database.IDatabaseContext dbCTX,
                                             Models.Database.StoredProcedures.SP_User_AccessToAPI.Inputs data)
        {
            if (dbCTX == null)
            {
                throw new ArgumentNullException("In IsUserAccessToAPI the dbCTX could not be null.");
            }

            if (data == null)
            {
                throw new ArgumentNullException("In IsUserAccessToAPI the data could not be null.");
            }

            //Calling sp
            var rst = dbCTX.SP_User_AccessToAPI(data);

            //Check result
            if (rst == null || rst.StatusCode != 200 || !string.IsNullOrEmpty(rst.ErrorMessage) || rst.Data == null)
            {
                return(false);
            }

            if (!(rst.Data is Models.Database.StoredProcedures.SP_User_AccessToAPI.Outputs))
            {
                return(false);
            }

            var result = rst.Data as Models.Database.StoredProcedures.SP_User_AccessToAPI.Outputs;

            return(result.Result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Validation username & password and generate JWT
        /// </summary>
        /// <param name="ctx">Database ORM</param>
        /// <param name="mapper">The object mapper</param>
        /// <param name="key">JWT key</param>
        /// <param name="issuer">JWT issuer</param>
        /// <returns></returns>
        public Models.Database.DBResult Login(
            Database.IDatabaseContext ctx,
            AutoMapper.IMapper mapper,
            string key,
            string issuer)
        {
            //Call DB
            var dbResult = ctx.SP_Admin_Login(this);

            if (dbResult.StatusCode != 200)
            {
                return(dbResult);
            }

            //Convert Teacher to User object
            var user = mapper.Map <User>(dbResult.Data);

            //Generate JWT and return as the result
            return(user.GetJWT(key, issuer));
        }
 public APILoggerDatabase(Database.IDatabaseContext databaseContext, AutoMapper.IMapper mapper)
 {
     _databaseContext = databaseContext;
     _mapper          = mapper;
 }