// POST: api/Account public async Task<HttpResponseMessage> Register([FromUri] string email, [FromUri] string name, [FromUri] int age, [FromUri] int gender, [FromUri] string phone, [FromUri] string authToken) { User newUser = new User() { Email = email, Name = name, Age = age, Bio = "", Gender = (Gender) gender, PhoneNumber = phone, Status = Status.NeedsHousingAndRoommate, AuthToken = authToken }; var context = new RoomMeWebserviceContext(); try { context.Users.Add(newUser); await context.SaveChangesAsync(); return Request.CreateResponse(HttpStatusCode.OK, newUser.UserID); } catch(Exception e) { return Request.CreateResponse(HttpStatusCode.InternalServerError, false); } }
public async Task<HttpResponseMessage> AssociateHousing(int housingID, int preferencesID) { var context = new RoomMeWebserviceContext(); var housing = context.Housings.Find(housingID); var preferences = context.Preferences.Find(preferencesID); if ((housing == null) || (preferences == null)) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Could not find preference or tag"); } else { context.Preferences.Attach(preferences); context.Housings.Attach(housing); preferences.Housings.Add(housing); context.Entry(preferences).State = EntityState.Modified; context.Entry(housing).State = EntityState.Modified; try { await context.SaveChangesAsync(); return Request.CreateResponse(HttpStatusCode.OK, true); } catch (Exception e) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Failed to save."); } } }
public async Task<HttpResponseMessage> AssociateTag([FromUri] int tagID, [FromUri] int userID) { var context = new RoomMeWebserviceContext(); var tag = context.Tags.Find(tagID); var user = context.Users.Find(userID); if ((tag == null) || (user == null)) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Could not find user or tag"); } else { context.Users.Attach(user); context.Tags.Attach(tag); user.Tags.Add(tag); context.Entry(user).State = EntityState.Modified; context.Entry(tag).State = EntityState.Modified; try { await context.SaveChangesAsync(); return Request.CreateResponse(HttpStatusCode.OK, true); } catch (Exception e) { return Request.CreateResponse(HttpStatusCode.InternalServerError, "Failed to save."); } } }