예제 #1
0
        public string UpdateToDoDetail(string Token, int ID, string Detail)
        {
            string IP = Request.UserHostAddress;

            JwtToken      Jwt         = new JwtToken();
            TokenCheckObj TokenResult = Jwt.CheckToken(Token, IP);

            int Users_Id = Convert.ToInt32(TokenResult.Users_Id);

            Models.ToDoList DoListData = new Models.ToDoList();

            object Result = null;

            if (TokenResult.Status)
            {
                DoListData        = db.ToDoList.Where(a => a.Owner_ID == Users_Id).Where(a => a.ID == ID).FirstOrDefault();
                DoListData.Detail = Detail;
                db.SaveChanges();
                Result = new { Status = true };
            }
            else
            {
                Result = new
                {
                    Status = false,
                    ErrMsg = TokenResult.ErrMsg
                };
            }

            string Output = JsonConvert.SerializeObject(Result);

            return(Output);
        }
예제 #2
0
        public TokenCheckObj CheckToken(string Token, string IP)
        {
            if (Token is null)
            {
                return new TokenCheckObj {
                           Status = false, ErrMsg = "沒有Token"
                }
            }
            ;

            try
            {
                var JwtObj = Jose.JWT.Decode <Dictionary <string, Object> >(
                    Token,
                    Encoding.UTF8.GetBytes(Key),
                    JwsAlgorithm.HS512
                    );

                if (JwtObj["IP"].ToString() != null && JwtObj["IP"].ToString() != "")
                {
                    string        Ans         = "成功:" + JwtObj["Users_Id"].ToString() + " " + JwtObj["IP"].ToString();
                    TokenCheckObj CheckResult = new TokenCheckObj
                    {
                        Status   = true,
                        Users_Id = JwtObj["Users_Id"].ToString(),
                        IP       = JwtObj["IP"].ToString()
                    };
                    return(CheckResult);
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.Write(ex);
            }


            TokenCheckObj Result = new TokenCheckObj
            {
                Status = false,
                ErrMsg = "驗證失敗"
            };

            return(Result);
        }
    }
예제 #3
0
        public string AddToDo(string Token, string Title)
        {
            JwtToken      Jwt         = new JwtToken();
            string        IP          = Request.UserHostAddress;
            TokenCheckObj TokenResult = Jwt.CheckToken(Token, IP);

            Models.ToDoList DoListData = new Models.ToDoList
            {
                Owner_ID    = Convert.ToInt32(TokenResult.Users_Id),
                Title       = Title,
                Create_Date = DateTime.Now,
                Completed   = false,
                Color_ID    = 1
            };

            object Result = null;

            if (TokenResult.Status)
            {
                db.ToDoList.Add(DoListData);
                db.SaveChanges();
                Result = new
                {
                    Status    = true,
                    ID        = DoListData.ID,
                    Title     = Title,
                    Completed = DoListData.Completed,
                    Detail    = DoListData.Detail,
                    Deleted   = DoListData.Deleted,
                    Color_ID  = DoListData.Color_ID
                };
            }
            else
            {
                Result = new { Status = false, ErrMsg = TokenResult.ErrMsg };
            }

            string Output = JsonConvert.SerializeObject(Result);

            return(Output);
        }
예제 #4
0
        public string GetToDoList(string Token)
        {
            JwtToken      Jwt         = new JwtToken();
            string        IP          = Request.UserHostAddress;
            TokenCheckObj TokenResult = Jwt.CheckToken(Token, IP);

            object Result = null;

            if (TokenResult.Status)
            {
                List <Models.ToDoList_view> DoListData = new List <Models.ToDoList_view>();
                int Users_Id = Convert.ToInt32(TokenResult.Users_Id);
                DoListData = db.ToDoList_view.Where(a => a.Owner_ID == Users_Id).ToList();
                if (DoListData.Count == 0)
                {
                    DoListData.Add(new Models.ToDoList_view
                    {
                        ID        = 0,
                        Completed = false,
                        Title     = "沒有待辦事項"
                    });
                }
                Result = new
                {
                    Status = true,
                    List   = DoListData
                };
            }
            else
            {
                Result = new { Status = true, ErrMsg = TokenResult.ErrMsg };
            }
            string Output = JsonConvert.SerializeObject(Result);

            return(Output);
        }