public Tag GetTagByID(int tagID) { using (var db = new RoomMeWebserviceContext()) { return db.Tags.Find(tagID); } }
public Preferences GetPreferencesByID(int prefID) { using(var db = new RoomMeWebserviceContext()) { return db.Preferences.Find(prefID); } }
public User GetUserbyID(int userID) { using(var db = new RoomMeWebserviceContext()) { return db.Users.Find(userID); } }
// 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); } }
static void SeedData() { var db = new RoomMeWebserviceContext(); UserDAO uDAO = new UserDAO(db); var result = uDAO.GetUserbyID(1); }
public Location GetLocationByID(int locationID) { using (var db = new RoomMeWebserviceContext()) { var location = db.Locations.Find(locationID); return location; } }
public Housing GetHousingByID(int housingID) { using(var db = new RoomMeWebserviceContext()) { var housing = db.Housings.Find(housingID); return housing; } }
public async Task<HttpResponseMessage> Compatible([FromUri] int userID) { var context = new RoomMeWebserviceContext(); User user = await context.Users.FindAsync(userID); if(user == null) { return Request.CreateResponse(HttpStatusCode.Forbidden, false); } Status correspondingStatus = Status.NeedsRoommateOnly; switch(user.Status) { case Status.NeedsRoommateOnly: correspondingStatus = Status.NeedsRoommateOnly; break; case Status.HasVacancy: correspondingStatus = Status.NeedsHousingAndRoommate; break; case Status.NeedsHousingAndRoommate: correspondingStatus = Status.HasVacancy; break; case Status.Inactive: correspondingStatus = Status.Inactive; break; } List<User> logicalUsers = new List<User>(); if(correspondingStatus != Status.Inactive) { logicalUsers = context.Users.Where(x => x.Status == correspondingStatus).ToList(); } else { logicalUsers = context.Users.Where(x => x.Status != Status.Inactive).ToList(); } logicalUsers.Remove(user); MatchService ms = new MatchService(); List<int> matchScores = new List<int>(); List<APIUser> logicalMinUsers = new List<APIUser>(); foreach(var u in logicalUsers) { logicalMinUsers.Add(u.ToAPIModel()); matchScores.Add(ms.GenerateMatchScoreByStatus(user, u)); } var response = new List<object> { logicalMinUsers, matchScores}; return Request.CreateResponse(HttpStatusCode.OK, response); }
public List<Location> GetLocationsByPreferenceID(int preferenceID) { using (var db = new RoomMeWebserviceContext()) { var pref = db.Preferences.Find(preferenceID); if(pref != null) { return pref.Locations; } return null; } }
public List<Housing> GetHousingsByPreferenceID(int preferenceID) { using(var db = new RoomMeWebserviceContext()) { var pref = db.Preferences.Find(preferenceID); if(pref != null) { return pref.Housings.ToList(); } return null; } }
// GET: api/Match/5 public async Task<HttpResponseMessage> Match([FromUri] int idA, [FromUri] int idB) { var context = new RoomMeWebserviceContext(); MatchService ms = new MatchService(); User a = context.Users.Find(idA); User b = context.Users.Find(idB); int score = ms.GenerateMatchScoreOfPreferences(a, b); return Request.CreateResponse(HttpStatusCode.OK, score); }
public List<User> GetUsersByTagID(int tagID) { using(var db = new RoomMeWebserviceContext()) { var tag = db.Tags.Find(tagID); if(tag != null) { return tag.Users; } return null; } }
public List<User> GetUsersByHousingID(int housingID) { using(var db = new RoomMeWebserviceContext()) { var housing = db.Housings.Find(housingID); if(housing != null) { return housing.Residents; } return null; } }
public Preferences GetPreferencesByUserID(int userID) { using(var db = new RoomMeWebserviceContext()) { var user = db.Users.Find(userID); if(user != null) { return user.Preferences; } return null; } }
public Location GetLocationByHousingID(int housingID) { using (var db = new RoomMeWebserviceContext()) { var housing = db.Housings.Find(housingID); if(housing != null) { return housing.Location; } return null; } }
public List<User> GetUsersByCareerID(int careerID) { using(var db = new RoomMeWebserviceContext()) { var career = db.Careers.Find(careerID); if(career != null) { return career.Users; } return null; } }
public List<Tag> GetTagsByUserID(int userID) { using(var db = new RoomMeWebserviceContext()) { var user = db.Users.Find(userID); if(user != null) { return user.Tags; } return null; } }
public Housing GetHousingByUserID(int userID) { using(var db = new RoomMeWebserviceContext()) { var user = db.Users.Find(userID); if(user != null) { db.Users.Attach(user); var result = user.Housing; } return null; } }
public async Task<HttpResponseMessage> GetByCompany([FromUri] string company) { var context = new RoomMeWebserviceContext(); var results = context.Careers.Where(x => x.Company == company).ToList(); var apiresults = new List<APICareer>(); foreach (var car in results) { apiresults.Add(car.ToAPIModel()); } return Request.CreateResponse(HttpStatusCode.OK, apiresults); }
public async Task<HttpResponseMessage> GetByAddress([FromUri] string address) { var context = new RoomMeWebserviceContext(); var results = context.Housings.Where(x => x.Address == address).ToList(); var apiresults = new List<APIHousing>(); foreach (var car in results) { apiresults.Add(car.ToAPIModel()); } return Request.CreateResponse(HttpStatusCode.OK, apiresults); }
public async Task<HttpResponseMessage> GetByUser([FromUri] string userID) { var context = new RoomMeWebserviceContext(); var user = context.Users.Find(userID); if (user == null) { return Request.CreateResponse(HttpStatusCode.InternalServerError, false); } var results = user.Preferences; return Request.CreateResponse(HttpStatusCode.OK, results.ToAPIModel()); }
public async Task<HttpResponseMessage> GetByUser([FromUri] string userID) { var context = new RoomMeWebserviceContext(); var user = context.Users.Find(userID); if (user == null) { return Request.CreateResponse(HttpStatusCode.InternalServerError, false); } var results = context.Housings.Where(x => x.Residents.Contains(user)).ToList(); var apiresults = new List<APIHousing>(); foreach (var car in results) { apiresults.Add(car.ToAPIModel()); } return Request.CreateResponse(HttpStatusCode.OK, apiresults); }
public HousingDAO(RoomMeWebserviceContext context) { _context = context; }
public async Task<HttpResponseMessage> GetByPhone([FromUri] string phone) { var context = new RoomMeWebserviceContext(); var results = context.Users.Where(x => x.PhoneNumber == phone).ToList(); var apiresults = new List<APIUser>(); foreach (var car in results) { apiresults.Add(car.ToAPIModel()); } return Request.CreateResponse(HttpStatusCode.OK, apiresults); }
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 UserDAO(RoomMeWebserviceContext context) { _context = context; }
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."); } } }
public PreferencesDAO(RoomMeWebserviceContext context) { _context = context; }
public LocationDAO(RoomMeWebserviceContext context) { _context = context; }