예제 #1
0
        void RemoveElement(int elem)
        {
            OrganizerFile organizerFile = new OrganizerFile();

            OrganizerXML[] ReadXML  = organizerFile.SerializeFileRead();
            OrganizerXML[] WriteXML = new OrganizerXML[ReadXML.Length - 1];
            string         text     = listViewTasks.SelectedItems[0].SubItems[2].Text;
            string         time     = listViewTasks.SelectedItems[0].SubItems[1].Text;
            string         date     = listViewTasks.SelectedItems[0].SubItems[0].Text;

            for (int i = 0, k = 0; i < ReadXML.Length; i++)
            {
                string   text2 = ReadXML[i].Text;
                string   time2 = ReadXML[i].Time.Hour + ":" + ReadXML[i].Time.Minute;
                string[] date2 = ReadXML[i].Date.GetDateTimeFormats();
                if (ReadXML[i] != null && ReadXML[i].Name == Constants.Name && text == text2 && time == time2 && date == date2[0])
                {
                    continue;
                }
                WriteXML[k++] = ReadXML[i];
            }

            Constants.XML = WriteXML;
            DeleteInListView();
            AddTextInListView(WriteXML, (EvenCategoryLab)comboBoxTask.SelectedIndex);
            organizerFile.SerializeFileWrite(WriteXML);
            //MessageBox.Show(date + "\r\n" + time + "\r\n" + text);


            //OrganizerXML[] XML = new OrganizerXML[];
        }
예제 #2
0
        private void button1_Click2(object sender, EventArgs e)
        {
            bool TestTime = true;
            bool TestEven = true;
            bool TestName = true;
            bool TestText = true;
            bool TestDate = true;


            OrganizerFile ORGfile = new OrganizerFile();

            OneXMl.Time          = dateTimePicker1.Value;
            OneXMl.Date          = monthCalendar1.SelectionRange.Start;
            OneXMl.Text          = textBox1.Text;
            OneXMl.EventCategory = (EvenCategoryLab)comboBox1.SelectedIndex;
            OneXMl.Name          = Constants.Name;
            string[] Dat = OneXMl.Date.GetDateTimeFormats();
            //MessageBox.Show(Dat[0]);

            if ((int)OneXMl.EventCategory == -1)
            {
                TestEven = false;
                MessageBox.Show("Укажи тип", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            if (OneXMl.Name == null || OneXMl.Name == "")
            {
                TestName = false;
                MessageBox.Show("Ошибка с именем юзера\r\n Боль, а не ошибка", "Очень странная Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            if (OneXMl.Text == null || OneXMl.Text.Trim() == "")
            {
                TestText = false;
                MessageBox.Show("Где текст сударь?", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            DateTime dd = DateTime.Now;

            if (OneXMl.Date.DayOfYear < dd.DayOfYear)
            {// если день меньше, чем текущий, то чекаем годы
                if (OneXMl.Date.Year > dd.Year)
                {
                    TestDate = false;
                    MessageBox.Show("Нельзя указать день из прошлого", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else if (OneXMl.Date.DayOfYear == dd.DayOfYear)// если дни одинаковы то чекаем время
            {
                if (OneXMl.Time.Hour == dd.Hour)
                { // если текущий час меньше то чекаем минуты
                    if (OneXMl.Time.Minute < dd.Minute + 10)
                    {
                        TestDate = false;
                        int kek = -OneXMl.Time.Minute + dd.Minute;
                        MessageBox.Show("Событие через " + kek + " минут?\r\n ты кого обамнуть пытаешься?\r\n событие должно быть не раньше чем ререз 10 минут", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else if (OneXMl.Time.Hour < dd.Hour)
                {
                    TestDate = false;
                    MessageBox.Show("Ты там че курил?\r\n Стрелки часов переверни", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }

            if (TestDate && TestEven && TestName && TestText && TestTime)
            {
                MainXML[Value] = OneXMl;
                ORGfile.SerializeFileWrite(MainXML);
                MessageBox.Show("Метка была изменена");
                Close();
            }
        }
예제 #3
0
        private void Organizer_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Control && e.KeyCode == Keys.S)
            {
                saveFileDialog1.DefaultExt = ".xml";
                saveFileDialog1.ShowDialog();
                if (saveFileDialog1.FileName == null)
                {
                    return;
                }
                bool test = true;
                Constants.CreateTxtFilePaths();
                string[] tmp = Constants.ReadPaths();
                foreach (string str in tmp)
                {
                    if (str == saveFileDialog1.FileName)
                    {
                        test = false;
                    }
                }
                if (test)
                {
                    Constants.WritePaths(saveFileDialog1.FileName);
                }
                int i = 0, count = 0;

                OrganizerFile  kek = new OrganizerFile();
                OrganizerXML[] XML = kek.SerializeFileRead();
                for (i = 0; i < XML.Length; i++)
                {
                    if (!radioButtonAllEvents.Checked)
                    {
                        if (XML[i].Name == Constants.Name && XML[i].EventCategory == (EvenCategoryLab)comboBoxTask.SelectedIndex)
                        {
                            count++;
                        }
                    }
                    else
                    {
                        count = XML.Length;
                    }
                }
                OrganizerXML[] xxx = new OrganizerXML[count];
                i = 0;
                if (!radioButtonAllEvents.Checked)
                {
                    for (int k = 0; i < XML.Length; i++)
                    {
                        if (XML[i].Name == Constants.Name && XML[i].EventCategory == (EvenCategoryLab)comboBoxTask.SelectedIndex)
                        {
                            xxx[k++] = XML[i];
                        }
                    }
                }
                else
                {
                    xxx = XML;
                }
                if (File.Exists(saveFileDialog1.FileName))
                {
                    File.Delete(saveFileDialog1.FileName);
                }
                Constants.XML = xxx;
                kek.SerializeFileWrite(Constants.XML, saveFileDialog1.FileName);
            }
            if (e.Control && e.KeyCode == Keys.O)
            {
                openFileDialog1.ShowDialog();
                if (openFileDialog1.FileName == null || openFileDialog1.FileName == "")
                {
                    return;
                }
                Constants.FileTask_xml = openFileDialog1.FileName;
                DeleteInListView();
                AddTextInListView();
            }
            if (e.KeyCode == Keys.Delete)
            {
                toolStripMenuItemRemove_Click(sender, e);
            }
            if (e.Control && e.KeyCode == Keys.A)
            {
                Constants.FileTask_xml = Constants.ConstFileTask;
                DeleteInListView();
                AddTextInListView();
            }
            if (e.KeyCode == Keys.F1)
            {
                string            text    = "cts+s - сохранить файл\r\nctr+o - открыть файл\r\nctr+a - вернуться к дефолтному файлу\r\ndel - удаляет выбранный элемент\r\nf1 - справка";
                string            caption = "Помощь";
                MessageBoxButtons button  = MessageBoxButtons.OK;
                MessageBoxIcon    icon    = MessageBoxIcon.Information;
                MessageBox.Show(text, caption, button, icon);
            }
        }