void RecDialog_OnFinishRecording(object sender, StringEventArgs e) { if (!string.IsNullOrEmpty(e.FilePath) && CrossConnectivity.Current.IsConnected) { var filePath = ChatDetailViewUtils.SetNewFileNameOfVoice(e.FilePath); ViewModel.AudioFileToBeSent.Add(filePath); var model = new AddGroupChatHistoryItemRequest() { SENDER_ID = GetMyUserId(), SENDER_NAME = GetMyUserName(), GROUP_ID = ViewModel.CurrentlyOpenDTO.GROUP_ID, MSG_TYPE = GlobalConstants.CHAT_HISTORY_ITEM_AUDIO, MSG_CONTENT = txtContent.Text.Trim(), }; var bArray = File.ReadAllBytes(filePath); var fileName = Path.GetFileName(filePath); var requestModel = new AddGroupVoiceMessageItemRequest() { FilebArray = bArray, FileName = fileName, ItemRequest = model }; ViewModel.SendVoiceMessageCommand.Execute(requestModel); } }
async void AttachVideoTakeHandler(object sender, EventArgs e) { RemoveAttachToolBoxFragment(); var PermStorage = await CheckNecessaryPermissions(Plugin.Permissions.Abstractions.Permission.Storage); var PermMic = await CheckNecessaryPermissions(Plugin.Permissions.Abstractions.Permission.Microphone); var PermCamera = await CheckNecessaryPermissions(Permission.Camera); if (PermStorage && PermCamera && PermMic && CrossConnectivity.Current.IsConnected) { if (!CrossMedia.Current.IsTakeVideoSupported) { DialogUtils.ShowOKDialog(this, @"Warning", @"No video available."); return; } if (ViewModel.PhotoFileToBeSent == null) { ViewModel.PhotoFileToBeSent = new List <MediaFile>(); } var mediaFile = await CrossMedia.Current.TakeVideoAsync(new StoreVideoOptions() { Directory = "Private", Name = string.Format("{0}_{1}.mp4", DateConverter.GetUnixTimeSpanFromDate(DateTime.Now), GetMyUserId()) }); if (mediaFile != null) { if (new FileInfo(mediaFile.Path).Length / 1048576 > 50) { DialogUtils.ShowOKDialog(this, @"Warning", @"Large File."); return; } ViewModel.PhotoFileToBeSent.Add(mediaFile); var model = new AddGroupChatHistoryItemRequest() { SENDER_ID = GetMyUserId(), SENDER_NAME = GetMyUserName(), GROUP_ID = ViewModel.CurrentlyOpenDTO.GROUP_ID, MSG_TYPE = GlobalConstants.CHAT_HISTORY_ITEM_VIDEO, MSG_CONTENT = "", }; ViewModel.SendGroupMessageCommand.Execute(model); } } else { ViewModel.PhotoFileToBeSent.Clear(); } }
async void AttachImageTakeHandler(object sender, EventArgs e) { RemoveAttachToolBoxFragment(); try { var PermStorage = await CheckNecessaryPermissions(Plugin.Permissions.Abstractions.Permission.Storage); var CameraStorage = await CheckNecessaryPermissions(Plugin.Permissions.Abstractions.Permission.Camera); if (PermStorage && CameraStorage) { if (!CrossMedia.Current.IsCameraAvailable && !CrossMedia.Current.IsTakePhotoSupported) { DialogUtils.ShowOKDialog(this, @"Warning", @"No Camera available."); return; } if (ViewModel.PhotoFileToBeSent == null) { ViewModel.PhotoFileToBeSent = new List <MediaFile>(); } var mediaFile = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "Group", Name = DateTime.Now.ToString() + ".jpg", PhotoSize = PhotoSize.Large }); if (mediaFile != null) { ViewModel.PhotoFileToBeSent.Add(mediaFile); var model = new AddGroupChatHistoryItemRequest() { SENDER_ID = GetMyUserId(), SENDER_NAME = GetMyUserName(), GROUP_ID = ViewModel.CurrentlyOpenDTO.GROUP_ID, MSG_TYPE = GlobalConstants.CHAT_HISTORY_ITEM_IMAGE, MSG_CONTENT = "", }; ViewModel.SendGroupMessageCommand.Execute(model); } } else { ViewModel.PhotoFileToBeSent = null; } } catch (Exception e2) { } }
async void AttachImageChooseHandler(object sender, EventArgs e) { RemoveAttachToolBoxFragment(); try { var PermStorage = await CheckNecessaryPermissions(Permission.Storage); if (PermStorage) { if (!CrossMedia.Current.IsPickPhotoSupported) { DialogUtils.ShowOKDialog(this, @"Warning", @"No gallery available."); return; } if (ViewModel.PhotoFileToBeSent == null) { ViewModel.PhotoFileToBeSent = new List <MediaFile>(); } var mediaFile = await CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions { PhotoSize = PhotoSize.Medium }); if (mediaFile != null) { ViewModel.PhotoFileToBeSent.Add(mediaFile); var model = new AddGroupChatHistoryItemRequest() { SENDER_ID = GetMyUserId(), SENDER_NAME = GetMyUserName(), GROUP_ID = ViewModel.CurrentlyOpenDTO.GROUP_ID, MSG_TYPE = GlobalConstants.CHAT_HISTORY_ITEM_IMAGE, MSG_CONTENT = "" }; ViewModel.SendGroupMessageCommand.Execute(model); } } else { ViewModel.PhotoFileToBeSent = null; } } catch (Exception e1) { Console.WriteLine(e1.ToString()); } }
async void AttachVideoChooseHandler(object sender, EventArgs e) { RemoveAttachToolBoxFragment(); var PermStorage = await CheckNecessaryPermissions(Plugin.Permissions.Abstractions.Permission.Storage); var PermMic = await CheckNecessaryPermissions(Plugin.Permissions.Abstractions.Permission.Microphone); if (PermStorage && CrossConnectivity.Current.IsConnected) { if (!CrossMedia.Current.IsPickVideoSupported) { DialogUtils.ShowOKDialog(this, @"Warning", @"No gallery available."); return; } if (ViewModel.PhotoFileToBeSent == null) { ViewModel.PhotoFileToBeSent = new List <MediaFile>(); } var mediaFile = await CrossMedia.Current.PickVideoAsync(); if (mediaFile != null) { if (new FileInfo(mediaFile.Path).Length / 1048576 > 50) { DialogUtils.ShowOKDialog(this, @"Warning", @"Large File."); return; } ViewModel.PhotoFileToBeSent.Add(mediaFile); var model = new AddGroupChatHistoryItemRequest() { SENDER_ID = GetMyUserId(), SENDER_NAME = GetMyUserName(), GROUP_ID = ViewModel.CurrentlyOpenDTO.GROUP_ID, MSG_TYPE = GlobalConstants.CHAT_HISTORY_ITEM_VIDEO, MSG_CONTENT = "" }; ViewModel.SendGroupMessageCommand.Execute(model); } } else { ViewModel.PhotoFileToBeSent.Clear(); } }
async void File_AttachFileHandler(object sender, EventArgs e) { RemoveAttachToolBoxFragment(); var PermStorage = await CheckNecessaryPermissions(Permission.Storage); if (PermStorage && CrossConnectivity.Current.IsConnected) { try { FileData fileData = await CrossFilePicker.Current.PickFile(); if (fileData == null) { return; } var extFile = Path.GetExtension(fileData.FilePath); if (!string.Equals(extFile.ToLower(), ".pdf")) { DialogUtils.ShowOKDialog(this, "Warning", "Only Pdf is available to send"); return; } if (ViewModel.BinaryFileToBeSent == null) { ViewModel.BinaryFileToBeSent = new List <FileData>(); } ViewModel.BinaryFileToBeSent.Add(fileData); var model = new AddGroupChatHistoryItemRequest() { SENDER_ID = GetMyUserId(), SENDER_NAME = GetMyUserName(), GROUP_ID = ViewModel.CurrentlyOpenDTO.GROUP_ID, MSG_TYPE = GlobalConstants.CHAT_HISTORY_ITEM_PDF, MSG_CONTENT = "" }; ViewModel.SendGroupMessageCommand.Execute(model); } catch (Exception ex) { } } else { ViewModel.BinaryFileToBeSent.Clear(); } }
void FabSend_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtContent.Text.Trim())) { var model = new AddGroupChatHistoryItemRequest() { SENDER_ID = GetMyUserId(), SENDER_NAME = GetMyUserName(), GROUP_ID = ViewModel.CurrentlyOpenDTO.GROUP_ID, MSG_TYPE = GlobalConstants.CHAT_HISTORY_ITEM_TEXT, MSG_CONTENT = txtContent.Text.Trim(), }; ViewModel.SendGroupMessageCommand.Execute(model); RunOnUiThread(() => { txtContent.Text = ""; }); } }