Дипломная работа: Автоматизация рабочего места менеджера отдела продаж для АО "АЭИ "ПРАЙМ"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
100
return;
}
if (e.RowIndex >= 0)
{
dgvRowIndex = dgvInDocs.CurrentRow.Index;
rowStatus = 1;
tsbDocEdit_Click(null, null);
//фильтр
}
}
//обновить список заявок
private void dgvInDocs_RowEnter(object sender, DataGridViewCellEventArgs e)
{
ControlsRefresh(e);
}
//права на создание заявки
private void tsbDocNew_Click(object sender, EventArgs e)
{
if (rights.Contains("a"))
SwitchMode(0);
else
{
MessageBox.Show("У вас нет прав на добавление документов!!!",
"Обратитесь к администратору!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
//права на редактирование заявки
private void tsbDocEdit_Click(object sender, EventArgs e)
{
if (rights.Contains("e"))
{
SwitchMode(1);
}
else
{
MessageBox.Show("У вас нет прав на редактирование документов!!!",
"Обратитесь к администратору!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
//отчетная форма
private void btnImage_Click(object sender, EventArgs e)
{
OpenFileDialog ofdInDoc = new OpenFileDialog();
string val = lblImgFile.Text;
if (val == "")
{
val = GetDefaultSetting.Get("DefaultInDocImgPath");
if (val == "") { return; }
}
ofdInDoc.InitialDirectory = val;
val = GetDefaultSetting.Get("DefaultInDocImgFilter");
if (val == "") { return; }
ofdInDoc.Filter = val;
if (ofdInDoc.ShowDialog() == DialogResult.OK)
{
101
lblImgFile.Text = ofdInDoc.FileName;
FillValueAfterOpenFileDialog(ofdInDoc.FileName);
}
Environment.CurrentDirectory = Application.StartupPath;
}
//установка настроек
private void tsbSetting_Click(object sender, EventArgs e)
{
frmPeriodSelector fps = new frmPeriodSelector();
//fps.Owner = this;
//fps.MdiParent = this.MdiParent;
if (fps.ShowDialog() == DialogResult.OK)
{
DgvInDocsFill();
UpdateHeaderText();
}
}
//права на удаление заявок
private void tsbDocDelete_Click(object sender, EventArgs e)
{
if (rights.Contains("d"))
DocDelete();
else
{
MessageBox.Show("У вас нет прав на удаление документов!!!",
"Обратитесь к администратору!!!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
// Нажатие кнопки на клавитуре по datagridview
private void dgvInDocs_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Enter:
e.SuppressKeyPress = true;
if (dgvInDocs.CurrentRow != null)
{
DataRow row =
((DataRowView)dgvInDocs.CurrentRow.DataBoundItem).Row;
SwitchMode(1);
}
break;
case Keys.Insert:
SwitchMode(0);
break;
case Keys.Delete:
dgvRowIndex = dgvInDocs.CurrentRow.Index;
DocDelete();
break;
}
if (e.Control && Keys.O == e.KeyCode)
{
if (dgvInDocs.CurrentRow != null)
102
OpenDoc((int)dgvInDocs.CurrentRow.Cells["ID"].Value,
(int)dgvInDocs.CurrentRow.Cells["constID"].Value);
}
}
//новая заявка
private void tsmiDocNew_Click(object sender, EventArgs e)
{
//SwitchMode(0);
tsbDocNew_Click(null, null);
}
//редактирование завки
private void tsmiDocEdit_Click(object sender, EventArgs e)
{
//SwitchMode(1);
tsbDocEdit_Click(null, null);
}
//удаление заявки
private void tsmiDocDelete_Click(object sender, EventArgs e)
{
tsbDocDelete_Click(null, null);
//DocDelete();
}
//сохранение после редактирования
private void frmEditInDocs_FormClosed(object sender, FormClosedEventArgs e)
{
GLOBAL2.Properties.Settings.Default.frmEditInDocsLocation =
this.Location;
GLOBAL2.Properties.Settings.Default.Save();
}
//Форма настройки поиска
private void tsbSettings_Click(object sender, EventArgs e)
{
if (FrmEditInDocsSettings != null)
if (FrmEditInDocsSettings.IsDisposed == true)
FrmEditInDocsSettings = null;
if (FrmEditInDocsSettings == null)
{
FrmEditInDocsSettings = new frmEditInDocsSettings();
FrmEditInDocsSettings.invokeSearch = Search;
FrmEditInDocsSettings.Owner = this.Owner;
FrmEditInDocsSettings.MdiParent = this.MdiParent;
FrmEditInDocsSettings.dtDept = ((DataTable)cboDept.DataSource).Copy();
FrmEditInDocsSettings.dtTypeDoc =
((DataTable)cboInDocType.DataSource).Copy();
FrmEditInDocsSettings.frmEIDs = this;
FrmEditInDocsSettings.Show();
if (currentFilter != null)
{
FrmEditInDocsSettings.SetControlValue(currentFilter.Dept,
currentFilter.TypeDoc, currentFilter.NumDoc,
currentFilter.InNumDoc, currentFilter.DateDoc,
currentFilter.InDateDoc, currentFilter.Description);
}
103
}
else
FrmEditInDocsSettings.Focus();
}
//Нажатие правой кнопки мыши по ячейки datagridview
private void dgvInDocs_CellMouseClick(object sender,
DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex >= 0 && e.RowIndex >= 0)
{
if (e.Button == MouseButtons.Right)
{
PathToFile =
dgvInDocs.Rows[e.RowIndex].Cells["FileName"].Value.ToString();
dgvInDocs.Rows[e.RowIndex].Cells[e.ColumnIndex].ContextMenuStrip =
cmsInDocs; // cmsInDocs;
cmsInDocs.Show(MousePosition);
dgvInDocs.Rows[e.RowIndex].Cells[e.ColumnIndex].ContextMenuStrip =
null;
tsmiOpenDoc.Tag = new int[] {
(int)dgvInDocs.Rows[e.RowIndex].Cells["ID"].Value,
(int)dgvInDocs.Rows[e.RowIndex].Cells["constID"].Value };
}
}
}
//
//Обработка нажатия "Открыть заявку"
//
private void tsmiOpenDoc_Click(object sender, EventArgs e)
{
ToolStripMenuItem tsmi = (ToolStripMenuItem)sender;
if (tsmi.Tag != null)
{
int[] array = (int[])tsmi.Tag;
//Прочитать документ из базы
OpenDoc(array[0]/*ID*/, array[1]/*ConstID*/);
}
}
//
//
//Загрузка документа
private static byte[] LoadImg(int ID, int ConstID)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = new
SqlConnection(SessionProperties.currentConnectionString);
cmd.CommandText = "SELECT Img FROM InDocs WHERE Img is not null and
ConstID=@ConstID and ID = @ID";
cmd.CommandTimeout = 0;
cmd.Parameters.Add("@ID", SqlDbType.Int);
cmd.Parameters["@ID"].Value = ID;
104
cmd.Parameters.Add("@ConstID", SqlDbType.Int);
cmd.Parameters["@ConstID"].Value = ConstID;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count == 0)
{
MessageBox.Show("Нет документа в базе данных");
return null;
}
else
return (byte[])dt.Rows[0]["Img"];
}
//открытие документа
public static bool OpenDoc(int ID, int ConstID)
{
byte[] fileData = LoadImg(ID, ConstID);
if (fileData != null)
{
string fileName = @"\\Docx\report\" +
DateTime.Now.ToFileTime().ToString() + ".pdf";
File.WriteAllBytes(fileName, fileData);
System.Diagnostics.Process.Start(fileName);
return true;
}
else return false;
}
// Фильтр отображаемых документов
private void Search(string Dept = "", string TypeDoc = "", string NumDoc
= "", string InNumDoc = "", string DateDoc = "", string InDateDoc = "",string
Description = "", bool ClearRowFilter = false)
{
if (ClearRowFilter)
{
((DataTable)(dgvInDocs.DataSource)).DefaultView.RowFilter = "";
currentFilter = null;
return;
}
DataTable dt = new DataTable();
dt = (DataTable)(dgvInDocs.DataSource);
dt.DefaultView.RowFilter = "";
currentFilter = new CurrentFilter(Dept , TypeDoc, NumDoc,
InNumDoc, DateDoc, InDateDoc, Description);
if (Dept != "" && dgvInDocs.RowCount > 0)
dt.DefaultView.RowFilter = "Dept=" + "'" + Dept + "'";
if (TypeDoc != "" && dgvInDocs.RowCount > 0)
dt.DefaultView.RowFilter += (dt.DefaultView.RowFilter == "" ? "": "
and " ) + "DocType=" + "'" + TypeDoc + "'";
if (NumDoc != "" && dgvInDocs.RowCount > 0 )
Источник: https://baza.diplomsite.ru/previewfile/2176