Example #1
0
        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);
            }
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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;
        }
Example #4
0
        /// <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);
                }
            }, "Пожалуйста, ожидайте окончания удаления...");
        }