Учет заработной платы агентов по продажам

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    997,05 Кб
  • Опубликовано:
    2012-12-21
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Учет заработной платы агентов по продажам

Содержание

Общая постановка задачи

Постановка индивидуальной задачи

Use-case диаграмма

Диаграмма классов

Диаграмма dll-ок

Описание для пользователя программы

Описание для программиста

Вывод

Общая постановка задачи

Необходимо создать программу учета заработной платы агентов по продажам услуг по сдельно-премиальной форме. Суть работы агентов: они собирают заявки на услуги, как только по их заявке происходит реализация услуги (проплата от клиента), заявка засчитывается как фактическая. Существует ежемесячный план по заявкам. Если агент не выполняет план, то его фактические заявки оцениваются по одному тарифу, если выполняет - по другому, плюс определенная сумма ежемесячной премии. Если агент выполняет план за квартал, то ему начисляется дополнительная премия. При этом агент должен отработать не менее 17 дней в месяц. Для тех, кто не отрабатывает это количество дней, стоимость заявки ниже. Есть возможность получать отчет о наиболее и наименее результативных агентах. Если агент является результативным более чем 3 месяца от начала работы, он получает статус старшего агента и соответственно другую оплату.

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

На формочке ЗАПРЕЩАЕТСЯ использовать компонент PropertyGrid. Организовать хранение и загрузку списков ваших сущностей в XML-формате.

Постановка индивидуальной задачи

В мои обязанности входило:

♦       Организовать ввод информации об агентах и заявках

♦       Обеспечит поиск агентов и заказов в списке, возможность редактирования данных агента и заказов, фиксирование оплаты заказа

♦       Организовать хранение и загрузку списков агентов и заказов в XML-формате

♦       Организовать возможность отправки отчёта на почту

Создание классов:

ü  Агент

ü  Заказ

ü  Список заказов

ü  Список агентов

Создание форм:

ü  Форма для авторизации

ü  Форма для агентов

ü  Форма для бухгалтера

ü  Форма для списка агентов

ü  Форма для списка заказов

ü  Форма для добавления агентов

ü  Форма для добавления заказа

ü  Форма для почты

Use-case диаграмма


Диаграмма классов












Агент

Поля: ID Fio Statys Age Adress Tel E_mail Kolvo_zakazov_m Kolvo_zakazov_k Kolvo_otrab_dnei_m Summa_ot_zakazov


Заказ

Поля: Nomer FIO_zakazchika FIO_agenta oplata Naimenovanie Kol_vo Summa_zakaza


Список агентов

Поля: List Методы: Add(); Search(); Edit(); Close();


Список заказов

Поля: List Методы: Add(); Search(); Edit(); Close();


Управляющий класс

Поля: Сохранить агента Сохранить заказ Загрузить агентов Загрузить заказы


Форма для списка заказов

Методы: Поиск заказа Фиксировать оплату Закрыть окно


Форма для добавления заказа

Методы: Добавить заказ Закрыть окно


Форма для добавления агентов

Методы: Добавить агента Закрыть окно


Форма для списка агентов

Методы: Добавить агента Поиск агента Редактировать инф. Закрыть окно


Форма для авторизации

Методы: Войти Закрыть окно

Форма для почты

Методы: Отправить на почту Закрыть окно


Форма для бухгалтера

Методы: Посмотреть список агентов Добавить агента Посмотреть список заказов Расчёт зарплаты за месяц Расчёт зарплаты за квартал Информация Авторы Выход


Форма для агента

Методы: Посмотреть список заказов Добавить заказ Закрыть окно

отчет форма авторизация агент

Диаграмма dll-ок















Описание для пользователя

Рекомендуемые системные требования:

♦       Операционная система Microsoft Windows Server 2003, Windows Vista, Windows XP, Windows7;

♦       Программа Adobe Reader;

♦       Доступ к интернету (при отправке на почту);

♦       Установки не требует. Просто копируйте папку на диск;

♦       512 Мб оперативной памяти и выше;

♦       60 Мб свободного места на жёстком диске.

При запуске программы необходимо авторизоваться либо как «Агент + id агента» «123 + id агента», либо как «Бухгалтер» «456»:

Если пользователь авторизовался как «Агент», то ему открывается доступ к списку и добавлению заказов:


Программа выдаёт список заказов, которые закреплены за данным агентом.

При нажатие на кнопку «Закрыть окно» закрывается данная форма, но не сама программа, для закрытие программы, необходимо нажать «Выход».

Если пользователю необходимо найти определённый заказ, то для этого есть поле «Поиск заказа». Поиск может осуществляться по наименованию заказа, либо по номеру заказа. Необходимо выбрать вариант поиска, ввести данные в поле поиска и нажать кнопку «Найти».

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

При нажатие кнопки «Добавить заказ» открывается форма для добавления описания заказа:


В поля отмеченное «0» необходимо ввести числовые значения, в случае некорректного ввода программа выдаст сообщение об ошибке.

Необходимо чтобы все поля описания заказа были заполнены, иначе программа выдаст сообщение об ошибке.

При нажатие на кнопку «Добавить» добавленный заказ сразу появится в обновлённом списке заказов.

При нажатие на кнопку «Закрыть окно» введённые данные о заказе не будут добавлены в список заказов.

Если пользователь авторизовался как «Бухгалтер», то ему открывается доступ к списку агентов и добавлению агентов, к списку заказов для внесения фиксирования оплаты, к расчёту заработной платы, и к информации о проекте.

При нажатии на кнопку «Список агентов» выпадает меню с пунктами:


Пользователь может работать со списком агентов:

Осуществлять поиск агентов можно по ФИО и по ID агента, добавить агента, редактировать информацию об агенте (с сохранением изменений) или закрыть окно.

Также пользователь может перейти сразу к добавлению агента:

В поля отмеченное «0» необходимо ввести числовые значения, в случае некорректного ввода программа выдаст сообщение об ошибке.

При нажатие на кнопку «Добавить» добавленный агент сразу появится в обновлённом списке заказов.

При нажатие на кнопку «Закрыть окно» введённые данные об агенте не будут добавлены в список агентов.

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

Для удобства есть поиск по наименованию, и по номеру заказа. При нажатие кнопки «Найти» в окне «Описание заказа» отобразиться найденный заказ, если заказ по данному номеру (или наименованию) не будет найден, программа выдаст соответствующее сообщение.

Фиксировать оплату можно только у не оплаченных заказов. Если заказ не оплачен, то при нажатие на кнопку «Фиксировать оплату» программа спросит «Заказ оплачен?» и предложит варианты «Да» / «Нет». При нажатие кнопки «Да», данные в поле «оплата» поменяются на «оплачено» .


Пользователь может посмотреть информацию о проекте:

Описание для программиста

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

Управляющий.cs

using System;System.Collections.Generic;System.Linq;System.Text;System.IO;System.Xml.Serialization;System.Reflection;курсовая

{class Управляющий

{курсовая_ддл.Zakazi Z = new курсовая_ддл.Zakazi();курсовая_ддл.SpisokZakazov SZ = new курсовая_ддл.SpisokZakazov();курсовая_ддл.Agents AG = new курсовая_ддл.Agents();курсовая_ддл.SpisokAgents SAG = new курсовая_ддл.SpisokAgents();XmlSerializer AgentX = new XmlSerializer(typeof(курсовая_ддл.SpisokAgents));XmlSerializer ZakazX = new XmlSerializer(typeof(курсовая_ддл.SpisokZakazov));decimal SumZakCur = 0;void save(string path)

{f = new FileStream(path, FileMode.Create, FileAccess.Write);kk = new StreamWriter(f);.Flush();.Close();.Close();

}void LoadUser(string s)

{f = new FileStream(s, FileMode.Open, FileAccess.Read);sr = new StreamReader(f);= (курсовая_ддл.SpisokAgents)AgentX.Deserialize(sr); // приведение типа.Close();.Close();

}void SaveAgents(string s)

{(File.Exists(s)) File.Delete(s);f = new FileStream(s, FileMode.CreateNew, FileAccess.Write);sw = new StreamWriter(f);.Serialize(sw, SAG);.Close();.Close();

}void LoadAgents(string st)

{ff = new FileStream(st, FileMode.Open, FileAccess.Read);sr1 = new StreamReader(ff);= (курсовая_ддл.SpisokAgents)AgentX.Deserialize(sr1); // приведение типа.Close();.Close();

}void SaveZakazi(string st)

{(File.Exists(st)) File.Delete(st);ff1 = new FileStream(st, FileMode.CreateNew, FileAccess.Write);sw1 = new StreamWriter(ff1);.Serialize(sw1, SZ);.Close();.Close();

}void LoadZakazi(string st)

{ff2 = new FileStream(st, FileMode.Open, FileAccess.Read);sr2 = new StreamReader(ff2);= (курсовая_ддл.SpisokZakazov)ZakazX.Deserialize(sr2); // приведение типа.Close();.Close();

}static string PathConverter(string file)

{

{= file.Replace(@"\", "/");"file:///" + file;

}(System.Exception ex)

{ex;

}

}

}

}

log.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая_ддл;System.IO;курсовая

{partial class log : Form

{Управляющий Upr = new Управляющий();ag = "Агент";par_ag = "123";byh = "Бухгалтер";par_byh = "456";str1, str2;int nomer_agenta;log()

{();

}void log_Load(object sender, EventArgs e)

{(File.Exists("Agents.xml")).LoadAgents("Agents.xml");(File.Exists("Zakazi.xml")).LoadZakazi("Zakazi.xml");.Activate();

}void button1_Click(object sender, EventArgs e)

{= Convert.ToString(textBox1.Text);= Convert.ToString(textBox2.Text);(int i = 0; i < Upr.SAG.List.Count; i++)

{((str1 == ag + i.ToString()) && (str2 == par_ag + i.ToString()))

{_agenta = i;.Agentam.Show();

}

}((str1 == byh) && (str2 == par_byh))

{.f1.Show();.Hide();

}(((str1 != (ag+this.nomer_agenta.ToString())) || (str2 != par_ag+this.nomer_agenta.ToString())) && ((str1 != byh) || (str2 != par_byh)))

{ MessageBox.Show("НЕ правильно ввели логин/пароль!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}void log_Closing(object sender, FormClosingEventArgs e)

{.SaveAgents("Agents.xml");.SaveZakazi("Zakazi.xml");

}void log_Closing(object sender, FormClosedEventArgs e)

{.Exit();

}void button2_Click(object sender, EventArgs e)

{.Close();

}

}

}

Агентам.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая_ддл;System.IO;курсовая

{partial class Агентам : Form

{Агентам()

{();

}int[] m;nom,x,double_ukaz,sum_old,kolvo,index;ukaz = -1;void button2_Click(object sender, EventArgs e)

{.DZakaz.ShowDialog();

}void button1_Click(object sender, EventArgs e)

{.Hide();

}void Агентам_Load(object sender, EventArgs e)

{(File.Exists("Zakazi.xml")).Activ.Upr.LoadZakazi("Zakazi.xml");.Activate();.Items.Clear();= new int[Program.Activ.Upr.SZ.List.Count];= 0;(курсовая_ддл.Zakazi Z in Program.Activ.Upr.SZ.List)

{( Z.ID_agenta == Program.Activ.nomer_agenta)

{.Items.Add(Z.naimenovanie);[kolvo] = Z.nomer;++;

}

}

}void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{= listBox1.SelectedIndex;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;y=0;(int i = 0; i <= m.Length; i++)

{(i == index)

{= m[i];

}

}(курсовая_ддл.Zakazi Z in Program.Activ.Upr.SZ.List)

{(y ==Z.nomer)

{= Z.nomer;

}

}(курсовая_ддл.Zakazi Z2 in Program.Activ.Upr.SZ.List)

{(nom == Z2.nomer)

{.SelectedText = Convert.ToString(Z2.nomer);.SelectedText = Convert.ToString(Z2.naimenovanie);.SelectedText = Convert.ToString(Z2.FIO_zakazchika);.SelectedText = Convert.ToString(Z2.FIO_agenta);.SelectedText = Convert.ToString(Z2.ID_agenta);.SelectedText = Convert.ToString(Z2.oplata);.SelectedText = Convert.ToString(Z2.kol_vo);.SelectedText = Convert.ToString(Z2.summa_zakaza);.SelectedText = Convert.ToString(Z2.month);

}

}.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;

}void Агентам_FormClosing(object sender, FormClosingEventArgs e)

{.Activ.Upr.SaveZakazi("Zakazi.xml");

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

{.Close();.Exit();

}void button3_Click(object sender, EventArgs e)

{(textBox6.Text == "не оплачено")

{.ReadOnly = false;.ReadOnly = false;.ReadOnly = false;.ReadOnly = false;_old = Convert.ToInt32(textBox8.Text);

}

{.Show("Редактировать можно только не оплаченные заказы.", "Запрет редактирования", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}void button4_Click(object sender, EventArgs e)

{(radioButton1.Checked)

{

{poisk, lstr;not_find = true;= Convert.ToString(textBox9.Text);(int i = 0; i < listBox1.Items.Count; i++)

{= listBox1.Items[i].ToString();((lstr == poisk) & (not_find))

{(i > ukaz)

{= i;.SelectedIndex = i;_find = false;

}

}(lstr != poisk)

{++;(x == listBox1.Items.Count)

{.Show("Заказ не найден.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}= 0;_ukaz = ukaz;

}{ MessageBox.Show("Ошибка ввода!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}(radioButton2.Checked)

{

{poisk_nom;

_nom = Convert.ToInt32(textBox9.Text);

(int i = 0; i < m.Length; i++)

{(m[i] == poisk_nom)

{.SelectedIndex = i;

}(m[i] != poisk_nom)

{++;

(x == m.Length)

{.Show("Заказ по данному номеру не найден.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}= 0;

}{ MessageBox.Show("Ошибка ввода!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}((!radioButton1.Checked) && (!radioButton2.Checked))

{.Show("Необходимо указать по какому критерию Вы осуществляет поиск: по наименованию заказа или по номеру заказа.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}void button5_Click(object sender, EventArgs e)

{

курсовая_ддл.Zakazi Z = new курсовая_ддл.Zakazi();naimenovanie, FIO_zakazchika;kol_vo, summa_zakaza;= textBox2.Text;_zakazchika = textBox3.Text;_vo = Convert.ToInt32(textBox7.Text);_zakaza = Convert.ToInt32(textBox8.Text);(int i = 0; i <= m.Length; i++)

{(index == i)

{.Activ.Upr.SZ.List[m[i]].naimenovanie = naimenovanie;.Activ.Upr.SZ.List[m[i]].FIO_zakazchika = FIO_zakazchika;.Activ.Upr.SZ.List[m[i]].kol_vo = kol_vo;.Activ.Upr.SZ.List[m[i]].summa_zakaza = summa_zakaza;

}

}.Activ.Upr.SaveZakazi("Zakazi.xml");(курсовая_ддл.Zakazi Z2 in Program.Activ.Upr.SZ.List)

{(Z2.summa_zakaza != sum_old)

{(курсовая_ддл.Agents AG2 in Program.Activ.Upr.SAG.List)

{(Z2.ID_agenta == AG2.id)

{.summa_ot_zakazov -= sum_old;.summa_ot_zakazov += Z2.summa_zakaza;.Activ.Upr.SaveAgents("Agents.xml");

}

}

}

}(File.Exists("Zakazi.xml")).Activ.Upr.LoadZakazi("Zakazi.xml");.Activate();.Items.Clear();= new int[Program.Activ.Upr.SZ.List.Count];= 0;(курсовая_ддл.Zakazi Z4 in Program.Activ.Upr.SZ.List)

{(Z4.ID_agenta == Program.Activ.nomer_agenta)

{.Items.Add(Z4.naimenovanie);[kolvo] = Z4.nomer;++;

}

}.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;

}

}

}

Добавление заказа.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.IO;курсовая

{partial class Добавление_заказа : Form

{Добавление_заказа()

{();

}void button2_Click(object sender, EventArgs e)

{.Hide();

}void Добавление_заказа_Load(object sender, EventArgs e)

{.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;

курсовая_ддл.Zakazi Z = new курсовая_ддл.Zakazi();.SelectedText = Convert.ToString(Z.nomer);.SelectedText = Convert.ToString(Z.naimenovanie);(курсовая_ддл.Agents Ag in Program.Activ.Upr.SAG.List)

{(Ag.id == Program.Activ.nomer_agenta)

{.SelectedText = Ag.fio;

}

}.SelectedText = Convert.ToString(Z.FIO_zakazchika);.SelectedText = Convert.ToString(Program.Activ.nomer_agenta);.SelectedText = Convert.ToString(Z.FIO_agenta);.SelectedText = "не оплачено";.SelectedText = Convert.ToString(Z.kol_vo);.SelectedText = Convert.ToString(Z.summa_zakaza);.SelectedText = Convert.ToString(Z.month);

}void button1_Click(object sender, EventArgs e)

{

{((textBox2.Text == "") || (textBox3.Text == "") || (textBox4.Text == "") || (textBox7.Text == "") || (textBox8.Text == "") || (textBox9.Text == "") || (Convert.ToInt32(textBox7.Text) <= 0) || (Convert.ToInt32(textBox8.Text) <= 0) || (Convert.ToInt32(textBox9.Text) <= 0))

{.Show("Поле осталось пустым!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

{

курсовая_ддл.Zakazi Z = new курсовая_ддл.Zakazi();naimenovanie, FIO_zakazchika, FIO_agenta, oplata;ID_agenta, kol_vo, summa_zakaza,month;= textBox2.Text;_zakazchika = textBox3.Text;_agenta = textBox4.Text;= Convert.ToInt32(textBox9.Text);_agenta = Program.Activ.nomer_agenta;= "не оплачено";_vo = Convert.ToInt32(textBox7.Text);_zakaza = Convert.ToInt32(textBox8.Text);(курсовая_ддл.Agents Ag in Program.Activ.Upr.SAG.List)

{(Program.Activ.nomer_agenta == Ag.id)

{.summa_ot_zakazov += summa_zakaza;

}

}.Activ.Upr.SZ.Add(Z.naimenovanie = naimenovanie, Z.FIO_zakazchika = FIO_zakazchika, Z.FIO_agenta=FIO_agenta, Z.ID_agenta = ID_agenta, Z.oplata = oplata, Z.nomer, Z.kol_vo = kol_vo, Z.summa_zakaza = summa_zakaza,Z.month=month);.Activ.Upr.SaveZakazi("Zakazi.xml");.Agentam.listBox1.Items.Clear();(курсовая_ддл.Zakazi ZZ in Program.Activ.Upr.SZ.List)

{.Agentam.listBox1.Items.Add(ZZ.naimenovanie);

}.Activ.Upr.SaveAgents("Agents.xml");.SpisAgent.listBox1.Items.Clear();(курсовая_ддл.Agents AGT in Program.Activ.Upr.SAG.List)

{.SpisAgent.listBox1.Items.Add(AGT.fio);

}.Agentam.listBox1.Items.Clear();.Agentam.m = new int[Program.Activ.Upr.SZ.List.Count];kolvo = 0;(курсовая_ддл.Zakazi Z2 in Program.Activ.Upr.SZ.List)

{(Z2.ID_agenta == Program.Activ.nomer_agenta)

{.Agentam.listBox1.Items.Add(Z2.naimenovanie);.Agentam.m[kolvo] = Z2.nomer;++;

}

}.Hide();

}

}{ MessageBox.Show("Ошибка ввода!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}void Добавление_заказа_FormClosing(object sender, EventArgs e)

{

}

}

}

Form1.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая_ддл;System.IO;курсовая

{partial class Form1 : Form

{Form1()

{();

}void button4_Click(object sender, EventArgs e)

{.Info.ShowDialog();

}void Form1_Load(object sender, EventArgs e)

{(File.Exists("Agents.xml")).Activ.Upr.LoadAgents("Agents.xml");(File.Exists("Zakazi.xml")).Activ.Upr.LoadZakazi("Zakazi.xml");.Activate();

}void button3_Click(object sender, EventArgs e)

{.Close();

}void button1_Click(object sender, EventArgs e)

{.SpisAgent.ShowDialog();

}void button2_Click(object sender, EventArgs e)

{.SpisZakaz.ShowDialog();

}void Form1_FormClosing(object sender, FormClosingEventArgs e)

{.Activ.Upr.SaveAgents("Agents.xml");.Activ.Upr.SaveZakazi("Zakazi.xml");

}void списокАгентовToolStripMenuItem_Click(object sender, EventArgs e)

{

}void просмотретьСписокToolStripMenuItem_Click(object sender, EventArgs e)

{.SpisAgent.ShowDialog();

}void просмотрСпискаToolStripMenuItem_Click(object sender, EventArgs e)

{.SpisZakaz.ShowDialog();

}void информацияToolStripMenuItem_Click(object sender, EventArgs e)

{.Information.ShowDialog();

}void авторыToolStripMenuItem_Click(object sender, EventArgs e)

{.Info.ShowDialog();

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

{.Close();.Exit();

}void button1_Click_1(object sender, EventArgs e)

{

//Program.Mail.ShowDialog();

}void добавитьАгентаToolStripMenuItem_Click(object sender, EventArgs e)

{.DAgent.ShowDialog();

}void заМесяцToolStripMenuItem_Click(object sender, EventArgs e)

{.Z_m.ShowDialog();

}void заКварталToolStripMenuItem_Click(object sender, EventArgs e)

{.Z_k.ShowDialog();

}

}

}

Список агентов.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая

{partial class Список_агентов : Form

{int CurIndAG;x;Список_агентов()

{();

}void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{index = listBox1.SelectedIndex;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;(курсовая_ддл.Agents AG in Program.Activ.Upr.SAG.List)

{(index == AG.id)

{.SelectedText = Convert.ToString(AG.id);.SelectedText = Convert.ToString(AG.fio);.SelectedText = Convert.ToString(AG.statys);.SelectedText = Convert.ToString(AG.age);.SelectedText = Convert.ToString(AG.adress);.SelectedText = Convert.ToString(AG.tel);.SelectedText = Convert.ToString(AG.e_mail);.SelectedText = Convert.ToString(AG.kolvo_zakazov_k);.SelectedText = Convert.ToString(AG.kolvo_otrab_dnei_m);.SelectedText = Convert.ToString(AG.summa_ot_zakazov);

}

}.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;

}void Список_агентов_FormClosing(object sender, FormClosingEventArgs e)

{.Activ.Upr.SaveAgents("Agents.xml");

}void Список_агентов_Load_1(object sender, EventArgs e)

{.Items.Clear();(курсовая_ддл.Agents AG in Program.Activ.Upr.SAG.List)

{.Items.Add(AG.fio);.kolvo_zakazov_k = 0;.summa_ot_zakazov = 0;(курсовая_ддл.Zakazi Z in Program.Activ.Upr.SZ.List)

{(Z.ID_agenta == AG.id)

{.kolvo_zakazov_k++;.summa_ot_zakazov += Z.summa_zakaza;

}

}

}

}void button5_Click(object sender, EventArgs e)

{.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Hide();

}void button4_Click_1(object sender, EventArgs e)

{(radioButton1.Checked)

{poisk, lstr;= Convert.ToString(textBox1.Text);(int i = 0; i < listBox1.Items.Count; i++)

{= listBox1.Items[i].ToString();(lstr == poisk)

{.SelectedIndex = i;

}(lstr != poisk)

{++;(x == listBox1.Items.Count)

{.Show("Агент не найден.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

} x = 0;

}{ MessageBox.Show("Ошибка ввода!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}(radioButton2.Checked)

{

{p;= Convert.ToInt32(textBox1.Text);(int i = 0; i < listBox1.Items.Count; i++)

{(i == p)

{.SelectedIndex = i;

}(i != p)

{++;(x == listBox1.Items.Count)

{.Show("Агент по данному ID не найден.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}= 0;

}{ MessageBox.Show("Ошибка ввода! Для поиска введите ID агента.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}((!radioButton1.Checked)&&(!radioButton2.Checked))

{.Show("Необходимо указать по какому критерию Вы осуществляет поиск: по ФИО агента или по ID агента.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}void button2_Click_1(object sender, EventArgs e)

{.DAgent.ShowDialog();

}void button3_Click(object sender, EventArgs e)

{.ReadOnly = false;.ReadOnly = false;.ReadOnly = false;.ReadOnly = false;.ReadOnly = false;.ReadOnly = false;.ReadOnly = false;

}void button6_Click(object sender, EventArgs e)

{

курсовая_ддл.Agents AG = new курсовая_ддл.Agents();FIO_agenta, statys, adres, e_mail;age, tel, kolvo_dnei;_agenta=textBox3.Text;=textBox4.Text;=Convert.ToInt32(textBox5.Text);=textBox6.Text;=Convert.ToInt32(textBox12.Text);_mail=textBox7.Text;_dnei=Convert.ToInt32(textBox10.Text);.Activ.Upr.SAG.List[listBox1.SelectedIndex].fio =FIO_agenta ;.Activ.Upr.SAG.List[listBox1.SelectedIndex].statys = statys;.Activ.Upr.SAG.List[listBox1.SelectedIndex].age = age;.Activ.Upr.SAG.List[listBox1.SelectedIndex].adress = adres;.Activ.Upr.SAG.List[listBox1.SelectedIndex].tel = tel;.Activ.Upr.SAG.List[listBox1.SelectedIndex].e_mail = e_mail;.Activ.Upr.SAG.List[listBox1.SelectedIndex].kolvo_otrab_dnei_m = kolvo_dnei;.Activ.Upr.SaveAgents("Agents.xml");.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;.ReadOnly = true;

}

}

}

Добавление агента.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая

{partial class Добавление_агента : Form

{Добавление_агента()

{();

}void button2_Click(object sender, EventArgs e)

{.Hide();

}void Добавление_агента_Load(object sender, EventArgs e)

{.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;

курсовая_ддл.Agents AG = new курсовая_ддл.Agents();.SelectedText = Convert.ToString(AG.id);.SelectedText = Convert.ToString(AG.fio);.SelectedText = "агент";.SelectedText = Convert.ToString(AG.age);.SelectedText = Convert.ToString(AG.adress);.SelectedText = Convert.ToString(AG.tel);.SelectedText = Convert.ToString(AG.e_mail);.SelectedText = Convert.ToString(AG.kolvo_zakazov_k);.SelectedText = Convert.ToString(AG.kolvo_otrab_dnei_m);.SelectedText = Convert.ToString(AG.summa_ot_zakazov);

}void button1_Click(object sender, EventArgs e)

{

{((textBox2.Text == "") || (textBox4.Text == "") || (textBox5.Text == "") || (textBox6.Text == "") || (textBox7.Text == "") || (textBox9.Text == "") || (textBox10.Text == "")||(Convert.ToInt32(textBox4.Text)<=0)||(Convert.ToInt32(textBox6.Text)<=0))

{.Show("Поле осталось пустым!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

{fio, statys, adress, e_mail;age, tel, kolvo_zakazov_k, kolvo_otrab_dnei_m, summa_ot_zakazov;= textBox2.Text;= textBox3.Text;= Convert.ToInt32(textBox4.Text);= textBox5.Text;= Convert.ToInt32(textBox6.Text);_mail = textBox7.Text;_zakazov_k = Convert.ToInt32(textBox9.Text);_otrab_dnei_m = Convert.ToInt32(textBox10.Text);_ot_zakazov = Convert.ToInt32(textBox11.Text);

курсовая_ддл.Agents AG = new курсовая_ддл.Agents();.Activ.Upr.SAG.Add(AG.fio = fio, AG.statys = statys, AG.age = age, AG.adress = adress, AG.tel = tel, AG.e_mail = e_mail, AG.kolvo_zakazov_k = kolvo_zakazov_k, AG.kolvo_otrab_dnei_m = kolvo_otrab_dnei_m, AG.summa_ot_zakazov = summa_ot_zakazov, AG.id);.Activ.Upr.SaveAgents("Agents.xml");.SpisAgent.listBox1.Items.Clear();(курсовая_ддл.Agents AGT in Program.Activ.Upr.SAG.List)

{.SpisAgent.listBox1.Items.Add(AGT.fio);

}.Hide();

}

}{ MessageBox.Show("Ошибка ввода!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}void Добавление_агента_FormClosing(object sender, EventArgs e)

{

}

}

}

Список заказов.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая_ддл;System.IO;курсовая

{partial class Список_заказов : Form

{x;ukaz = -1;Список_заказов()

{();

}void button1_Click(object sender, EventArgs e)

{.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Hide();

}void Список_заказов_Load(object sender, EventArgs e)

{(File.Exists("Zakazi.xml")).Activ.Upr.LoadZakazi("Zakazi.xml");.Activate();.Items.Clear();(курсовая_ддл.Zakazi Z in Program.Activ.Upr.SZ.List)

{.Items.Add(Z.naimenovanie);

}

}void listBox1_SelectedIndexChanged(object sender, EventArgs e)

{index = listBox1.SelectedIndex;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;.Text = null;(курсовая_ддл.Zakazi Z2 in Program.Activ.Upr.SZ.List)

{(index==Z2.nomer)

{.SelectedText = Convert.ToString(Z2.nomer);.SelectedText = Convert.ToString(Z2.naimenovanie);.SelectedText = Convert.ToString(Z2.FIO_zakazchika);.SelectedText = Convert.ToString(Z2.FIO_agenta);.SelectedText = Convert.ToString(Z2.ID_agenta);.SelectedText = Convert.ToString(Z2.oplata);.SelectedText = Convert.ToString(Z2.kol_vo);.SelectedText = Convert.ToString(Z2.summa_zakaza);.SelectedText = Convert.ToString(Z2.month);

}

}

}void Список_заказов_FormClosing(object sender, FormClosingEventArgs e)

{

//Program.Activ.Upr.SaveZakazi("Zakazi.xml");

}void button3_Click(object sender, EventArgs e)

{(textBox9.Text == "не оплачено")

{dr = MessageBox.Show("Заказ оплачен?", "Фиксирование оплаты", MessageBoxButtons.YesNo, MessageBoxIcon.Question);(dr)

{DialogResult.Yes: textBox9.Text = null; textBox9.Text = "оплачено";

курсовая_ддл.Zakazi Z = new курсовая_ддл.Zakazi();oplata;= Convert.ToString(textBox9.Text);.Activ.Upr.SZ.List[listBox1.SelectedIndex].oplata = oplata;.Activ.Upr.SaveZakazi("Zakazi.xml");;DialogResult.No: break;

}

}//(textBox9.Text == "оплачено")

{.Show("Фиксировать оплату можно только у не оплаченных заказов.", "Не соответствие", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}void button4_Click(object sender, EventArgs e)

{(radioButton1.Checked)

{

{poisk, lstr;not_find = true;= Convert.ToString(textBox1.Text);(int i = 0; i < listBox1.Items.Count; i++)

{= listBox1.Items[i].ToString();((lstr == poisk) & (not_find))

{(i > ukaz)

{= i;.SelectedIndex = i;_find = false;

}

}(lstr != poisk)

{++;(x == listBox1.Items.Count)

{.Show("Заказ не найден.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}= 0;

}{ MessageBox.Show("Ошибка ввода!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}(radioButton2.Checked)

{

{p;= Convert.ToInt32(textBox1.Text);(int i = 0; i < listBox1.Items.Count; i++)

{(i == p)

{.SelectedIndex = i;

}(i != p)

{++;(x == listBox1.Items.Count)

{.Show("Заказ по данному номеру не найден.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}= 0;

}{ MessageBox.Show("Ошибка ввода! Для поиска введите номер заказа.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }

}((!radioButton1.Checked) && (!radioButton2.Checked))

{.Show("Необходимо указать по какому критерию Вы осуществляет поиск: по наименованию заказа или по номеру заказа.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

}

Почта.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Net.Mail;System.Net;System.Net.Mime;курсовая

{partial class Почта : Form

{Почта()

{();

}string file;void button1_Click(object sender, EventArgs e)

{

//Авторизация на SMTP сервереSmtp = new SmtpClient("smtp.mail.ru", 25);

//Smtp.Credentials = new NetworkCredential("elena94024", textBox3.Text.Trim());.Credentials = new NetworkCredential("didi17@bk.ru", textBox3.Text.Trim());.EnableSsl = false;checkaddr = false;checksubj = false;checksubp = false;(textBox1.TextLength > 0) checkaddr = true;(checkaddr == false) MessageBox.Show("Введите адрес получателя!");(textBox2.TextLength > 0) checksubj = true;(checksubj == false) MessageBox.Show("Введите тему сообщения!");(textBox3.TextLength > 0) checksubp = true;(checksubp == false) MessageBox.Show("Введите пароль!");(checkaddr == true & checksubj == true & checksubp == true)

{Msg = new MailMessage();

//Msg.From = new MailAddress("elena94024@mail.ru");.From = new MailAddress("didi17@bk.ru");.To.Add(new MailAddress(textBox1.Text.ToString()));.Subject = textBox2.Text.ToString();.Body = richTextBox1.Text;file = openFileDialog1.FileName.ToString(); ;attach = new Attachment(file, MediaTypeNames.Application.Octet);disposition = attach.ContentDisposition;.CreationDate = System.IO.File.GetCreationTime(file);.ModificationDate = System.IO.File.GetLastWriteTime(file);.ReadDate = System.IO.File.GetLastAccessTime(file);.Attachments.Add(attach);

{.Send(Msg);//!!!отправка.Show("Сообщение отправлено!");

}

{ MessageBox.Show("Неправильный ввод!"); }

}

{ MessageBox.Show("Некоторые поля остались незаполнеными!"); }

}void button2_Click(object sender, EventArgs e)

{.Close();

}void Почта_Load(object sender, EventArgs e)

{

}

}

}

Информация.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая

{partial class Информация : Form

{Информация()

{();

}void button1_Click(object sender, EventArgs e)

{.Close();

}void Информация_Load(object sender, EventArgs e)

{

}

}

}

Информация о проекте.cs

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;курсовая

{partial class Авторы : Form

{Авторы()

{();

}void button1_Click(object sender, EventArgs e)

{.Hide();

}void Авторы_Load(object sender, EventArgs e)

{

}

}

}

Program.cs

using System;System.Collections.Generic;System.Linq;System.Windows.Forms;курсовая

{class Program

{static Form1 f1;static Добавление_агента DAgent;static Добавление_заказа DZakaz;static Авторы Info;static Почта Mail;static Управляющий_2 Upr2;static Список_агентов SpisAgent;static Список_заказов SpisZakaz;static Информация Information;static Зарплата_за_месяц Z_m;static Параметры_зарплаты Zarp_Param;static Зарплата_за_квартал Z_k;static Параметры_премии Premia_Param;static log Activ;static Агентам Agentam;

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]void Main()

{.EnableVisualStyles();.SetCompatibleTextRenderingDefault(false);= new Form1();= new Добавление_агента();= new Добавление_заказа();= new Авторы();= new Почта();= new Управляющий_2();= new Список_агентов();= new Список_заказов();= new Информация();_m = new Зарплата_за_месяц();_Param = new Параметры_зарплаты();_k = new Зарплата_за_квартал();_Param = new Параметры_премии();= new log();= new Агентам();.Run(Activ);

}

}

}

курсовая DLL.cs

using System;System.Collections.Generic;System.Linq;System.Text;курсовая_ддл

{class Agents

{int id;int ID

{

{ return id; }

//set

//{ number = value; }

}string fio;string Fio

{

{ return fio; }

{ fio = value; }

}string statys;string Statys

{

{ return statys; }

{ statys = value; }

}int age;int Age

{

{ return age; }

{ age = value; }

}string adress;string Adress

{

{ return adress; }

{ adress = value; }

}int tel;int Tel

{

{ return tel; }

{ tel = value; }

}string e_mail;string E_mail

{

{ return e_mail; }

{ e_mail = value; }

}int kolvo_zakazov_k;int Kolvo_zakazov_k

{

{ return kolvo_zakazov_k; }

{ kolvo_zakazov_k = value; }

}int kolvo_otrab_dnei_m;int Kolvo_otrab_dnei_m

{

{ return kolvo_otrab_dnei_m; }

{ kolvo_otrab_dnei_m = value; }

}decimal summa_ot_zakazov;decimal Summa_ot_zakazov

{

{ return summa_ot_zakazov; }

{ summa_ot_zakazov = value; }

}Agents()

{ }Agents(string f,string s,int a,string ads,int t,string e_m,int k_z_k,int k_d_m,decimal sum,int id)

{.fio = f;.statys = s;.age = a;.adress = ads;.tel = t;.e_mail = e_m;.kolvo_zakazov_k = k_z_k;.kolvo_otrab_dnei_m = k_d_m;.summa_ot_zakazov = sum;.id = id;

}

}class SpisokAgents

{SpisokAgents()

{ }List<Agents> List = new List<Agents>();void Add( string f, string s, int a, string ads, int t, string e_m, int k_z_k, int k_d_m, decimal sum,int id)

{obj = new Agents(f, s, a, ads, t, e_m, k_z_k, k_d_m, sum,List.Count);.Add(obj);

}

}

}

Zakazi.cs

using System;System.Collections.Generic;System.Linq;System.Text;курсовая_ддл

{class Zakazi

{int nomer;int Nomer

{

{ return nomer; }

//set

//{ index = value; }

}string naimenovanie;string Naimenovanie

{

{ return naimenovanie; }

{ naimenovanie = value; }

}int kol_vo;int Kol_vo

{

{ return kol_vo; }

{ kol_vo = value; }

}decimal summa_zakaza;decimal Summa_zakaza

{

{ return summa_zakaza; }

{ summa_zakaza = value; }

}string FIO_zakazchika;string Fio_zakazchika

{

{ return FIO_zakazchika; }

{ FIO_zakazchika = value; }

}string FIO_agenta;string Fio_agenta

{

{ return FIO_agenta; }

{ FIO_agenta = value; }

}int ID_agenta;int id_agenta

{

{ return ID_agenta; }

{ ID_agenta = value; }

}string oplata;string Oplata

{

{ return oplata; }

{ oplata = value; }

}int month;int Month

{{ return month; }{ month = value; }

}Zakazi()

{ }Zakazi( string naim, int kol, decimal sum, string fio_z, string fio_ag, int id_agenta, string opl,int n,int month)

{.naimenovanie = naim;.kol_vo = kol;.summa_zakaza = sum;.FIO_zakazchika = fio_z;.FIO_agenta = fio_ag;.ID_agenta = id_agenta;.oplata = opl;.nomer = n;.month = month;

}

}class SpisokZakazov

{SpisokZakazov()

{ }List<Zakazi> List = new List<Zakazi>();void Add(string naim, string fio_z, string fio_ag, int id_agenta, string opl, int n, int kol, decimal sum,int month)

{obj = new Zakazi(naim, kol, sum, fio_z, fio_ag, id_agenta, opl, List.Count, month);.Add(obj);

}

}

}

Вывод

Данная программа может быть использована на предприятие для учёта заработной платы агентов по продажам. Это может быть продажа интернета, кабельного TV, недвижимости, косметики, или оформления заказов на услуги. В данной программе я брала за пример работу агентов по продажам компьютерной техники.

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

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

Похожие работы на - Учет заработной платы агентов по продажам

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!