Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> GetFriendshipRelation(int id)
        {
            FriendshipRelation friendshipRelation = await db.FriendshipRelations.FindAsync(id);

            if (friendshipRelation == null)
            {
                return(NotFound());
            }

            return(Ok(friendshipRelation));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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()));
            }
        }
Esempio n. 5
0
        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));
            }
        }