public async Task <IHttpActionResult> PostRoom(PostRoomMemberClass postroom) { if (!TokenRepositor.checkToken(postroom.idUser, postroom.token)) { return(NotFound()); } Room room = new Room(); room.RoomName = postroom.RoomName; room.Private = postroom.Private; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Rooms.Add(room); await db.SaveChangesAsync(); RoomMember roomm = new RoomMember(); roomm.IdRoom = room.Id; roomm.IdUser = postroom.idUser; db.RoomMembers.Add(roomm); await db.SaveChangesAsync(); return(Ok("Chatroom Created")); }
public async Task <IHttpActionResult> PostRoomMember(PostRoomMemberClass POSTroommember) { if (!TokenRepositor.checkToken(POSTroommember.idUser, POSTroommember.token)) { return(NotFound()); } User u = db.Users.Where(x => x.UserName == POSTroommember.UserName).FirstOrDefault(); if (u == null) { return(NotFound()); } if (db.Rooms.Where(x => x.Id == POSTroommember.IdRoom && x.Private == true).FirstOrDefault() != null && db.RoomMembers.Where(x => x.IdRoom == POSTroommember.IdRoom && x.IdUser == POSTroommember.idUser).FirstOrDefault() == null) { return(NotFound()); } if (db.RoomMembers.Where(x => x.IdRoom == POSTroommember.IdRoom && x.IdUser == u.Id).FirstOrDefault() != null) { return(BadRequest("User already in chatroom")); } RoomMember roommember = new RoomMember(); roommember.IdRoom = POSTroommember.IdRoom; roommember.IdUser = u.Id; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.RoomMembers.Add(roommember); await db.SaveChangesAsync(); return(Ok("User Added")); }