コード例 #1
0
        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.");
                }
            }
        }
コード例 #2
0
ファイル: UserController.cs プロジェクト: zplata/RoomMe
        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.");
                }

            }
        }