private void Export_Handler(object sender, EventArgs e) { var view = (IVeloObjectSummaryView)sender; if (view.Model != null) { var dialog = new SaveFileDialog(); dialog.Filter = "Doc files (*.rtf)|*.rtf"; if (dialog.ShowDialog() == DialogResult.OK) { AsyncLoaderForm.ShowMarquee((s, ee) => { try { VeloObjectFindReport.ReportMake(dialog.FileName, view.Model.ToList()); MessageBox.Show("Сводная ведомость успешно экспортирована в Word", "Экспорт в Word..."); } catch (Exception) { MessageBox.Show("Произошла ошибка экспорта", "Экспорт в Word..."); } }, "Идет формирование отчета..."); ReportHelper.Open(dialog.FileName); } } else { MessageBox.Show("Сводная ведомость пуста!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// Получение всех сотрудников. /// </summary> /// <returns>Сотрудники.</returns> public List <Person> GetAll() { var res = new List <Person>(); AsyncLoaderForm.ShowMarquee((s1, s2) => { try { var time = DateTime.Now.TimeOfDay; res = Repository.GetAll(); var timeNew = DateTime.Now.TimeOfDay; var implementationTime = timeNew - time; _logger.Info(string.Format("{0} | Получение данных ({1} с.).", DirectoryName, implementationTime.TotalSeconds)); } catch (OutOfMemoryException) { MessageBox.Show("Недостаточный объем памяти.", DirectoryName, MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { _logger.Error(string.Format("{0} | {1} | {2}", DirectoryName, ex.Message, ex.InnerException != null ? (ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : "") : "")); MessageBox.Show("Ошибка при получении сотрудников.", DirectoryName, MessageBoxButtons.OK, MessageBoxIcon.Error); } }, "Пожалуйста, ожидайте окончания загрузки..."); return(res); }
private void Load_Handler(object sender, EventArgs e) { var view = (IVeloObjectSummaryView)sender; var VeloObjectsFilters = new List <ITS.Core.Domain.Filters.Filter>(new[] { new ITS.Core.Domain.Filters.Filter { FilterType = FilterType.String, Function = FilterFunc.Eq, PropertyPath = "FeatureObject.Layer.Map.Alias", Values = new[] { Map.Alias }, PropertyName = "Карта" } }); VeloObjectsFilters.AddRange(view.VeloObjectFilters); IEnumerable <VeloObject> filteredVeloObject = null; AsyncLoaderForm.ShowMarquee((a, b) => filteredVeloObject = _VeloObjectManager.FilterVeloObjects(VeloObjectsFilters), "Идет загрузка объекта"); view.Model = filteredVeloObject; }
/// <summary> /// Удаление группы сотрудников. /// </summary> /// <param name="persons">Сотрудники.</param> public void Delete(List <Person> persons) { AsyncLoaderForm.ShowMarquee((s1, s2) => { try { var time = DateTime.Now.TimeOfDay; Repository.Delete(persons); var timeNew = DateTime.Now.TimeOfDay; var implementationTime = timeNew - time; _logger.Info(string.Format("{0} | Удаление записей, кол-во: {1} ({2} с.).", DirectoryName, persons.Count, implementationTime.TotalSeconds)); } catch (OutOfMemoryException) { MessageBox.Show("Недостаточный объем памяти.", DirectoryName, MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (DbUpdateException ex) { _logger.Warn(string.Format("{0} | {1} | {2}", DirectoryName, ex.Message, ex.InnerException != null ? (ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : "") : "")); MessageBox.Show("Удаление невозможно. Сотрудник удален другим пользователем, имеются привязки к другим объектам или отсутствуют права доступа.", DirectoryName, MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception ex) { _logger.Error(string.Format("{0} | {1} | {2}", DirectoryName, ex.Message, ex.InnerException != null ? (ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : "") : "")); MessageBox.Show(string.Format("Ошибка при удалении {0}.", persons.Count == 1 ? "сотрудника" : "сотрудников"), DirectoryName, MessageBoxButtons.OK, MessageBoxIcon.Error); } }, "Пожалуйста, ожидайте окончания удаления..."); }