예제 #1
0
        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("Авторизация не пройдена. Авторизуйтесь, чтобы продолжить.");
            }
        }
예제 #2
0
        private void SaveAndExit(object sender, MouseButtonEventArgs e)
        {
            ControllerSettings.SaveModel(this.modelGroupItem, this, this.viewGroupItem);

            ControllerGroupItem.ChangeGroupItem(this.modelGroupItem);

            this.Close(MessageBoxResult.Yes);
        }
예제 #3
0
        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));
        }
예제 #4
0
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     if (result == MessageBoxResult.No)
     {
         result = System.Windows.MessageBox.Show("Сохранить изменения?", "Yes/No", MessageBoxButton.YesNo);
         if (result == MessageBoxResult.Yes)
         {
             ControllerSettings.SaveModel(this.modelGroupItem, this, this.viewGroupItem);
             ControllerGroupItem.ChangeGroupItem(this.modelGroupItem);
         }
     }
 }
예제 #5
0
        private void OpenGroupSettings(object sender, MouseButtonEventArgs e)
        {
            var Settings = new ViewSettings();

            Settings.viewGroupItem = this;
            if ((model.path == null) || (model.path == ""))
            {
                model.path = "Выберите папку с фото";
            }
            ControllerGroupItem.SetSettingsView(Settings, model);

            //// Отображаем окно
            Settings.ShowDialog();
        }
예제 #6
0
        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++;
        }
예제 #7
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            using (FileStream Stream = new FileStream("userdata/Serialization.xml", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                XmlSerializer  xmlSerializer = new XmlSerializer(typeof(ListGroupItems));
                ListGroupItems SaveList      = (ListGroupItems)xmlSerializer.Deserialize(Stream);

                foreach (ModelGroupItem modelGroupItem in SaveList.listGroupItem)
                {
                    modelGroupItem.listbox       = listBox;
                    modelGroupItem.listGroupItem = listGroupItem;

                    ViewGroupItem viewGroupItem = new ViewGroupItem(modelGroupItem, viewSettings);
                    modelGroupItem.viewGroupItem = viewGroupItem;
                    modelGroupItem.SetStatus();
                    // Проверяем заполненные поля и выставляем стату готовности к отправке
                    ControllerGroupItem.ChangeGroupItem(modelGroupItem);

                    // Добавляем модель в список моделей и вид в lisBox
                    listGroupItem.Add(modelGroupItem);
                    listBox.Items.Insert(listBox.Items.Count - 1, viewGroupItem);
                }
            }
        }