/* [ Прикрепить ] */ private void btnAttachFile_Click(object sender, EventArgs e) { OpenFileDialog openFileDlg = new OpenFileDialog(); openFileDlg.InitialDirectory = Directory.GetCurrentDirectory(); if (openFileDlg.ShowDialog() == DialogResult.OK) { #region Отображение списка файлов на форме FileInfo fi = new FileInfo(openFileDlg.FileName); Image icon = ProjectFiles.GetIcon(Path.GetExtension(fi.FullName)); listIcon.Images.Add(icon); long fsize = fi.Length / 1024; if (fsize == 0) { fsize = 1; } string fileName = fi.Name.Remove(fi.Name.LastIndexOf(@".")); ListViewItem lvi = new ListViewItem(); int i = listViewFiles.Items.Add(lvi).Index; lvi.ImageIndex = listIcon.Images.Count - 1; lvi.Text = " " + fileName; //имя listViewFiles.Items[i].SubItems.Add(fi.LastWriteTime.ToString()); //дата изменения listViewFiles.Items[i].SubItems.Add(fi.Extension); //тип listViewFiles.Items[i].SubItems.Add(fsize.ToString() + " кб"); //размер #endregion listFileInfo.Add(fi); //добавить в список файлов } }
/* [ Сохранить ] */ private void btnSave_Click(object sender, EventArgs e) { if (ProjectServices.Edit(bs_Project.Current as Project, frmLogin.Instance.UserInfo)) { MessageBox.Show("Изменения успешно сохранены", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show("Произошла ошибка обновления записей базы данных", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (listFileInfo.Count > 0) { ProjectFiles.Attach((int)_project.IdNumber, frmLogin.Instance.UserInfo, listFileInfo); } }
/* [ Сохранить ] */ private void btnSave_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtProjectDescription.Text) || string.IsNullOrEmpty(txtProjectNumber.Text) || string.IsNullOrEmpty(txtSpecialRequire.Text)) { MessageBox.Show("Необходимо заполнить все поля", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); foreach (Control ctr in this.Controls) { if (ctr.GetType() == typeof(TextBox)) { if (string.IsNullOrEmpty(ctr.Text)) { ctr.BackColor = Color.FromArgb(255, 203, 195); } } } return; } else { try { int newProjectId = ProjectServices.InsertProjectNumber(projectNumberBindingSource.Current as ProjectNumber); if (newProjectId != 0) { ProjectServices.Create(projectBindingSource.Current as Project, newProjectId, _user.Id); ProjectFiles.Attach(newProjectId, _user, listFileInfo); MessageBox.Show("Проект успешно создан", "Инфморация", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show("Проект с идентификатором " + txtProjectNumber.Text + " уже существует.\r\n" + "Повторное создание запрещено", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtProjectNumber.BackColor = Color.FromArgb(255, 203, 195); return; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
//загрузка формы private void frmProjectCard_Load(object sender, EventArgs e) { btnSave.Enabled = false; TabPagesTitleSave(); CbrDataSourceLoad(); UpdateTabPageInfo(); if (tabControl.TabPages.Count == 0) { btnConfig.Text = btnText[2]; //Добавить оборуд. } #region Загрузка списка файлов listFile = FileServices.GetList((int)_project.IdNumber); listViewFiles.SmallImageList = listIcon; for (int i = 0; i < listFile.Count; i++) { ListViewItem lvi = new ListViewItem(); //создаем строку int j = listViewFiles.Items.Add(lvi).Index; //запоминаем индекс Image icon = ProjectFiles.GetIcon(listFile.ElementAt(i).Extension); //получаем иконку для файла listIcon.Images.Add(icon); //добавляем иконку в список изображений lvi.ImageIndex = listIcon.Images.Count - 1; //рисуем иконку рядом с именем файла lvi.Text = " " + listFile.ElementAt(i).Name; //имя listViewFiles.Items[j].SubItems.Add(listFile.ElementAt(i).Date.ToString()); //дата изменения listViewFiles.Items[j].SubItems.Add(listFile.ElementAt(i).Extension); //тип listViewFiles.Items[j].SubItems.Add(listFile.ElementAt(i).Size + " кб"); //размер listViewFiles.Items[j].SubItems.Add(listFile.ElementAt(i).Author); //кто прикрепил } #endregion #region Загрузка данных карточки try { if (_project.IdImplementer != null) { _implementer = AuthServices.GetUserById((int)_project.IdImplementer); txtImplementer.Text = _implementer.UserName; } if (_project.IdEditor != null) { _editor = AuthServices.GetUserById((int)_project.IdEditor); txtEditor.Text = _editor.UserName; } _manager = AuthServices.GetUserById((int)_project.IdManager); _stage = ProjectServices.GetStageById((int)_project.IdStage); _state = ProjectServices.GetStateById((int)_project.IdState); txtManager.Text = _manager.UserName; txtStage.Text = _stage.Stage; txtState.Text = _state.State; } catch (Exception ex) { MessageBox.Show(ex.Message); } #endregion txtManager.Focus(); }