public void Done() { _isOpen = false; NotifyOfPropertyChange(() => IsOpen); ContinueAction.SafeInvoke(_currentItem); }
public void Done() { _isOpen = false; NotifyOfPropertyChange(() => IsOpen); var logString = new StringBuilder(); logString.AppendLine("photos"); var messages = new List <TLMessage>(); var randomIndex = new Dictionary <long, long>(); foreach (var item in Items) { if (item.IsButton) { continue; } if (item.Message != null) { if (item.Message.RandomIndex == 0) { logString.AppendLine(string.Format("random_id=0 msg={0} original_file_name={1}", item.Message, item.File.Name)); continue; } if (randomIndex.ContainsKey(item.Message.RandomIndex)) { logString.AppendLine(string.Format("random_id exists msg={0} original_file_name={1}", item.Message, item.File.Name)); continue; } randomIndex[item.Message.RandomIndex] = item.Message.RandomIndex; var mediaPhoto = item.Message.Media as TLMessageMediaPhoto28; var photo = mediaPhoto.Photo as TLPhoto28; var size = photo.Sizes.First() as TLPhotoSize; var fileLocation = size.Location; var fileName = String.Format("{0}_{1}_{2}.jpg", fileLocation.VolumeId, fileLocation.LocalId, fileLocation.Secret); item.Message.Media.UploadingProgress = 0.001; messages.Add(item.Message); logString.AppendLine(string.Format("msg={0} file_name={1}", item.Message, fileName)); } else { logString.AppendLine(string.Format("empty msg original_file_name={0}", item.File.Name)); } } #if MULTIPLE_PHOTOS Log.Write(logString.ToString()); #endif ContinueAction.SafeInvoke(messages); }
public void AttachVenue(TLMessageMediaVenue mediaVenue) { if (mediaVenue == null) { return; } CloseEditor(true); ContinueAction.SafeInvoke(mediaVenue); }
public void AttchLocation(GeoCoordinate location) { if (location == null) { return; } if (location.Latitude == 0.0 && location.Longitude == 0.0) { return; } var mediaGeo = new TLMessageMediaGeo { Geo = new TLGeoPoint { Lat = new TLDouble(location.Latitude), Long = new TLDouble(location.Longitude) } }; CloseEditor(); ContinueAction.SafeInvoke(mediaGeo); }
public void AttachGeoLive(GeoCoordinate location, TimerSpan timer) { if (location == null) { return; } if (location.Latitude == 0.0 && location.Longitude == 0.0) { return; } var mediaGeoLive = new TLMessageMediaGeoLive { Geo = new TLGeoPoint { Lat = new TLDouble(location.Latitude), Long = new TLDouble(location.Longitude) }, Period = new TLInt(timer.Seconds) }; CloseEditor(); ContinueAction.SafeInvoke(mediaGeoLive); }
public void Done() { _isOpen = false; NotifyOfPropertyChange(() => IsOpen); var logString = new StringBuilder(); logString.AppendLine("photos"); var messages = new List <PhotoFile>(); var randomIndex = new Dictionary <long, long>(); var groupedId = IsGrouped && Items.Count(x => !x.IsButton) > 1 ? TLLong.Random() : null; TLInt commonDate = null; for (var i = 0; i < Items.Count; i++) { var item = Items[i]; if (item.IsButton) { continue; } if (item.Message != null) { if (item.Message.RandomIndex == 0) { logString.AppendLine(string.Format("random_id=0 msg={0} original_file_name={1}", item.Message, item.File.Name)); continue; } if (i % Constants.MaxGroupedMediaCount == 0) { groupedId = IsGrouped && Items.Count(x => !x.IsButton) > 1 ? TLLong.Random() : null; } if (randomIndex.ContainsKey(item.Message.RandomIndex)) { logString.AppendLine(string.Format("random_id exists msg={0} original_file_name={1}", item.Message, item.File.Name)); continue; } var message73 = item.Message as TLMessage73; if (message73 != null) { if (commonDate == null) { commonDate = message73.Date; } message73.Date = commonDate; message73.GroupedId = groupedId; } randomIndex[item.Message.RandomIndex] = item.Message.RandomIndex; var mediaPhoto = item.Message.Media as TLMessageMediaPhoto28; var photo = mediaPhoto.Photo as TLPhoto28; var size = photo.Sizes.First() as TLPhotoSize; var fileLocation = size.Location; var fileName = String.Format("{0}_{1}_{2}.jpg", fileLocation.VolumeId, fileLocation.LocalId, fileLocation.Secret); item.Message.Media.UploadingProgress = 0.001; if (item.TimerSpan != null && item.TimerSpan.Seconds > 0) { var message25 = item.Message as TLMessage25; if (message25 != null) { message25.NotListened = true; } var ttlMessageMedia = item.Message.Media as ITTLMessageMedia; if (ttlMessageMedia != null) { ttlMessageMedia.TTLSeconds = new TLInt(item.TimerSpan.Seconds); } } messages.Add(item); logString.AppendLine(string.Format("msg={0} file_name={1}", item.Message, fileName)); } else if (item.DecryptedTuple != null) { if (item.DecryptedTuple.Item1.RandomIndex == 0) { logString.AppendLine(string.Format("random_id=0 msg={0} original_file_name={1}", item.DecryptedTuple.Item1, item.File.Name)); continue; } if (randomIndex.ContainsKey(item.DecryptedTuple.Item1.RandomIndex)) { logString.AppendLine(string.Format("random_id exists msg={0} original_file_name={1}", item.DecryptedTuple.Item1, item.File.Name)); continue; } var decryptedMessage73 = item.DecryptedTuple.Item1 as TLDecryptedMessage73; if (decryptedMessage73 != null) { if (commonDate == null) { commonDate = decryptedMessage73.Date; } decryptedMessage73.Date = commonDate; decryptedMessage73.GroupedId = groupedId; } randomIndex[item.DecryptedTuple.Item1.RandomIndex] = item.DecryptedTuple.Item1.RandomIndex; var mediaPhoto = ((TLDecryptedMessage)item.DecryptedTuple.Item1).Media as TLDecryptedMessageMediaPhoto; var fileLocation = mediaPhoto.Photo as TLEncryptedFile; var fileName = String.Format("{0}_{1}_{2}.jpg", fileLocation.Id, fileLocation.DCId, fileLocation.AccessHash); mediaPhoto.StorageFile = null; mediaPhoto.UploadingProgress = 0.001; messages.Add(item); logString.AppendLine(string.Format("msg={0} file_name={1}", item.DecryptedTuple.Item1, fileName)); } else { logString.AppendLine(string.Format("empty msg original_file_name={0}", item.File.Name)); } } #if MULTIPLE_PHOTOS Log.Write(logString.ToString()); #endif ContinueAction.SafeInvoke(messages); }