Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Текст программы.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
101.67 Кб
Скачать

Newsletter.Cs

using System;

using System.Windows.Forms;

using Microsoft.Office.Interop.Excel;

namespace WindowsFormsApplication1

{

public partial class Newsletter : Form

{

public Newsletter()

{

InitializeComponent();

SMSC sms = new SMSC();

label1.Text = "Баланс: " + sms.get_balance();

}

private void SendButton_Click(object sender, EventArgs e)

{

try

{

bool result = false;

string listphones = "";

if ((radioButton1.Checked == false) & (radioButton2.Checked == false))

{

MessageBox.Show("Не выбраны адресаты рассылки");

return;

}

Manage_Taxi mt = new Manage_Taxi();

if (radioButton1.Checked)

{

result = mt.SendNews(radioButton1.Text, textBox1.Text, out listphones);

}

if (radioButton2.Checked)

{

result = mt.SendNews(radioButton2.Text, textBox2.Text, out listphones);

}

if (result)

{

DialogResult dial = MessageBox.Show("Отправлено. Сохранить отчет?", "Сохранить", MessageBoxButtons.YesNo);

if (dial == DialogResult.Yes)

{

string[] phones = listphones.Split(',');

SMSC sms = new SMSC();

for (int i = 0; i < phones.Length; i++)

{

}

saveFileDialog1.Filter = "Excel file|.xls";

saveFileDialog1.Title = "Экспорт в Excel";

saveFileDialog1.ShowDialog();

if (saveFileDialog1.FileName != "")

{

Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();

Workbook ExcelWorkBook;

Worksheet ExcelWorkSheet;

//Книга.

ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value);

//Таблица.

ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1);

ExcelWorkSheet.Cells[1, 1] = "Статус";

ExcelWorkSheet.Cells[1, 2] = "Время";

ExcelWorkSheet.Cells[1, 3] = "Ошибка";

ExcelWorkSheet.Cells[1, 4] = "Дата отправки";

ExcelWorkSheet.Cells[1, 5] = "Телефон";

ExcelWorkSheet.Cells[1, 6] = "Стоимость";

ExcelWorkSheet.Cells[1, 7] = "ID отправителя";

ExcelWorkSheet.Cells[1, 8] = "Название статуса";

ExcelWorkSheet.Cells[1, 9] = "Сообщение";

for (int i = 0; i < phones.Length; i++)

{

string[] data = sms.get_status(adress.newsid, phones[i]);

for (int j = 0; j < 9; j++)

{

if (j == 1)

{

int timestamp = Convert.ToInt32(data[1]);

DateTime offset = new DateTime(1970, 1, 1, 0, 0, 0, 0);

DateTime date = offset.AddSeconds(timestamp);

ExcelApp.Cells[i + 2, j + 1] = date.ToLocalTime().ToString();

}

else if (j == 3)

{

int timestamp = Convert.ToInt32(data[3]);

DateTime offset = new DateTime(1970, 1, 1, 0, 0, 0, 0);

DateTime date = offset.AddSeconds(timestamp);

ExcelApp.Cells[i + 2, j + 1] = date.ToLocalTime().ToString();

}

else

ExcelApp.Cells[i + 2, j + 1] = data[j];

}

}

ExcelWorkSheet.Columns.AutoFit();

ExcelWorkSheet.SaveAs(saveFileDialog1.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing);

ExcelApp.Quit();

}

}

}

else MessageBox.Show("Ошибка отправки");

}

catch { MessageBox.Show("Ошибка сохранения отчета","Ошибка",MessageBoxButtons.OK,MessageBoxIcon.Error); }

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Settings : Form

{

public Settings()

{

InitializeComponent();

groupBox1.Visible = false;

listBox1.SelectedItem = "СМС настройки";

}

private void ButtonSave_Click(object sender, EventArgs e)

{

adress.smsplaced = textBox1.Text;

adress.smscanceled = textBox2.Text;

adress.smsplaced_Driver = textBox3.Text;

adress.smscanceled_Driver = textBox4.Text;

if (checkBox1.Checked)

adress.smstranslit = 1;

else

adress.smstranslit = 0;

try

{

using (System.IO.StreamWriter file = new System.IO.StreamWriter("Settings.txt", false))

{

file.WriteLine("[smsplaced]=" + textBox1.Text);

file.WriteLine("[smscanceled]=" + textBox2.Text);

file.WriteLine("[smsplaced_Driver]=" + textBox3.Text);

file.WriteLine("[smscanceled_Driver]=" + textBox4.Text);

file.WriteLine("[translit]=" + adress.smstranslit);

}

}

catch { MessageBox.Show("Ошибка сохранения данных", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if (listBox1.SelectedItem.ToString() == "СМС настройки")

{

groupBox1.Visible = true;

textBox1.Text = adress.smsplaced;

textBox2.Text = adress.smscanceled;

textBox3.Text = adress.smsplaced_Driver;

textBox4.Text = adress.smscanceled_Driver;

if (adress.smstranslit == 1)

checkBox1.Checked = true;

}

else

{

groupBox1.Visible = false;

}

}

}

}

using System;

using System.Windows.Forms;

using MyLibrary;

namespace WindowsFormsApplication1

{

public partial class Tarif : Form

{

public Tarif()

{

InitializeComponent();

ToolTip toolTip1 = new ToolTip();

toolTip1.SetToolTip(this.PriceDepends_Time, "Установить коэффиценты в зависимости от времени суток");

toolTip1.SetToolTip(this.PriceDepends_Trafic, "Установить коэффиценты в зависимости от пробок");

UpdateTarifs();

}

private void UpdateTarifs()

{

TarifsList.Items.Clear();

AmountTarifs.Text = "Всего тарифов: " + adress.tarif.Count;

for (int i = 0; i < adress.tarif.Count; i++)

{

Tarifs t = (Tarifs)adress.tarif[i];

TarifsList.Items.Add(t.Name);

}

}

private void PriceDepends_Trafic_CheckedChanged(object sender, EventArgs e)

{

if (PriceDepends_Trafic.Checked == true)

{

label4.Enabled = true;

label5.Enabled = true;

label6.Enabled = true;

label11.Enabled = true;

Trafic_onethree.Enabled = true;

Trafic_foursix.Enabled = true;

Trafic_sevten.Enabled = true;

}

if (PriceDepends_Trafic.Checked == false)

{

label4.Enabled = false;

label5.Enabled = false;

label6.Enabled = false;

label11.Enabled = false;

Trafic_onethree.Enabled = false;

Trafic_foursix.Enabled = false;

Trafic_sevten.Enabled = false;

}

}

private void PriceDepends_Time_CheckedChanged(object sender, EventArgs e)

{

if (PriceDepends_Time.Checked == true)

{

label12.Enabled = true;

label7.Enabled = true;

label8.Enabled = true;

label9.Enabled = true;

label10.Enabled = true;

OrderTime_Evening.Enabled = true;

OrderTime_Day.Enabled = true;

OrderTime_Morning.Enabled = true;

OrderTime_Night.Enabled = true;

}

if (PriceDepends_Time.Checked == false)

{

label12.Enabled = false;

label7.Enabled = false;

label8.Enabled = false;

label9.Enabled = false;

label10.Enabled = false;

OrderTime_Evening.Enabled = false;

OrderTime_Day.Enabled = false;

OrderTime_Morning.Enabled = false;

OrderTime_Night.Enabled = false;

}

}

private void AddBut_Click(object sender, EventArgs e)

{

double price, oneThree = -1, fourSix = -1, sevenTen = -1, morning = -1, day = -1, evening = -1, night = -1;

bool dependTarif=false;

bool dependTime = false;

if (Tarifs_Method.SelectedIndex == -1)

{

MessageBox.Show("Выберите метод тарификации");

return;

}

if (Tarif_Name.Text == "")

{

MessageBox.Show("Введите имя тарифа");

Tarif_Name.Focus();

return;

}

if (Price_per.Text == "")

{

MessageBox.Show("Введите стоимость за км/мин");

Price_per.Focus();

return;

}

if(!double.TryParse(Price_per.Text,out price))

{

MessageBox.Show("Стоимость введена некорректно");

return;

}

if (PriceDepends_Trafic.Checked == true)

{

dependTarif = true;

if (!double.TryParse(Trafic_onethree.Text, out oneThree) || oneThree < 1)

{

MessageBox.Show("Введите корректную стоимость за 1 км/мин при пробках от 1-3 баллов");

Trafic_onethree.Focus();

return;

}

if (!double.TryParse(Trafic_foursix.Text, out fourSix) || fourSix < 1)

{

MessageBox.Show("Введите корректную стоимость за 1 км/мин при пробках от 4-6 баллов");

Trafic_foursix.Focus();

return;

}

if (!double.TryParse(Trafic_sevten.Text, out sevenTen) || sevenTen < 1)

{

MessageBox.Show("Введите корректную стоимость за 1 км/мин при пробках от 7-10 баллов");

Trafic_sevten.Focus();

return;

}

}

if (PriceDepends_Time.Checked == true)

{

dependTime = true;

if (!double.TryParse(OrderTime_Evening.Text, out evening) || evening < 1)

{

MessageBox.Show("Введите корректную стоимость за 1 км/мин вечером");

OrderTime_Evening.Focus();

return;

}

if (!double.TryParse(OrderTime_Day.Text, out day) || day < 1)

{

MessageBox.Show("Введите корректную стоимость за 1 км/мин днем");

OrderTime_Day.Focus();

return;

}

if (!double.TryParse(OrderTime_Morning.Text, out morning) || morning < 1)

{

MessageBox.Show("Введите корректную стоимость за 1 км/мин утром");

OrderTime_Morning.Focus();

return;

}

if (!double.TryParse(OrderTime_Night.Text, out night) || night < 1)

{

MessageBox.Show("Введите корректную стоимость за 1 км/мин ночью");

OrderTime_Night.Focus();

return;

}

}

Tarifs t = new Tarifs(Tarif_Name.Text, price, Tarifs_Method.SelectedItem.ToString(), dependTarif, oneThree, fourSix, sevenTen, dependTime, morning, day, evening, night);

adress.tarif.Add(t);

MessageBox.Show("Тариф успешно добавлен");

Close();

}

private void toolStripButton1_Click(object sender, EventArgs e)//удалить выбранный тариф

{

if (TarifsList.SelectedIndex != -1)

{

adress.tarif.RemoveAt(TarifsList.SelectedIndex);

UpdateTarifs();

}

}

private void toolStripButton2_Click(object sender, EventArgs e)

{

adress.tarif.RemoveRange(0, adress.tarif.Count);

UpdateTarifs();

}

private void TarifsList_SelectedIndexChanged(object sender, EventArgs e)

{

MainInfo.Text = "";

Tarifs tar=(Tarifs)adress.tarif[TarifsList.SelectedIndex];

MainInfo.Text = "Стоимость за км/мин= " + tar.Price + "\nЗависит от пробок= " + tar.DependTrafic + "\nЗависит от времени= "+tar.DependTime;

}

}

}