public FriendListItem Add(FriendListItem item) { if (item == null) { throw new ArgumentException("item"); } else { var itemOwner = (from p in context.Travelers where p.Id == item.OwnerId select p).First(); var itemFriend = (from p in context.Travelers where p.Id == item.FriendId select p).First(); item.Owner = itemOwner; item.Friend = itemFriend; FriendListItem itemToCompare; try { itemToCompare = (from p in context.FriendLists where ((p.OwnerId == item.OwnerId) && (p.FriendId == item.FriendId)) select p).First(); throw new HttpResponseException(System.Net.HttpStatusCode.Conflict); } catch(InvalidOperationException) { context.FriendLists.Add(item); context.SaveChanges(); RefreshFriendListsList(); return item; } } }
public HttpResponseMessage PostFriendListItem(FriendListItem newFriendListItem) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { newFriendListItem = repo.Add(newFriendListItem); var response = Request.CreateResponse(HttpStatusCode.Created, newFriendListItem); return response; } }