public async Task <HttpResponseMessage> Insert(ContentFlagAddRequest model, string aspNetUserId) { int ReportedByMemberId = _memberProfileService.GetCurrentMemberProfile().Id; int MemberProfileId = _memberProfileService.GetMemberProfileByAspNetUserId(aspNetUserId).Id; if (!ModelState.IsValid) { return(Request.CreateErrorResponse(HttpStatusCode.BadGateway, ModelState)); } SuccessResponse response = new SuccessResponse(); ItemsResponse <AdminSettings> notify = new ItemsResponse <AdminSettings>(); try { notify.Items = _adminService.SelectByNotifications(); _contentFlagService.Insert(ReportedByMemberId, MemberProfileId, model.FlagTypeId); foreach (AdminSettings item in notify.Items) { if (item.FlagEmail == true) { await _sendEmailService.SendEmailFlaggedContent(item.Email); } if (item.FlagText == true) { string message = "A new content has been flagged! Please login and regulate!"; _smsService.SendSms(item.PhoneNumber, message); } } return(Request.CreateResponse(HttpStatusCode.OK, response)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex)); } }