private void SimplePhotoPost(object sender, MouseButtonEventArgs e) { if (vk.isAuthorized) { foreach (ModelGroupItem model in listGroupItem) { if (model.Status == ModelGroupItem.MessageStatus.InDelivery) { model.Status = ModelGroupItem.MessageStatus.InProgress; ControllerGroupItem.SetStatusPicture(model); this.onStartDelivery += model.viewGroupItem.StartAnim; if (onStartDelivery != null) { onStartDelivery(); } } } CallSendMethod(); } else { MessageBox.Show("Авторизация не пройдена. Авторизуйтесь, чтобы продолжить."); } }
private void SendMethod() { int sendCount = 0; foreach (ModelGroupItem model in listGroupItem) { try { if (model.Status == ModelGroupItem.MessageStatus.InProgress) { this.onEndDelivery += model.viewGroupItem.StopAnim; // Получаем список путей до каждой из фотграфий string[] photos = Directory.GetFiles(model.path); // передаем этот список в метод загрузки фоток в альбом string[] photosId = vk.photoPost(model.groupId, model.albumId, photos); // После этого формируем поле attachments string attachments = ""; //...Здесь должен быть код // foreach (var photoId in photosId) { attachments = attachments + String.Format("photo-{0}_{1}", model.groupId, photoId) + ","; } attachments = attachments + String.Format("album-{0}_{1}", model.groupId, model.albumId); vk.wallPost(HttpUtility.UrlEncode(model.message + "\n" + model.hashTags), model.groupId, attachments); model.message = ""; sendCount++; if (onEndDelivery != null) { Dispatcher.BeginInvoke(new Action(delegate() { onEndDelivery(); model.Status = ModelGroupItem.MessageStatus.MessageSent; ControllerGroupItem.SetStatusPicture(model); })); } } } catch { Dispatcher.BeginInvoke(new Action(delegate() { this.onErrorDelivery += model.viewGroupItem.StopAnim; if (onErrorDelivery != null) { Dispatcher.BeginInvoke(new Action(delegate() { onErrorDelivery(); })); } model.Status = ModelGroupItem.MessageStatus.Error; ControllerGroupItem.SetStatusPicture(model); MessageBox.Show(String.Format("Упс, что-то пошло не так c группой {0}! \n\n Проверьте, правильно ли вы ввели groupID (должен быть введен без минуса) и albumID. А также проверьте подключение к сети Интернет.", model.title)); })); } } MessageBox.Show(String.Format("Отправка завершена! Отправлено: {0} сообщений.", sendCount)); }
private void Click_AddGroup(object sender, MouseButtonEventArgs e) { ModelGroupItem modelGroupItem = new ModelGroupItem(itemId, viewSettings, listBox, listGroupItem); ViewGroupItem viewGroupItem = new ViewGroupItem(modelGroupItem, viewSettings); modelGroupItem.viewGroupItem = viewGroupItem; ControllerGroupItem.SetStatusPicture(modelGroupItem); //modelGroupItem.Status = ModelGroupItem.MessageStatus.NotReady; listGroupItem.Add(modelGroupItem); listBox.Items.Insert(listBox.Items.Count - 1, viewGroupItem); // Увеличим item_id для последующих элементов itemId++; }