public async Task <BaseResponse> Invite([FromBody] GroupInviteRequest request) { var currentUserId = HttpContext.User.GetUserId(); var response = new BaseResponse(); if (request == null || !ModelState.IsValid) { HttpContext.Response.StatusCode = StatusCodes.Status400BadRequest; response.Message = "Invalid input(s)."; return(response); } try { if (!await _groupsRepository.UserInGroup(currentUserId, request.Group_Id)) { HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized; response.Message = "User is not authorized to invite to this group."; return(response); } } catch { HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized; response.Message = "Failed to authorize invite rights."; return(response); } var invite = new GroupInvite { Group_Id = request.Group_Id, User_Id = currentUserId, Inviter_Id = request.Inviter_Id }; try { if (await _groupsRepository.CreateInvite(invite)) { response.Success = true; response.Message = "User successfully invited to group!"; } else { throw new Exception(); } } catch (Exception ex) { Console.WriteLine(ex.Message); HttpContext.Response.StatusCode = StatusCodes.Status500InternalServerError; response.Message = "Failed to create invite."; } return(response); }
protected void bAjaxPostback_Click(object sender, EventArgs e) { string status = string.Empty; try { Affine.Data.Managers.IDataManager dataMan = Affine.Data.Managers.LINQ.DataManager.Instance; aqufitEntities entities = new aqufitEntities(); long fid = 0; switch (hiddenAjaxAction.Value) { case "friendAccept": fid = Convert.ToInt64(hiddenAjaxValue.Value); dataMan.AcceptFriendRequests(UserSettings.Id, fid); status = "Friend has been added."; break; case "friendReject": fid = Convert.ToInt64(hiddenAjaxValue.Value); dataMan.RejectFriendRequests(UserSettings.Id, fid); status = "Friend request rejected."; break; case "deleteNotification": long nid = Convert.ToInt64(hiddenAjaxValue.Value); Notification notification = entities.UserStreamSet.OfType <Notification>().FirstOrDefault(n => n.Id == nid && n.UserSetting.Id == UserSettings.Id); if (notification != null) { entities.DeleteObject(notification); entities.SaveChanges(); } break; case "joinGroup": fid = Convert.ToInt64(hiddenAjaxValue.Value); GroupInviteRequest request = entities.UserRequestSet.Include("UserSetting").OfType <GroupInviteRequest>().FirstOrDefault(r => r.FriendRequestSettingsId == UserSettings.Id && r.UserSetting.Id == fid); dataMan.JoinGroup(UserSettings.Id, request.UserSetting.Id, Utils.ConstsUtil.Relationships.GROUP_MEMBER); request.Status = 0; entities.SaveChanges(); break; case "deleteRequest": fid = Convert.ToInt64(hiddenAjaxValue.Value); GroupInviteRequest delRequest = entities.UserRequestSet.Include("UserSetting").OfType <GroupInviteRequest>().FirstOrDefault(r => r.FriendRequestSettingsId == UserSettings.Id && r.UserSetting.Id == fid); entities.DeleteObject(delRequest); break; case "AddSuggestFriend": try { long usid = Convert.ToInt64(hiddenAjaxValue.Value); status = dataMan.sendFriendRequest(UserSettings.Id, usid); RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.atiProfile.ShowOk('A Friend request has been sent');"); } catch (Exception ex) { RadAjaxManager1.ResponseScripts.Add("Aqufit.Page.Actions.ShowFail('Error: " + ex.Message + "');"); } break; } } catch (Exception ex) { status = "ERROR: There was a problem with the action (" + ex.Message + ")"; } RadAjaxManager1.ResponseScripts.Add("UpdateStatus('" + status + "'); "); }