Ejemplo n.º 1
0
        /// <summary>
        /// Реагирует на нажатие кнопки добавления нового элемента
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected virtual void ButtonAddDisplayerRequested(object sender, ReferenceEventArgs e)
        {
            try
            {
                Form form;

                if (ViewedType.Name == nameof(AircraftWorkerCategory))
                {
                    form = new AircraftWorkerCategoryForm(new AircraftWorkerCategory());
                }
                //else if (ViewedType.Name == typeof(DetailModel).Name || ViewedType.Name == typeof(AircraftModel).Name)
                //{
                //    ConstructorInfo ci = ViewedType.GetConstructor(new Type[0]);
                //    BaseEntityObject item = (BaseEntityObject)ci.Invoke(null);
                //    form = new CommonEditorForm(item);
                //}
                else if (ViewedType.Name == nameof(Product))
                {
                    form = new ProductForm(new Product());
                }
                else if (ViewedType.Name == nameof(ComponentModel))
                {
                    form = new ModelForm(new ComponentModel());
                }
                else if (ViewedType.Name == nameof(GoodStandart))
                {
                    form = new GoodStandardForm(new GoodStandart());
                }
                else
                {
                    ConstructorInfo  ci   = ViewedType.GetConstructor(new Type[0]);
                    BaseEntityObject item = (BaseEntityObject)ci.Invoke(null);
                    form = new CommonEditorForm(item);
                }

                if (form.ShowDialog(this) == DialogResult.OK)
                {
                    AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoWork;
                    AnimatedThreadWorker.DoWork -= AnimatedThreadWorkerDoFilteringWork;
                    AnimatedThreadWorker.DoWork += AnimatedThreadWorkerDoWork;

                    AnimatedThreadWorker.RunWorkerAsync();
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while building new object", ex);
            }
        }
        protected virtual void ItemsListViewMouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (SelectedItem == null)
            {
                return;
            }
            DisplayerAttribute da =
                (DisplayerAttribute)_viewedType.GetCustomAttributes(typeof(DisplayerAttribute), false)
                .FirstOrDefault();

            if (da == null || da.DisplayerType == DisplayerType.Form)
            {
                Form form;
                if (SelectedItem is AircraftWorkerCategory)
                {
                    form = new AircraftWorkerCategoryForm((AircraftWorkerCategory)SelectedItem);
                }
                else if (SelectedItem is AccessoryDescription)
                {
                    form = new AccessoryDescriptionForm((AccessoryDescription)SelectedItem);
                }
                else if (SelectedItem is AccessoryRequired)
                {
                    form = new KitForm((AccessoryRequired)SelectedItem);
                }
                else
                {
                    form = new CommonEditorForm(SelectedItem);
                }
                if (form.ShowDialog() == DialogResult.OK)
                {
                    itemsListView.Items[itemsListView.Items.IndexOf(itemsListView.SelectedItems[0])] =
                        new ListViewItem(GetListViewSubItems(SelectedItem), null)
                    {
                        Tag = SelectedItem
                    };
                }
            }
            else if (da.DisplayerType == DisplayerType.Screen)
            {
                OnDisplayerRequested();
            }
        }
Ejemplo n.º 3
0
        private void ButtonAddClick(object sender, EventArgs e)
        {
            try
            {
                Form form;

                switch (ViewedType.Name)
                {
                case nameof(AircraftWorkerCategory):
                    form = new AircraftWorkerCategoryForm(new AircraftWorkerCategory());
                    break;

                case nameof(Product):
                    form = new ProductForm(new Product());
                    break;

                case nameof(AccessoryRequired):
                    form = new KitForm(new AccessoryRequired());
                    break;

                default:
                {
                    var ci   = ViewedType.GetConstructor(Type.EmptyTypes);
                    var item = (BaseEntityObject)ci.Invoke(null);
                    form = new CommonEditorForm(item);
                    break;
                }
                }
                if (form.ShowDialog() == DialogResult.OK)
                {
                    itemsListView.Items[itemsListView.Items.IndexOf(itemsListView.SelectedItems[0])] =
                        new ListViewItem(GetListViewSubItems(SelectedItem), null)
                    {
                        Tag = SelectedItem
                    };
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while building new object", ex);
                return;
            }
        }
        private void ButtonAddClick(object sender, EventArgs e)
        {
            try
            {
                Form form;

                if (ViewedType.Name == typeof(AircraftWorkerCategory).Name)
                {
                    form = new AircraftWorkerCategoryForm(new AircraftWorkerCategory());
                }
                else if (ViewedType.Name == typeof(AccessoryDescription).Name)
                {
                    form = new AccessoryDescriptionForm(new AccessoryDescription());
                }
                else if (ViewedType.Name == typeof(AccessoryRequired).Name)
                {
                    form = new KitForm(new AccessoryRequired());
                }
                else
                {
                    ConstructorInfo  ci   = ViewedType.GetConstructor(new Type[0]);
                    BaseEntityObject item = (BaseEntityObject)ci.Invoke(null);
                    form = new CommonEditorForm(item);
                }
                if (form.ShowDialog() == DialogResult.OK)
                {
                    itemsListView.Items[itemsListView.Items.IndexOf(itemsListView.SelectedItems[0])] =
                        new ListViewItem(GetListViewSubItems(SelectedItem), null)
                    {
                        Tag = SelectedItem
                    };
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while building new object", ex);
                return;
            }
        }