コード例 #1
0
ファイル: UserController.cs プロジェクト: Kulu-M/KanBan-App
        public string DeleteUser([FromBody] JObject value)
        {
            //TODO delete foreign keys first

            var username = value.First.Last.ToString();
            var password = value.Last.Last.ToString();

            try
            {
                var existingUser = new User();
                using (var db = new APIAppDbContext())
                {
                    //delete from user table
                    existingUser = db.User.FirstOrDefault(u => u.EMail == username);
                    if (existingUser == null)
                    {
                        return("Error!");
                    }
                    db.User.Remove(existingUser);
                    db.SaveChanges();
                    return("Success!");
                }
            }
            catch (Exception e)
            {
                throw e;
                return("Error!");
            }
        }
コード例 #2
0
ファイル: UserController.cs プロジェクト: Kulu-M/KanBan-App
 public string GetUserCount()
 {
     using (var db = new APIAppDbContext())
     {
         return(db.User.Count().ToString());
     }
 }
コード例 #3
0
ファイル: BoardController.cs プロジェクト: Kulu-M/KanBan-App
        public string removeUserFromBoard([FromBody] JObject value)
        {
            var username = Request.Headers["username"].ToString();
            var password = Request.Headers["pw"].ToString();

            if (!User_Authentification.validateUserKey(username, password))
            {
                return(null);
            }

            var jsonBoardUser = JsonConvert.DeserializeObject <BoardUser>(value.ToString());

            using (var db = new APIAppDbContext())
            {
                var existingUser = from users in db.User where users.EMail == jsonBoardUser.UserEMail select users;

                if (!existingUser.Any())
                {
                    return("User does not exists");
                }

                var existingBoardUser = (from search in db.BoardUser
                                         where search.UserEMail == jsonBoardUser.UserEMail && search.BoardId == jsonBoardUser.BoardId
                                         select search).First();

                if (existingBoardUser == null)
                {
                    return("User has no access to Board");
                }

                db.BoardUser.Remove(existingBoardUser);
                db.SaveChanges();
            }
            return(JsonConvert.SerializeObject(queryBoardUsersByBoardId(jsonBoardUser.BoardId)));
        }
コード例 #4
0
ファイル: UserController.cs プロジェクト: Kulu-M/KanBan-App
        public string RegisterNewUser([FromBody] JObject value)
        {
            var username = value.SelectToken("EMail").ToString();
            var password = value.SelectToken("Password").ToString();

            var existingUser = new User();

            using (var db = new APIAppDbContext())
            {
                existingUser = db.User.FirstOrDefault(u => u.EMail == username);
            }
            if (existingUser != null)
            {
                return("User already exists!");
            }

            //TODO Hash/Salt password
            using (var db = new APIAppDbContext())
            {
                var newUser = new User
                {
                    EMail    = username,
                    Password = password
                };
                db.User.Add(newUser);
                db.SaveChanges();
            }
            return("You are now registered!");
        }
コード例 #5
0
ファイル: UserController.cs プロジェクト: Kulu-M/KanBan-App
        public string GetDatabaseUser(string eMail)
        {
            User resultUser;

            using (var db = new APIAppDbContext())
            {
                resultUser = db.User.First(u => u.EMail == eMail);
            }
            return(resultUser.Password);
        }
コード例 #6
0
ファイル: BoardController.cs プロジェクト: Kulu-M/KanBan-App
        public List <Note> getAllNotesByBoardID(long?boardId)
        {
            var noteList = new List <Note>();

            using (var db = new APIAppDbContext())
            {
                noteList.AddRange(db.Note.Where(note => note.BoardId == boardId));
                return(noteList);
            }
        }
コード例 #7
0
ファイル: BoardController.cs プロジェクト: Kulu-M/KanBan-App
        /// <summary>
        /// Searches in DB for param'd Board-ID and returns all Users which have access to this baord
        /// </summary>
        /// <param name="boardId"></param>
        /// <returns></returns>
        private List <BoardUser> queryBoardUsersByBoardId(long boardId)
        {
            List <BoardUser> boardUserList;

            using (var db = new APIAppDbContext())
            {
                boardUserList = (from userIds in db.BoardUser where userIds.BoardId == boardId select userIds).ToList();
            }
            return(boardUserList);
        }
コード例 #8
0
        /// <summary>
        /// Creates a new key, saves it to DB and returns the key
        /// </summary>
        /// <param name="eMail"></param>
        /// <returns></returns>
        public static string generateUserKey(string eMail)
        {
            var newKey = generateRandomKey();

            using (var db = new APIAppDbContext())
            {
                var user = db.User.FirstOrDefault(u => u.EMail == eMail);
                user.VerificationKey = newKey;
                db.SaveChanges();
            }
            return(newKey);
        }
コード例 #9
0
ファイル: UserController.cs プロジェクト: Kulu-M/KanBan-App
        public string GetAllUsers()
        {
            List <User> userList = new List <User>();

            using (var db = new APIAppDbContext())
            {
                foreach (var user in db.User)
                {
                    user.Password = "";
                    userList.Add(user);
                }
            }
            return(JsonConvert.SerializeObject(userList));
        }
コード例 #10
0
        /// <summary>
        /// Valides a users key, returns boolean
        /// </summary>
        /// <param name="eMail"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static bool validateUserKey(string eMail, string key)
        {
            #if DEBUG
            return(true);
            #endif

            var keyIsTheSame = false;
            using (var db = new APIAppDbContext())
            {
                var existingUser = db.User.FirstOrDefault(u => u.EMail == eMail);
                if (existingUser.VerificationKey == key)
                {
                    keyIsTheSame = true;
                }
            }
            return(keyIsTheSame);
        }
コード例 #11
0
ファイル: BoardController.cs プロジェクト: Kulu-M/KanBan-App
        public string deleteNote([FromBody] JObject value)
        {
            var username = Request.Headers["username"].ToString();
            var password = Request.Headers["pw"].ToString();

            if (!User_Authentification.validateUserKey(username, password))
            {
                return(null);
            }

            var jsonNote = JsonConvert.DeserializeObject <Note>(value.ToString());

            using (var db = new APIAppDbContext())
            {
                db.Note.Remove(jsonNote);
                db.SaveChanges();
            }
            return(JsonConvert.SerializeObject(getAllNotesByBoardID(jsonNote.BoardId)));
        }
コード例 #12
0
        public string UserLogin(string eMail, string password)
        {
            var resultUser = new User();

            using (var db = new APIAppDbContext())
            {
                resultUser = db.User.FirstOrDefault(u => u.EMail == eMail);
            }
            if (resultUser == null)
            {
                return("User not registered!");
            }

            if (resultUser.Password.Equals(password))
            {
                return("You are now logged in!");
            }
            return("Wrong password!");
        }
コード例 #13
0
ファイル: BoardController.cs プロジェクト: Kulu-M/KanBan-App
        /// <summary>
        /// Searches in DB for param'd userEmail and returns all board which this user has access to
        /// </summary>
        /// <param name="userEmail"></param>
        /// <returns></returns>
        public List <Board> queryBoardsForUser(string userEmail)
        {
            using (var db = new APIAppDbContext())
            {
                var boardList  = new List <Board>();
                var resultsNew = from boards in db.BoardUser
                                 where boards.UserEMail.Equals(userEmail)
                                 select boards.Board;

                foreach (var board in resultsNew)
                {
                    boardList.Add(board);
                }

                if (!boardList.Any())
                {
                    return(null);
                }

                return(boardList);
            }
        }
コード例 #14
0
ファイル: UserController.cs プロジェクト: Kulu-M/KanBan-App
        public string UserLogin()
        {
            var username = Request.Headers["username"].ToString();
            var password = Request.Headers["pw"].ToString();

            var resultUser = new User();

            using (var db = new APIAppDbContext())
            {
                resultUser = db.User.FirstOrDefault(u => u.EMail == username);
            }
            if (resultUser == null)
            {
                return("User not registered!");
            }

            //TODO Hash/Salt password
            if (resultUser.Password.Equals(password))
            {
                return(User_Authentification.generateUserKey(username));
            }
            return("Wrong password!");
        }
コード例 #15
0
        public string RegisterNewUser(string eMail, string password)
        {
            var existingUser = new User();

            using (var db = new APIAppDbContext())
            {
                existingUser = db.User.FirstOrDefault(u => u.EMail == eMail);
            }
            if (existingUser != null)
            {
                return("User already exists!");
            }
            using (var db = new APIAppDbContext())
            {
                var newUser = new User
                {
                    EMail    = eMail,
                    Password = password
                };
                db.User.Add(newUser);
                db.SaveChanges();
            }
            return("You are now registered!");
        }
コード例 #16
0
ファイル: BoardController.cs プロジェクト: Kulu-M/KanBan-App
        public string CreateBoard([FromBody] JObject value)
        {
            var username = Request.Headers["username"].ToString();
            var password = Request.Headers["pw"].ToString();

            if (!User_Authentification.validateUserKey(username, password))
            {
                return(null);
            }

            var jsonBoard = JsonConvert.DeserializeObject <Board>(value.ToString());

            using (var db = new APIAppDbContext())
            {
                db.Board.Add(jsonBoard);
                db.BoardUser.Add(new BoardUser {
                    BoardId = jsonBoard.Id, UserEMail = username
                });

                db.SaveChanges();

                return(JsonConvert.SerializeObject(queryBoardsForUser(username)));
            }
        }
コード例 #17
0
 public DispositivoController(APIAppDbContext context)
 {
     _context = context;
 }
コード例 #18
0
ファイル: MedicionController.cs プロジェクト: qievenz/wsIOT
 public MedicionController(APIAppDbContext context)
 {
     _context = context;
 }
コード例 #19
0
 public LogController(APIAppDbContext context)
 {
     _context = context;
 }
コード例 #20
0
 public SensorController(APIAppDbContext context)
 {
     _context = context;
 }