public async Task <IHttpActionResult> PutFriendshipRelation(int id) { FriendshipRelation relation = db.FriendshipRelations.FirstOrDefault(f => f.Id == id); relation.isFriend = true; db.Entry(relation).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FriendshipRelationExists(id)) { return(StatusCode(HttpStatusCode.NoContent)); } else { throw; } } return(StatusCode(HttpStatusCode.OK)); }
public async Task <IHttpActionResult> GetFriendshipRelation(int id) { FriendshipRelation friendshipRelation = await db.FriendshipRelations.FindAsync(id); if (friendshipRelation == null) { return(NotFound()); } return(Ok(friendshipRelation)); }
public async Task <IHttpActionResult> DeleteFriendshipRelation(int id) { FriendshipRelation friendshipRelation = await db.FriendshipRelations.FindAsync(id); if (friendshipRelation == null) { return(NotFound()); } db.FriendshipRelations.Remove(friendshipRelation); await db.SaveChangesAsync(); return(Ok(friendshipRelation)); }
public async Task <IHttpActionResult> PostFriendshipRelation([FromBody] FriendshipRelation friendshipRelation) { friendshipRelation.isFriend = false; if (db.FriendshipRelations.FirstOrDefault(r => r.firstUserId == friendshipRelation.firstUserId && r.secondUserId == friendshipRelation.secondUserId) == null) { db.FriendshipRelations.Add(friendshipRelation); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = friendshipRelation.Id }, friendshipRelation)); } else { return(CreatedAtRoute("DefaultApi", new { id = 0 }, new FriendshipRelation())); } }
public HttpResponseMessage GetNearbyUsers(int id) { if (!UserExists(id)) { return(null); } else { int distance = 5;//Utility.getRadarAera(area); List <NearbyUser> list = new List <NearbyUser>(); User user = db.Users.FirstOrDefault(u => u.Id == id); foreach (User u in db.Users) { if (u.Id != id) { if (Utility.distFrom(user.latitude, user.longitude, u.latitude, u.longitude) <= distance) { NearbyUser temp = new NearbyUser(); temp.Id = u.Id; temp.Name = u.name; temp.Email = u.email; temp.latitude = u.latitude; temp.longitude = u.longitude; temp.isFriend = false; list.Add(temp); } } } foreach (NearbyUser u in list) { FriendshipRelation relation = db.FriendshipRelations.FirstOrDefault(r => r.firstUserId == id && r.secondUserId == u.Id || r.firstUserId == u.Id && r.secondUserId == id); if (relation != null) { u.isFriend = relation.isFriend; u.friendshipId = relation.Id; } } return(Request.CreateResponse(HttpStatusCode.OK, list)); } }