«Информационная система обменного пункта»


Скачать 0.54 Mb.
Название «Информационная система обменного пункта»
страница 4/4
Тип Программа
rykovodstvo.ru > Руководство эксплуатация > Программа
1   2   3   4

РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

  1. Диаграмма варианта использования «обмен валют»




Рисунок 13 - Диаграмма Вариантов Использования для «Обменного пункта».
На диаграмме изображены варианты использования для объекта кассир. Рассмотрим один из вариантов использования "Продажи валюты ", состоящий из следующих шагов: Клиент обращается к Кассиру для того чтобы оформить продвжу валюты. Кассир получает от клиента информацию о валюте которую он хочет купить или обменять на рубли. Имея эту информацию, кассир осуществляет соответствующие действия,в случае если имется валюта в наличие, то продать ее клинту, либо предложить другие варианты валюты для продажи, так как возможно не имеется желаемой валюты или нет желаемой суммы для произведения операции обмена.


  1. Диаграмма взаимодействия.




Рисунок 14 - Диаграмма последовательности для ВИ «Продажа валюты»



Рисунок 15 - Кооперативная диаграмма для ВИ «Обмен валют»

Заключение


В процессе работы над проектом был создан комплекс программных средств для обеспечения работы пункта обмена валюты. Применение специализированных функций позволило сократить время разработки основного модуля программы и обеспечило высвобождение времени на создание процедур и методов обработки данных. В проекте представлен объектно-ориентированный подход в проектировании программного обеспечения информационного плана, дающий возможность на ранних этапах разработки учесть все нюансы будущей программы, необходимый набор функций, состав и структуру баз данных, что в дальнейшем исключает необходимость переработки уже написанных компонентов программы.

Программа реализована полноценно с удобным и информативным интерфейсом. Благодаря понятной архитектуре и несложному управлению работать с базой данных может и неподготовленный пользователь.

Для реализации структуры такой управленческой системы была изучена конкретная предметная область, выявлены все её сущности. Исходя из полученных данных, были выявлены атрибуты для каждой сущности, построены связи между объектами. На основе разработанной структуры, была проведена нормализация и утверждена реляционная модель базы данных.

Сама база данных представлена в реляционном виде, то есть оперирует фактическими данными, представленными в специальном образом форматированных совокупностях записей.

Программа может использоваться под управлением различных операционных систем на различных аппаратных платформах.

Законченное приложение было реализовано в среде Visual Studio 2005 NET.

Литература


  1. Кристиан Нейгел, Билл Ивьен, Джей Глин, Морган Скиннер, Карли Уотсон «C# 2005 и платформа .NET 3.0 для профессионалов», Издательство: «Диалектика», г. Санкт-Петербург, 2008г. , 1789 стр.

  2. Автор: Агуров П.В. « С#. Сборник рецептов », Издательство: «Вильямс», г. Санкт-Петербург, 2006г. , 1789 стр.

  3. Автор: В. В. Лабор «Си Шарп. Создание приложений для Windows» , Издательство: «Харвест», г. Новосибирск, 2003 г., 598 стр.

  4. Автор: Галисеев Г. В. «Программирование на языке C# 2005. Самоучитель. Си шарп» , Издательство: «Диалектика», г. Санкт-Петербург, 2006 г., 1876 стр.

  5. Автор: Эндрю Троелсен «Язык программирования C# 2005 (Си Шарп) и платформа .NET 2.0, 3-е издание» Издательство: «Вильямс», г. Санкт-Петербург, 2005г. , 2124 стр.


Приложение А

Руководство пользователя

Огромное внимание при разработке данного программного продукта было уделено его интерфейсу.

Во-первых, цвета, использующиеся для отображения того или иного объекта на форме, не должны быть какими-то мрачными или неприятными для человеческого взгляда, а наоборот, должны способствовать его полному расслаблению.

Во-вторых, должны соблюдаться определенные удобства при эксплуатации программы, то есть при минимуме объектов и удобстве их расположения должны достигаться максимальные возможности по управлению входными и выходными данными.

И, в-третьих, все вышеперечисленное должно подходить не одному конкретному лицу, а всем, кто непосредственно будет, так или иначе, сталкиваться с данной программой.

Ниже приведено описание всех оконных форм и меню.

При запуске программы перед пользователем открывается окно, для ввода данных кассира:



Рисунок 16 - Окно входа в программу
После пользователю открывается главное окно программы. Наглядное изображение главного окна программы.



Рисунок 17 – Главное окно
В главном окне программы пользователь может осуществлять операции обмена и продажи валюты, после выполнения операции кассир распечатывает чек.


Рисунок 18 -Чек

А также пользователь имеет возможность просматривать совершенные за день операции.


Рисунок 19 – Таблица совершенных операций
В которой можно просматривать операции покупки и продажи валюты, совершенные в установленный промежуток времени пользователем - кассиром. Для чего необходимо указать в специальных полях установки даты соответствующие значения. Либо по нажатию кнопки «Все записи» - просмотреть все записи об операциях за время существования деятельности программы.

Из меню программы можно вызвать форму на добавление нового сотрудника. Нажав, Программа -> Добавить нового сотрудника, появится окно с формой и просмотра таблицы всех сотрудников.


Рисунок 20 – Окно добавление данных
На форме добавлении нового сотрудник, расположены вкладки, которые разделяют вводимую информацию на разделы, что визуально упрощает контроль за введёнными данными.

Когда необходимые данные уже ведены и необходимо сохранить их в базу данных, надо нажать кнопку Сохранить, которая расположена в правой нижней части окна.

После нажатия кнопок сохранить, окно с вводом информации не закрывается, а управление возвращается снова к главному окну в случае закрытия формы.

После нажатия кнопки Сохранить, данные добавляются в таблицу.


Рисунок 21 – Таблица сотрудников фирмы
На вкладке отображения таблицы всех сотрудников, можно осуществить поиск по фамилии, удалить запись и обновить таблицу, сохранив в ней последние изменения.

После закрыть форму и вернуться к главному окну.

Из меню программы можно вызвать форму на изменение текущего курса валюты, покупки или продажи. Нажав, Программа -> Изменить курс валют -> Покупка или Продажа, появится окно с формой изменения значений.


Рисунок 10- Изменение курса валюты
Когда необходимые данные уже ведены и необходимо сохранить их в базу данных, надо нажать кнопку Изменить.

После нажатия кнопки Изменить, окно с вводом информации закрывается и управление возвращается снова к главному окну.

ПриложениеВ

Листинг программы

Form1.cs
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Drawing.Printing;

using System.Data.SqlClient;
namespace TRPO_lab10

{

public partial class Main : Form

{

public Main()

{

InitializeComponent();

}

private Font printFont; // переменная для задачи шрифта при печати

private StreamReader streamToPrint; // поток чтения для печати

static string filePath = @"Чек.txt"; // строка полного пути к распечатываемому файлу
// Метод загружающий основную часть данных программы

private void Main_Load(object sender, EventArgs e)

{

try

{ // макс ID из таблицы Enter

int a = (int)enterTableAdapter.ScalarQueryMAXID();

// тот кто зашел в программу на данный момент

toolStripStatusLabel1.Text = enterTableAdapter.ScalarQueryFIObyID(a).ToString();

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

Application.Exit();

}
try

{

// TODO: This line of code loads data into the 'changeDatabaseDataSet.Enter' table. You can move, or remove it, as needed.

this.enterTableAdapter.Fill(this.changeDatabaseDataSet.Enter);

// TODO: This line of code loads data into the 'changeDatabaseDataSet.Obmen_Valut' table. You can move, or remove it, as needed.

this.obmen_ValutTableAdapter.Fill(this.changeDatabaseDataSet.Obmen_Valut);

// TODO: This line of code loads data into the 'changeDatabaseDataSet.Prodaga' table. You can move, or remove it, as needed.

this.prodagaTableAdapter.Fill(this.changeDatabaseDataSet.Prodaga);

// TODO: This line of code loads data into the 'changeDatabaseDataSet.Pokypka' table. You can move, or remove it, as needed.

this.pokypkaTableAdapter.Fill(this.changeDatabaseDataSet.Pokypka);

}

catch (Exception exc)

{

if (MessageBox.Show("Ошибка: /n" + exc.Message + "/n Хотите побровать снова ?", " Ошибка", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) == DialogResult.Retry)

{

LoadData();

}

else

Application.Exit();

}

UpdateBuyLabels();

UpdateSellLabels();

}
// загрузка данных из базы данных в приложение (рекурсия)

private void LoadData()

{

try

{

this.enterTableAdapter.Fill(this.changeDatabaseDataSet.Enter);

this.obmen_ValutTableAdapter.Fill(this.changeDatabaseDataSet.Obmen_Valut);

this.prodagaTableAdapter.Fill(this.changeDatabaseDataSet.Prodaga);

this.pokypkaTableAdapter.Fill(this.changeDatabaseDataSet.Pokypka);

}

catch (Exception exc)

{

if (MessageBox.Show("Ошибка: /n" + exc.Message + "/n Хотите побровать снова ?", " Ошибка", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) == DialogResult.Retry)

{

LoadData();

}

else

Application.Exit();

}

}
// Выборка из базы данных курса валют ПОКУПКИ для вычисления расчетной суммы

private double DoChangeBuy(string sum)

{

try

{

double val = 0;

switch (comboBox1.Text)

{

case "USD":

val = Convert.ToDouble(sum) * Convert.ToDouble(pokypkaTableAdapter.ScalarQueryUSDPokypka());

break;

case "EUR":

val = Convert.ToDouble(sum) * Convert.ToDouble(pokypkaTableAdapter.ScalarQueryEURPokypka());

break;

case "MDL":

val = Convert.ToDouble(sum) * Convert.ToDouble(pokypkaTableAdapter.ScalarQueryMDLPokypka());

break;

case "UAH":

val = Convert.ToDouble(sum) * Convert.ToDouble(pokypkaTableAdapter.ScalarQueryUAHPokypka());

break;

case "RUB":

val = Convert.ToDouble(sum) * Convert.ToDouble(pokypkaTableAdapter.ScalarQueryRUBPokypka());

break;

}

return val;

}

catch (Exception exc)

{

MessageBox.Show(exc.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

return 0;

}

}

// Выборка из базы данных курса валют ПРОДАЖИ для вычисления расчетной суммы

private double DoChangeSell(string sum)

{

try

{

double val = 0;

switch (comboBox2.Text)

{

case "USD":

val = Convert.ToDouble(sum) * Convert.ToDouble(prodagaTableAdapter.ScalarQueryUSDProdaga());

break;

case "EUR":

val = Convert.ToDouble(sum) * Convert.ToDouble(prodagaTableAdapter.ScalarQueryEURProdaga());

break;

case "MDL":

val = Convert.ToDouble(sum) * Convert.ToDouble(prodagaTableAdapter.ScalarQueryMDLProdaga());

break;

case "UAH":

val = Convert.ToDouble(sum) * Convert.ToDouble(prodagaTableAdapter.ScalarQueryUAHProdaga());

break;

case "RUB":

val = Convert.ToDouble(sum) * Convert.ToDouble(prodagaTableAdapter.ScalarQueryRUBProdaga());

break;

}

return val;

}

catch (Exception exc)

{

MessageBox.Show(exc.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

return 0;

}

}

// Выборка из базы данных курса валют ПОКУПКИ (Buy)

private Single SelectKursBuy()

{

Single val = 0;

switch (comboBox1.Text)

{

case "USD":

val = (Single)pokypkaTableAdapter.ScalarQueryUSDPokypka();

break;

case "EUR":

val = (Single)pokypkaTableAdapter.ScalarQueryEURPokypka();

break;

case "MDL":

val = (Single)pokypkaTableAdapter.ScalarQueryMDLPokypka();

break;

case "UAH":

val = (Single)pokypkaTableAdapter.ScalarQueryUAHPokypka();

break;

case "RUB":

val = (Single)pokypkaTableAdapter.ScalarQueryRUBPokypka();

break;

}

return val;

}

// Выборка из базы данных курса валют Продажи (Sell)

private Single SelectKursSell()

{

Single val = 0;

switch (comboBox2.Text)

{

case "USD":

val = (Single)prodagaTableAdapter.ScalarQueryUSDProdaga();

break;

case "EUR":

val = (Single)prodagaTableAdapter.ScalarQueryEURProdaga();

break;

case "MDL":

val = (Single)prodagaTableAdapter.ScalarQueryMDLProdaga();

break;

case "UAH":

val = (Single)prodagaTableAdapter.ScalarQueryUAHProdaga();

break;

case "RUB":

val = (Single)prodagaTableAdapter.ScalarQueryRUBProdaga();

break;

}

return val;

}
// Обновление текущих курсов валют для ПОКУПКИ

private void UpdateBuyLabels()

{

try

{

labelUSD_p.Text = pokypkaTableAdapter.ScalarQueryUSDPokypka().ToString();

labelEUR_p.Text = pokypkaTableAdapter.ScalarQueryEURPokypka().ToString();

labelUAH_p.Text = pokypkaTableAdapter.ScalarQueryUAHPokypka().ToString();

labelRUB_p.Text = pokypkaTableAdapter.ScalarQueryRUBPokypka().ToString();

labelMDL_p.Text = pokypkaTableAdapter.ScalarQueryMDLPokypka().ToString();

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}
// Обновление текущих курсов валют для ПРОДАЖИ

private void UpdateSellLabels()

{

try

{

labelUSD.Text = prodagaTableAdapter.ScalarQueryUSDProdaga().ToString();

labelEUR.Text = prodagaTableAdapter.ScalarQueryEURProdaga().ToString();

labelUAH.Text = prodagaTableAdapter.ScalarQueryUAHProdaga().ToString();

labelRUB.Text = prodagaTableAdapter.ScalarQueryRUBProdaga().ToString();

labelMDL.Text = prodagaTableAdapter.ScalarQueryMDLProdaga().ToString();

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}
// Печать чека ПОКУПКИ

private void PrintCheckBuy()

{

try

{

StreamWriter stwr = new StreamWriter(@"Чек.txt", false); // поток открытия по записи

stwr.NewLine = Separ("", "", "", "", "", "-") + "-----\r\n";

stwr.WriteLine();

for (int i = 0; i < 2; i++)

{

stwr.NewLine = "Квитанция о валютно-обменной операции\r\n";

stwr.WriteLine();

stwr.NewLine = Separ("", "--- Получено ", "", " Выдано ", "", "-") + "\r\n";

stwr.WriteLine();

//stwr.NewLine = Separ("Сумма", textBoxPolucheno.Text, comboBox1.Text, DoChangeBuy(textBoxSumma_Obmena.Text).ToString(), "ПМР", " ") + "\r\n";

//stwr.WriteLine();

stwr.NewLine = Separ("Курс ", "1", "", SelectKursBuy().ToString(), "", " ") + "\r\n";

stwr.WriteLine();

stwr.NewLine = Separ("Итого ", textBoxSumma_Obmena.Text, comboBox1.Text, DoChangeBuy(textBoxSumma_Obmena.Text).ToString(), "ПМР", " ") + "\r\n";

stwr.WriteLine();

stwr.NewLine = Separ("", "", "", "", "", "-") + "-----\r\n";

stwr.WriteLine();

stwr.NewLine = DateTime.Now + " --- " + "Код " + obmen_ValutTableAdapter.ScalarQueryID().ToString() + "\r\n";

stwr.WriteLine();

stwr.NewLine = " \r\n";

stwr.WriteLine();

stwr.NewLine = toolStripStatusLabel2.Text + toolStripStatusLabel1.Text + " ___________ \r\n";

stwr.WriteLine();

stwr.NewLine = " \r\n";

stwr.WriteLine();

stwr.NewLine = Separ("", "", "", "", "", "-") + "-----\r\n";

stwr.WriteLine();

}

stwr.Close(); // зактрытие файла

}

catch (Exception exc)

{

if (MessageBox.Show("Ошибка подготовки к печати:\n" + exc.Message, "Ошибка", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) == DialogResult.Retry)

PrintCheckSell();

}

Printing();

}
// Печать чека ПРОДАЖИ

private void PrintCheckSell()

{

try

{

StreamWriter stwr = new StreamWriter(@"Чек.txt", false);

stwr.NewLine = Separ("", "", "", "", "", "-") + "-----\r\n";

stwr.WriteLine();

for (int i = 0; i < 2; i++)

{

stwr.NewLine = "Квитанция о валютно-обменной операции\r\n";

stwr.WriteLine();

stwr.NewLine = Separ("", "--- Получено ", "", " Выдано ", "", "-") + "\r\n";

stwr.WriteLine();

//stwr.NewLine = Separ("Сумма", DoChangeSell(textBoxSum.Text).ToString(), "ПМР", textBoxSum.Text, comboBox2.Text, " ") + "\r\n";

//stwr.WriteLine();

stwr.NewLine = Separ("Курс ", SelectKursSell().ToString(), "", "1", "", " ") + "\r\n";

stwr.WriteLine();

stwr.NewLine = Separ("Итого ", DoChangeSell(textBoxSum.Text).ToString(), "ПМР", textBoxSum.Text, comboBox2.Text, " ") + "\r\n";

stwr.WriteLine();

stwr.NewLine = Separ("", "", "", "", "", "-") + "-----\r\n";

stwr.WriteLine();

stwr.NewLine = DateTime.Now + " --- " + "Код " + obmen_ValutTableAdapter.ScalarQueryID().ToString() + "\r\n";

stwr.WriteLine();

stwr.NewLine = " \r\n";

stwr.WriteLine();

stwr.NewLine = toolStripStatusLabel2.Text + toolStripStatusLabel1.Text + " ___________ \r\n";

stwr.WriteLine();

stwr.NewLine = " \r\n";

stwr.WriteLine();

stwr.NewLine = Separ("", "", "", "", "", "-") + "-----\r\n";

stwr.WriteLine();

}

stwr.Close();

}

catch (Exception exc)

{

if (MessageBox.Show("Ошибка подготовки к печати:\n" + exc.Message, "Ошибка", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) == DialogResult.Retry)

PrintCheckSell();

}

Printing();

}
// Вычисление длины строк

private string Separ(string str1, string str2, string str3, string str4, string str5, string sep)

{

int countSer = 0;

string temp = str1;

countSer = 5 - str1.Length;

for (int i = 0; i < countSer; i++)

temp += sep;

countSer = 15 - str2.Length;

for (int i = 0; i < countSer; i++)

temp += sep;

temp += str2;

countSer = 5 - str3.Length;

for (int i = 0; i < countSer; i++)

temp += sep;

temp += str3;

countSer = 15 - str4.Length;

for (int i = 0; i < countSer; i++)

temp += sep;

temp += str4;

countSer = 5 - str5.Length;

for (int i = 0; i < countSer; i++)

temp += sep;

temp += str5;

countSer = 45 - temp.Length;

for (int i = 0; i < countSer; i++)

temp += sep;

return temp;

}
//метод распечатки файла

public void Printing()

{

try

{

streamToPrint = new StreamReader(filePath); // печать файла

try

{

printFont = new Font("Arial", 10);

PrintDocument pd = new PrintDocument();

pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);

pd.Print();

}

finally

{

streamToPrint.Close();

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка печати", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}
//метод добавления события распечатки

void pd_PrintPage(object sender, PrintPageEventArgs ev)

{

float linesPerPage = 0;

float yPos = 0;

int count = 0;

float leftMargin = ev.MarginBounds.Left;

float topMargin = ev.MarginBounds.Top;

String line = null;

// Calculate the number of lines per page.

linesPerPage = ev.MarginBounds.Height /

printFont.GetHeight(ev.Graphics);

// Iterate over the file, printing each line.

while (count < linesPerPage &&

((line = streamToPrint.ReadLine()) != null))

{

yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));

ev.Graphics.DrawString(line, printFont, Brushes.Black,

leftMargin, yPos, new StringFormat());

count++;

}

// If more lines exist, print another page.

if (line != null)

ev.HasMorePages = true;

else

ev.HasMorePages = false;

}
//Проверка правильности значений на ввод в графу получено

private void textBoxPolucheno_TextChanged(object sender, EventArgs e)

{

if (textBoxPolucheno.Text.StartsWith("-") == true || textBoxPolucheno.Text.StartsWith("0") == true)

{

MessageBox.Show("Ошибка ввода.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

textBoxPolucheno.Text = "";

}

}

// Запись в базу данных значений произведенной операции Покупки

private void button1_Click(object sender, EventArgs e)

{

try

{

if (textBoxPolucheno.Text == "" || comboBox1.Text == "" || textBoxSumma_Obmena.Text == "")

{

MessageBox.Show("Не все поля заполнены или не выбрана валюта обмена.\nПопробуйте еще раз.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{

obmen_ValutTableAdapter.InsertQueryObmen_Valut(Convert.ToSingle(textBoxSumma_Obmena.Text), comboBox1.Text, "PMR", Convert.ToSingle(labelITOGO.Text), Convert.ToSingle(DoChangeBuy(textBoxSumma_Obmena.Text)), DateTime.Now.Date, toolStripStatusLabel1.Text,SelectKursBuy());

if (MessageBox.Show("Данные занесены в базу данных.\nХотите распечатать чек?", "База данных", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)

{

PrintCheckBuy();

}

textBoxPolucheno.Text = "";

textBoxSumma_Obmena.Text = "";

labelITOGO.Text = "";

labelSdacha_po.Text = "";

comboBox1.Text = "";

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

// Расчет суммы

private void button2_Click(object sender, EventArgs e)

{

if (textBoxPolucheno.Text == "" || textBoxSumma_Obmena.Text == "" || comboBox1.Text == "")

{

MessageBox.Show("Не все поля заполнены или не выбрана валюта обмена.\nПопробуйте еще раз.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{// Проверка на ввод суммы обмена ( полученная сумма > суммы обмена )

if (Convert.ToDouble(textBoxPolucheno.Text) >= Convert.ToDouble(textBoxSumma_Obmena.Text))

{

double sdacha = 0;

sdacha = Convert.ToDouble(textBoxPolucheno.Text) - Convert.ToDouble(textBoxSumma_Obmena.Text);

labelITOGO.Text = DoChangeBuy(textBoxSumma_Obmena.Text).ToString();

labelSdacha_po.Text = sdacha.ToString() + " " + comboBox1.Text;

}

else

{

MessageBox.Show("Не верный ввод данных", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

// Расчет про операции Продажа

private void button3_Click(object sender, EventArgs e)

{

if (textBoxSum.Text == "" || textBoxPolucheno_p.Text == "" || comboBox2.Text == "")

{

MessageBox.Show("Не все поля заполнены или не выбрана валюта обмена.\nПопробуйте еще раз.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{

double sum = DoChangeSell(textBoxSum.Text);
if (Convert.ToDouble(textBoxPolucheno_p.Text) >= sum)

{

float c = (float)(Convert.ToDouble(textBoxPolucheno_p.Text) - sum);

labelSdacha.Text = c.ToString() + " руб. ПМР";

}

else

{

MessageBox.Show("Полученой суммы не достаточно.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}
// Проверка на ввод даных в графу Сумма

private void textBoxSum_TextChanged(object sender, EventArgs e)

{

if (textBoxSum.Text.StartsWith("-") == true || textBoxSum.Text.StartsWith("0") == true)

{

MessageBox.Show("Ошибка ввода.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

textBoxSum.Text = "";

}

else

{

if (textBoxSum.Text != "" && comboBox2.Text != "")

{

labelStoimost.Text = DoChangeSell(textBoxSum.Text).ToString();

}

}

}
// Если получена сумма денег для произведения операции покупки валюты

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)

{

if (textBoxSum.Text != "")

{

labelStoimost.Text = DoChangeSell(textBoxSum.Text).ToString();

}

}
// Проверка на ввод даных в графу получено денег в продаже

private void textBoxPolucheno_p_TextChanged(object sender, EventArgs e)

{

if (textBoxPolucheno_p.Text.StartsWith("-") == true || textBoxPolucheno_p.Text.StartsWith("0") == true)

{

MessageBox.Show("Ошибка ввода.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

textBoxPolucheno_p.Text = "";

}

}
// Проверка на ввод даных в графу Сумма обмена в продаже

private void textBoxSumma_Obmena_TextChanged(object sender, EventArgs e)

{

if (textBoxSumma_Obmena.Text.StartsWith("-") == true || textBoxSumma_Obmena.Text.StartsWith("0") == true)

{

MessageBox.Show("Ошибка ввода.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

textBoxSumma_Obmena.Text = "";

}

}
// Произвести обмен и запись в базу данных

private void button4_Click(object sender, EventArgs e)

{

try

{

if (textBoxSum.Text == "" || comboBox2.Text == "" || textBoxSum.Text == "")

{

MessageBox.Show("Не все поля заполнены или не выбрана валюта обмена.\nПопробуйте еще раз.", "Ошибка ввода данных", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{

obmen_ValutTableAdapter.InsertQueryObmen_Valut(Convert.ToSingle(labelStoimost.Text), "PMR", comboBox2.Text, Convert.ToSingle(textBoxSum.Text), Convert.ToSingle(DoChangeSell(textBoxSum.Text)), DateTime.Now.Date, toolStripStatusLabel1.Text,SelectKursSell());

if (MessageBox.Show("Данные занесены в базу данных.\nХотите распечатать чек?", "База данных", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)

{

PrintCheckSell(); // Распечатать чек

}

textBoxSum.Text = "";

textBoxPolucheno_p.Text = "";

labelStoimost.Text = "";

labelSdacha.Text = "";

comboBox2.Text = "";

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

// Обновить таблицу обмена валют

private void button5_Click(object sender, EventArgs e)

{

try

{

obmen_ValutTableAdapter.Fill(changeDatabaseDataSet.Obmen_Valut);

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}
// Выборка данных об обмене валют за день

private void button6_Click(object sender, EventArgs e)

{

try

{

obmen_ValutTableAdapter.FillByDate(changeDatabaseDataSet.Obmen_Valut, DateTime.Now.Date);

double sumpribl = 0;

double pribl=0;

for (int i = 0; i < dataGridView1.Rows.Count; i++)

{

if (dataGridView1.Rows[i].Cells[1].Value.ToString() == "PMR")

{
switch (dataGridView1.Rows[i].Cells[5].Value.ToString())

{

case "USD":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryUSDProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryUSDPokypka()));

break;

case "EUR":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryEURProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryEURPokypka()));

break;

case "MDL":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryMDLProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryMDLPokypka()));

break;

case "UAH":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryUAHProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryUAHPokypka()));

break;

case "RUB":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryRUBProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryRUBPokypka()));

break;

}
sumpribl += pribl * Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value);

}

else

{
switch (dataGridView1.Rows[i].Cells[1].Value.ToString())

{

case "USD":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryUSDProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryUSDPokypka()));

break;

case "EUR":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryEURProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryEURPokypka()));

break;

case "MDL":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryMDLProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryMDLPokypka()));

break;

case "UAH":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryUAHProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryUAHPokypka()));

break;

case "RUB":

pribl = Math.Abs(Convert.ToDouble(prodagaTableAdapter.ScalarQueryRUBProdaga()) - Convert.ToDouble(pokypkaTableAdapter.ScalarQueryRUBPokypka()));

break;

}
sumpribl += pribl * Convert.ToDouble(dataGridView1.Rows[i].Cells[0].Value);

}

}

labelpribl.Text = "Прибыль за день: " + Convert.ToInt32(sumpribl).ToString() + " руб.";

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}
// Обновление базы данных при переходе из вклодок

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)

{

try

{

obmen_ValutTableAdapter.Fill(changeDatabaseDataSet.Obmen_Valut);

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

// вызов формы добавления кассира

private void кассирToolStripMenuItem_Click(object sender, EventArgs e)

{

Sotrudniki s = new Sotrudniki();

s.ShowDialog();

}
// вызов формы изменение валют покупки

private void покупкаToolStripMenuItem_Click(object sender, EventArgs e)

{

if (pokypkaTableAdapter.ScalarQueryDateChange() != DateTime.Now.Date)

{

ChangeBuy ChB = new ChangeBuy();

ChB.ShowDialog();

UpdateBuyLabels();

}

else

{

MessageBox.Show("Невозможно изменить данные.\nСегодня уже была произведена установка курса валют покупки.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}
// вызов формы изменение валют продажи

private void продажаToolStripMenuItem_Click(object sender, EventArgs e)

{

if (prodagaTableAdapter.ScalarQueryDateChange() != DateTime.Now.Date)

{
ChangeSell ChS = new ChangeSell();

ChS.ShowDialog();

UpdateSellLabels();

}

else

{

MessageBox.Show("Невозможно изменить данные.\nСегодня уже была произведена установка курса валют продажи.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

// вызов значения программе

private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)

{

About ab = new About();

ab.ShowDialog();

}

private void сотрудникиToolStripMenuItem_Click(object sender, EventArgs e)

{

if (toolStripStatusLabel1.Text.Trim() == "Администратор")

{

Sotrudniki s = new Sotrudniki();

s.ShowDialog();

}

else MessageBox.Show("Только администратор имеет право добавлять сотрудников","Запрещено",MessageBoxButtons.OK, MessageBoxIcon.Information);

}

private void button7_Click(object sender, EventArgs e)

{

SqlConnection conn = new SqlConnection(TRPO_lab10.Properties.Settings.Default.ChangeDatabaseConnectionString);

if (conn.State != ConnectionState.Open)

conn.Open();

string SQL = "Select * from Obmen_Valut WHERE (Data >= @date1) AND (Data <= @date2) ";

StreamWriter sw = new StreamWriter("Inf.html");

SqlDataReader reader = null;

sw.WriteLine("");

sw.WriteLine("");

sw.WriteLine("");

sw.WriteLine(" ");

sw.WriteLine("");

sw.WriteLine("");

//sw.WriteLine("

");

sw.WriteLine("");

sw.WriteLine("Отчет о совершённых операциях с по ");

//sw.WriteLine("

");
if (reader != null)

reader = null;

SqlCommand cmd = new SqlCommand(SQL, conn);

SqlParameter p1 = new SqlParameter("date1",dateTimePicker1.Value.Date);

p1.SqlDbType = SqlDbType.SmallDateTime;

SqlParameter p2 = new SqlParameter("date2", dateTimePicker1.Value.Date);

p1.SqlDbType = SqlDbType.SmallDateTime;

cmd.Parameters.Add(p1);

cmd.Parameters.Add(p2);

try

{//word

reader = cmd.ExecuteReader();

sw.Write("");

sw.Write("");

sw.Write("");

sw.Write("");

sw.Write("");

sw.Write("");

sw.Write("");

sw.Write("");

sw.Write("");

sw.Write("");
sw.WriteLine("");

sw.WriteLine("");

while (reader.Read())

{

sw.WriteLine("");

sw.Write("", reader.GetInt32(0));

sw.Write("", (Single)reader.GetValue(1));

sw.Write("", reader.GetString(2));

sw.Write("", (Single)reader.GetValue(5));

sw.Write("", reader.GetString(3));

sw.Write("", (Single)reader.GetValue(4));

sw.Write("", (Single)reader.GetValue(6));

sw.Write("", reader.GetDateTime(7).Date);

sw.Write("", reader.GetString(8));

sw.WriteLine("");

}

}

catch (SqlException ex)

{

MessageBox.Show(ex.Message);

}

finally

{

if (reader != null)

reader.Close();

}

sw.WriteLine(@"
№ Операции Получено Полученная валюта Выдано Выданная валюта Курс Сумма обмена Дата Кассир
{0}\t {0}\t {0}\t {0}\t {0}\t {0}\t {0}\t {0}\t {0}\t
");

sw.WriteLine("

");

sw.WriteLine("

");

sw.WriteLine("
1   2   3   4

Похожие:

«Информационная система обменного пункта» icon Инструкция по эксплуатации (Слайд 2) Государственная информационная...
Слайд 2) Государственная информационная система жилищно-коммунального хозяйства (гис жкх, система) единая федеральная централизованная...
«Информационная система обменного пункта» icon О проведении открытого конкурса
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении открытого конкурса
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении запроса предложений
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении запроса предложений
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении открытого конкурса
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении запроса котировок в электронной форме
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении запроса котировок в электронной форме
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении запроса котировок в электронной форме
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon О проведении запроса котировок в электронной форме
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon Документация о проведении запроса предложений в электронной форме
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon Документация о проведении запроса предложений в электронной форме
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon Инструкция по установке программного обеспечения для использования...
Государственная информационная система Республики Татарстан «Информационная система о государственных и муниципальных платежах Республики...
«Информационная система обменного пункта» icon Единая информационная система в сфере закупок товаров, работ, услуг...
Государственное учреждение ветеринарии московской области «Шатурская районная станция по борьбе с болезнями животных»
«Информационная система обменного пункта» icon О проведении открытого конкурса по закупке услуг страхования запуска...
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...
«Информационная система обменного пункта» icon Конкурс торги, победителем которых признается участник закупки, предложивший...
Единая информационная система (еис) – единая информационная система в сфере закупок товаров, работ, услуг для обеспечения государственных...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск