public async Task <ActionResult> SendBinary([FromBody] SendBinaryRequest req, [FromHeader] JwtBody jwt) { var group = await groupRepo.GetById(req.Title); if (group == null) { return(Json(new BaseResponse(false, "Group does not exist"))); } var sendBinaryModel = new SendBinariesModel() { base64Data = req.base64Data, senderLanguage = jwt.language, recipientIds = group.membersList.Select(m => m.Id).ToList() }; return(RedirectToAction("SendBinaries", "ChatController", new RouteValueDictionary ( new { binariesModel = sendBinaryModel, jwtBody = jwt } ))); }
public async Task <JsonResult> SendBinaries([FromBody] SendBinariesModel binariesModel, [FromHeader] JwtBody jwtBody) { // filter out users var recipients = await userRepository .GetAll() .Where(u => binariesModel.recipientIds.Contains(u.Id.ToString())) .Where(u => CanSendToUser(jwtBody.id, u)) .ToListAsync(); var sender = await userRepository.GetById(jwtBody.id); bool sent = await messagingService.SendBinaries(sender, recipients, binariesModel.fileName, binariesModel.base64Data); return(Json(new BaseResponse(sent, sent ? null : "Not all users received message"))); }