public SendImageResponse SendImage(ISession session, SendImageRequest request) { var response = request.CreateResponse<SendImageResponse>(); response.ImageId = -1; if (session.User.IsDevoiced) { session.Send(new YouAreDevoicedNotification()); return response; } PublicMessage message = null; using (var uow = UnitOfWorkFactory.Create()) { int fileId; try { fileId = _fileStorage.AppendFile(request.Image); response.ImageId = fileId; } catch (System.Exception) { //Invalid image return response; } uow.Attach(session.User); message = new PublicMessage(session.User, fileId, "Your client doesn't support IMAGE messages"); uow.PublicMessageRepository.Add(message); uow.Commit(); } var dto = message.ProjectedAs<PublicMessageDto>(); dto.Role = (UserRoleEnum)(int)session.User.Role; _sessionManager.SendToEachChatSessions(dto); return response; }
public Task<SendImageResponse> SendImage(SendImageRequest request) { return ConnectionManager.SendRequestAndWaitResponse<SendImageResponse>(request); }