public async Task <object> InsertOneProduct([FromBody] InsertProduct entity)
        {
            try
            {
                string       token    = HttpContext.Request.Headers["token"];
                List <Claim> claims   = authService.GetTokenClaims(token).ToList();
                string       username = claims.Find(x => x.Type == ClaimTypes.Name).Value;
                Result       data     = await userService.GetUserByUserNameAsync(username, new string[] { "username" });

                User   user   = (User)data.data;
                Result result = await productService.InsertOneProductAsync(entity, user.id);

                if (result.status == 200)
                {
                    return(Ok(Responder.Success(result.data)));
                }
                else
                {
                    return(StatusCode(result.status, Responder.Fail(result.data)));
                }
            }
            catch (Exception error)
            {
                return(BadRequest(Responder.Fail(error.Message)));
            }
        }
 public async Task <object> GetProductById(string productId, [FromQuery] string fields)
 {
     try
     {
         Result result;
         if (fields == null)
         {
             result = await productService.GetProductByIdAsync(productId);
         }
         else
         {
             string[] fieldList = Utilities.SplipFields(fields);
             result = await productService.GetProductByIdAsync(productId, fieldList);
         }
         if (result.status == 200)
         {
             return(Ok(Responder.Success(result.data)));
         }
         return(StatusCode(result.status, Responder.Fail(result.data)));
     }
     catch (Exception error)
     {
         return(BadRequest(Responder.Fail(error)));
     }
 }
        public async Task <object> UpdateUser([FromBody] UpdateUserInfo updateUser,
                                              [FromQuery][Required] string oldUsername, [FromQuery][Required] string oldPassword)
        {
            try
            {
                string       token    = HttpContext.Request.Headers["token"];
                List <Claim> claims   = authService.GetTokenClaims(token).ToList();
                string       username = claims.Find(x => x.Type == ClaimTypes.Name).Value;
                string       password = claims.Find(x => x.Type == "Password").Value;
                if (oldUsername != username || oldPassword != password)
                {
                    return(StatusCode(401, Responder.Fail("wrong username or password")));
                }
                Result result = await userService.UpdateUserAsync(username, updateUser);

                if (result.status == 200)
                {
                    return(Ok(Responder.Success(result.data)));
                }
                else
                {
                    return(StatusCode(result.status, Responder.Fail(result.data)));
                }
            }
            catch (Exception error)
            {
                return(BadRequest(Responder.Fail(error.Message)));
            }
        }
 public async Task <object> GetListUser([FromQuery] int pageSize, [FromQuery] int pageIndex, [FromQuery] string fields)
 {
     try
     {
         Result result;
         if (fields != null)
         {
             string[] fieldList = Utilities.SplipFields(fields);
             result = await userService.GetListUserAsync(pageSize, pageIndex, fieldList);
         }
         else
         {
             result = await userService.GetListUserAsync(pageSize, pageIndex);
         }
         if (result.status == 200)
         {
             return(Ok(Responder.Success(result.data)));
         }
         else
         {
             return(StatusCode(result.status, Responder.Fail(result.data)));
         }
     }
     catch (Exception error)
     {
         return(BadRequest(Responder.Fail(error.Message)));
     }
 }
示例#5
0
 public async Task <ObjectResult> GetEmployeeByUsername(string username, [FromQuery] string fields)
 {
     try
     {
         Result result;
         if (fields != null)
         {
             string[] fieldList = Utilities.SplipFields(fields);
             result = await employeeService.GetEmployeeByUsernameAsync(username, fieldList);
         }
         else
         {
             result = await employeeService.GetEmployeeByUsernameAsync(username);
         }
         if (result.status == 200)
         {
             return(Ok(Responder.Success(result.data)));
         }
         return(StatusCode(result.status, Responder.Fail(result.data)));
     }
     catch (Exception error)
     {
         return(BadRequest(Responder.Fail(error.Message)));
     }
 }
示例#6
0
 public ObjectResult GetListUsers([FromQuery] int pageSize, [FromQuery] int pageIndex, [FromQuery] string fields)
 {
     try
     {
         Result result = new Result();
         return(Ok(Responder.Success(result.data)));
     }
     catch (Exception error)
     {
         return(BadRequest(Responder.Fail(error.Message)));
     }
 }
示例#7
0
        public async Task <ObjectResult> DeleteEmployee(int employeeId)
        {
            try
            {
                Result result = await employeeService.DeleteEmployeeAsync(employeeId);

                if (result.status == 200)
                {
                    return(Ok(Responder.Success(result.data)));
                }
                return(StatusCode(result.status, Responder.Fail(result.data)));
            }
            catch (Exception error)
            {
                return(BadRequest(Responder.Fail(error.Message)));
            }
        }
 public async Task <object> Logout()
 {
     try
     {
         StringValues token;
         Request.Headers.TryGetValue("token", out token);
         string _token = token.FirstOrDefault();
         if (_token == null || _token == "")
         {
             return(Ok(Responder.Success("Already logout")));
         }
         return(Ok(Responder.Success(new { access_token = "null" })));
     }
     catch (Exception error)
     {
         return(BadRequest(Responder.Fail(error.Message)));
     }
 }
示例#9
0
 public ObjectResult CreateNewUser([FromBody] SQLiteUser user)
 {
     try
     {
         Result result = userSQLiteService.InsertUser(user, APIConnecter.SQLite);
         if (result.status == Status.Created)
         {
             return(Ok(Responder.Success(result.data)));
         }
         else
         {
             return(StatusCode(result.status, Responder.Fail(result.data)));
         }
     }
     catch (Exception error)
     {
         return(BadRequest(Responder.Fail(error.Message)));
     }
 }
示例#10
0
        public async Task <object> Register([FromBody] NewUserInfo newUser)
        {
            try
            {
                Result result = await userService.RegisterAsync(newUser);

                if (result.status == 200)
                {
                    return(Ok(Responder.Success(result.data)));
                }
                else
                {
                    return(StatusCode(result.status, Responder.Fail(result.data)));
                }
            }
            catch (Exception error)
            {
                return(BadRequest(Responder.Fail(error.Message)));
            }
        }
示例#11
0
        public async Task <ObjectResult> CreateNewEmployee([FromBody] InsertEmployeeInfo newEmployee)
        {
            try
            {
                Result result = await employeeService.InsertEmployeeAsync(newEmployee);

                if (result.status == 200)
                {
                    return(Ok(Responder.Success(result.data)));
                }
                else
                {
                    return(StatusCode(result.status, Responder.Fail(result.data)));
                }
            }
            catch (Exception error)
            {
                return(BadRequest(Responder.Fail(error.Message)));
            }
        }
示例#12
0
        public async Task <object> DeleteUser()
        {
            try
            {
                string       token    = HttpContext.Request.Headers["token"];
                List <Claim> claims   = authService.GetTokenClaims(token).ToList();
                string       username = claims.Find(x => x.Type == ClaimTypes.Name).Value;
                Result       result   = await userService.DeleteUserAsync(username);

                if (result.status == 200)
                {
                    return(Ok(Responder.Success(result.data)));
                }
                else
                {
                    return(StatusCode(result.status, Responder.Fail(result.data)));
                }
            }
            catch (Exception error)
            {
                return(BadRequest(Responder.Fail(error.Message)));
            }
        }
示例#13
0
        public async Task <object> Login([FromBody] UserLoginInfo info)
        {
            try
            {
                StringValues token;
                Request.Headers.TryGetValue("token", out token);
                string _token = token.FirstOrDefault();
                if (Utilities.IsValidToken(_token))
                {
                    return(Ok(Responder.Success("Already logined")));
                }
                Result result = await userService.LoginAsync(info.username, info.password);

                if (result.status != 200)
                {
                    return(StatusCode(result.status, Responder.Fail(result.data)));
                }
node1:
                HeplerTokenUser user = (HeplerTokenUser)result.data;
                IAuthContainerModel model       = JwtHelper.GetJWTContainerModel(user.userId, user.username, user.email, _jwtConfig);
                IAuthService        authService = new JWTService(model.SecretKey);
                string accessToken = authService.GenerateToken(model);
                if (!authService.IsTokenValid(accessToken))
                {
                    goto node1;
                }
                return(Ok(Responder.Success(new
                {
                    token = accessToken,
                    user = result.data
                })));
            }
            catch (Exception error)
            {
                return(BadRequest(Responder.Fail(error.Message)));
            }
        }