public IActionResult Create([FromBody] JObject review) { using (var context = new RevojiDataContext()) { DBReview dbReview = new DBReview(review); if (dbReview.DBReviewable == null) { return(BadRequest(new { ErrorMessage = "Reviewable not populated." })); } // If there is no reviewable in the db that the review refers to then create one if (dbReview.ReviewableId == 0 && dbReview.DBReviewable.TpId != null && !context.Reviewables.Any(r => r.TpId == dbReview.DBReviewable.TpId)) { //DBReviewable dBReviewable = new DBReviewable(reviewable); context.Add(dbReview.DBReviewable); context.Save(); dbReview.ReviewableId = dbReview.DBReviewable.Id; } dbReview.DBAppUser = null; dbReview.DBReviewable = null; context.Add(dbReview); context.Save(); var result = new Review(dbReview); return(Ok(result)); } }
public IActionResult Create([FromBody] JObject appUser) { using (var context = new RevojiDataContext()) { try { DBAppUser dbAppUser = new DBAppUser(appUser); if (context.AppUsers.Any(user => user.Handle == dbAppUser.Handle)) { return(BadRequest("duplicate_user_handle")); } if (context.AppUsers.Any(user => user.Email == dbAppUser.Email)) { return(BadRequest("duplicate_user_email")); } if (string.IsNullOrEmpty(dbAppUser.Password))// TODO: handle things like #chars, capital/lower case, symbols? { return(BadRequest("password_not_set")); } context.Add(dbAppUser); context.Save(); return(Ok(new AppUserDetail(dbAppUser))); } catch (DbUpdateException e) { return(BadRequest("invalid_error")); //TODO: should be an object } } }
public IActionResult CreateLike([FromBody] JObject like) { using (var context = new RevojiDataContext()) { DBLike dBLike = new DBLike(like); context.Add(dBLike); context.Save(); return(Ok(new Like(dBLike))); } }
public IActionResult CreateReply([FromBody] JObject reply) { using (var context = new RevojiDataContext()) { DBReply dBReply = new DBReply(reply); context.Add(dBReply); context.Save(); return(Ok()); } }
public IActionResult Create([FromBody] ReviewableDetail reviewable) { using (var context = new RevojiDataContext()) { DBReviewable dbReviewable = new DBReviewable(); reviewable.UpdateDB(dbReviewable); context.Add(dbReviewable); context.Save(); return(Ok(new Reviewable(dbReviewable))); } }
public IActionResult CreateBookmark([FromBody] JObject bookmark) { using (var context = new RevojiDataContext()) { DBBookmark dBBookmark = new DBBookmark(bookmark); dBBookmark.Created = DateTime.Now; context.Add(dBBookmark); context.Save(); return(Ok(new Bookmark(dBBookmark))); } }
public IActionResult AddFollowing(int followingId) { using (var context = new RevojiDataContext()) { DBFollowing dbFollowing = new DBFollowing(); dbFollowing.FollowingAppUserId = followingId; dbFollowing.FollowerAppUserId = ApiUser.ID; context.Add(dbFollowing); context.Save(); return(Ok(new AppUserFollowing(dbFollowing))); } }
public IActionResult BlockUser(int blockedId) { using (var context = new RevojiDataContext()) { DBBlocking dBBlocking = new DBBlocking(); dBBlocking.BlockedAppUserId = blockedId;//TODO: check if user actually exists dBBlocking.BlockerAppUserId = ApiUser.ID; context.Add(dBBlocking); context.Save(); return(Ok(new AppUserBlocking(dBBlocking))); } }
public IActionResult CreateNotification([FromBody] JObject notification) { using (var context = new RevojiDataContext()) { DBNotification dBNotification = new DBNotification(notification); if (dBNotification.AppUserId == -1) { return(BadRequest("app_user_id_required")); } dBNotification.Created = DateTime.Now; context.Add(dBNotification); context.Save(); return(Ok(new Notification(dBNotification))); } }