
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;
}
}
}