Ejemplo n.º 1
0
        public async Task OpenScreenDetach(IDocument screen, string title)
        {
            if (screen == null)
            {
                return;
            }
            try
            {
                var ioc = DataHelpers.container;
                var vm  = ioc.Get <ViewManager>();
                var c   = await DetailViewModel.Create(screen, screen.GetType(), aggre, this);

                c.DisplayName = screen.CollectionName;
                var content = vm.CreateAndBindViewForModelIfNecessary(c);

                var cc = new ContentControl();
                cc.HorizontalAlignment = HorizontalAlignment.Stretch;
                cc.VerticalAlignment   = VerticalAlignment.Stretch;
                cc.Content             = content;

                GenericWindowViewModel gw = new GenericWindowViewModel(cc, c.DisplayName, screen.Name);

                windowManager.ShowDialog(gw);
            }
            catch (Exception s)
            {
                DataHelpers.Logger.LogError(s);
                DataHelpers.ShowMessage(s.Message);
                return;
            }
        }
Ejemplo n.º 2
0
        public async void Add()
        {
            if (ForSelectOnly)
            {
                selectedList  = Items.Where(a => (a as IDocument).IsSelectedd);
                ForSelectOnly = false;
                CloseWindows();
            }
            else
            {
                try
                {
                    selected = new T();

                    if (selected.DocOpenMod == OpenMode.Attach && ForSelectOnly == false)
                    {
                        //selected.CollectionName = displayName;
                        shell.OpenScreen(await DetailViewModel.Create(selected, selected.GetType(), aggre, shell), $"{this.DisplayName} | {selected.Name}");
                    }
                    else
                    {
                        var ioc = DataHelpers.container;
                        var vm  = ioc.Get <ViewManager>();
                        var c   = await DetailViewModel.Create(selected, selected.GetType(), aggre, shell);

                        await shell.OpenScreenDetach(selected, selected.Name);
                    }
                }
                catch (Exception s)
                {
                    DataHelpers.ShowMessage(s.Message + " " + s.StackTrace);
                    return;
                }
            }
        }
Ejemplo n.º 3
0
        public async void OpenScreenAttach(ExtendedDocument screen, string title)
        {
            try
            {
                var c = await DetailViewModel.Create(screen, screen.GetType(), aggre, this);

                c.DisplayName = screen.CollectionName;
                Items.Add(c);
                ActivateItem(c);
            }
            catch (Exception s)
            {
                MessageBox.Show(s.Message);
                return;
            }
        }
Ejemplo n.º 4
0
        public async void ouvrirItem()
        {
            try
            {
                if (selected != null)
                {
                    // Show for select item  only
                    if (ForSelectOnly)
                    {
                        selectedList  = Items.Where(a => a.IsSelectedd);
                        ForSelectOnly = false;
                        CloseWindows();
                    }
                    else
                    {
                        if (selected.DocOpenMod == OpenMode.Attach)
                        {
                            // selected.dis = displayName;
                            shell.OpenScreen(await DetailViewModel.Create(selected, selected.GetType(), aggre, shell), $"{selected.CollectionName} - {selected.Name}");
                        }
                        else
                        {
                            var ioc = DataHelpers.container;
                            var vm  = ioc.Get <ViewManager>();
                            var c   = await DetailViewModel.Create(selected, selected.GetType(), aggre, shell);

                            c.DisplayName = selected.CollectionName;
                            var content = vm.CreateAndBindViewForModelIfNecessary(c);

                            var cc = new ContentControl();
                            cc.HorizontalAlignment = HorizontalAlignment.Stretch;
                            cc.VerticalAlignment   = VerticalAlignment.Stretch;
                            cc.Content             = content;

                            GenericWindowViewModel gw = new GenericWindowViewModel(cc, displayName, selected.Name);
                            windowManager.ShowWindow(gw);
                        }
                    }
                }
            }
            catch (Exception s)
            {
                MessageQueue.Enqueue(s.Message);
                return;
            }
        }
Ejemplo n.º 5
0
        public async Task OpenModuleErp(ModuleErp module)
        {
            var displayname      = module.Libelle;
            var className        = module.ClassName;
            var iconImg          = module.ModuleIcon;
            var instance         = module.IsInstanceModule;
            var instanceFunction = module.InstanceFunction;


            var found = Items.FirstOrDefault(a => a.DisplayName == displayname);

            if (found != null)
            {
                ActivateItem(found);
            }
            else
            {
                if (instance == false)
                {
                    var baseView = DataHelpers.GetBaseViewModelScreen(Type.GetType(className), aggre, false);
                    baseView.DisplayName = displayname;
                    Items.Add(baseView);
                    ActivateItem(baseView);
                }
                else
                {
                    try
                    {
                        var one         = Activator.CreateInstance(Type.GetType(className));
                        var oneInstance = (ExtendedDocument)one.GetType()
                                          .GetMethod(instanceFunction).
                                          Invoke(one, null);
                        this.OpenScreen(await DetailViewModel.Create(oneInstance, oneInstance.GetType(), aggre, this), $"{displayname}");
                    }
                    catch (Exception s)
                    {
                        MessageBox.Show(s.Message);
                        return;
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public async void OpenScreenAttach(IDocument screen, string title)
        {
            if (screen == null)
            {
                return;
            }
            try
            {
                var c = await DetailViewModel.Create(screen, screen.GetType(), aggre, this);

                c.DisplayName = $"{screen.CollectionName} - {title}";
                //  Items.Add(c);
                ActivateItem(c);
            }
            catch (Exception s)
            {
                DataHelpers.ShowMessage(s.Message);
                return;
            }
        }
Ejemplo n.º 7
0
        public async void Add()
        {
            try
            {
                selected = new T();


                if (selected.DocOpenMod == OpenMode.Attach && ForSelectOnly == false)
                {
                    //selected.CollectionName = displayName;
                    shell.OpenScreen(await DetailViewModel.Create(selected, selected.GetType(), aggre, shell), $"{this.DisplayName} | {selected.Name}");
                }
                else
                {
                    var ioc = DataHelpers.container;
                    var vm  = ioc.Get <ViewManager>();
                    var c   = await DetailViewModel.Create(selected, selected.GetType(), aggre, shell);

                    await shell.OpenScreenDetach(selected, selected.Name);

                    //var content = vm.CreateAndBindViewForModelIfNecessary(c);

                    //var cc = new ContentControl();
                    //cc.HorizontalAlignment = HorizontalAlignment.Stretch;
                    //cc.VerticalAlignment = VerticalAlignment.Stretch;
                    //cc.Content = content;

                    //GenericWindowViewModel gw = new GenericWindowViewModel(cc, displayName, selected.Name);
                    //windowManager.ShowWindow(gw);
                }
            }
            catch (Exception s)
            {
                MessageBox.Show(s.Message);
                return;
            }
        }
 private void Create(object sender, RoutedEventArgs e)
 {
     _detailViewModel.Create(_parentID);
 }
Ejemplo n.º 9
0
 public async void OpenInstance(ExtendedDocument doc)
 {
     this.OpenScreen(await DetailViewModel.Create(doc, doc.GetType(), aggre, this), $"{doc.CollectionName} - {doc.Name}");
 }
Ejemplo n.º 10
0
        public async void MenuItemChange(object sender, EventArgs args)
        {
            try
            {
                var nodeZ = (sender as TextBlock).GetBindingExpression(TextBlock.TextProperty).DataItem as TreeViewItemEx;//.NodeXml;

                var node        = nodeZ.NodeXml;
                var modelHeader = node.Attributes["header"].Value;
                var modelClass  = node.Attributes["class"].Value;
                var modelIcon   = node.Attributes["icon"].Value;
                var ins         = node.Attributes["instance"];



                var found = Items.FirstOrDefault(a => a.DisplayName == modelHeader);
                if (found != null)
                {
                    ActivateItem(found);
                }
                else
                {
                    if (ins == null)
                    {
                        //Type d1 = typeof(BaseViewModel<>);
                        //Console.Write(d1.GetGenericTypeDefinition());
                        //Console.WriteLine(d1.GenericTypeArguments);
                        //Type[] typeArgs = { Type.GetType(modelClass) } ;
                        //Type makeme = d1.MakeGenericType(typeArgs);
                        //dynamic baseViewModel = Activator.CreateInstance(makeme,new object[]{ aggre,false});
                        //var control = baseViewModel;
                        //var screnn = control as IScreen;
                        //screnn.AttachView(new BaseView());
                        //// List<string> itsMe = o as List<string>;

                        var baseView = DataHelpers.GetBaseViewModelScreen(Type.GetType(modelClass), aggre, false);
                        // var control = await BaseViewModel.Create(Type.GetType(modelClass), this, aggre, windowManager);
                        baseView.DisplayName = modelHeader;

                        Items.Add(baseView);
                        ActivateItem(baseView);
                    }
                    else
                    {
                        try
                        {
                            var isntance    = ins.Value;
                            var one         = Activator.CreateInstance(Type.GetType(modelClass));
                            var oneInstance = (ExtendedDocument)one.GetType()
                                              .GetMethod(isntance).
                                              Invoke(one, null);
                            this.OpenScreen(await DetailViewModel.Create(oneInstance, oneInstance.GetType(), aggre, this), $"{modelHeader}");
                        }
                        catch (Exception s)
                        {
                            MessageBox.Show(s.Message);
                            return;
                        }
                    }
                }
            }
            catch (Exception s)
            {
                MessageBox.Show($@"Erreur de navigation!! contactez le fournisseur
                        {s.Message}", "Error !", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            collapseMenu();
        }
Ejemplo n.º 11
0
        public async Task OpenModuleErp(ModuleErp module)
        {
            var displayname      = module.Libelle;
            var className        = module.ClassName;
            var iconImg          = module.ModuleIcon;
            var instance         = module.IsInstanceModule;
            var instanceFunction = module.InstanceFunction;

            //var found = Items.FirstOrDefault(a => a.DisplayName == displayname);
            //if (found != null)
            //{
            //    ActivateItem(found);
            //}
            //else
            //{
            if (instance == false)
            {
                //var type_ = Type.GetType(className);
                try
                {
                    Type atype = DataHelpers.GetTypesModule.Resolve(className);
                    if (atype == null)
                    {
                        return;
                    }
                    //  var fqn = type_.FullName;
                    var baseView = await DataHelpers.GetBaseViewModelScreen(atype, aggre, false);

                    baseView.DisplayName = displayname;
                    //     Items.Add(baseView);
                    ActivateItem(baseView);
                }
                catch (Exception s)
                {
                    DataHelpers.ShowMessageError(s);
                }
            }
            else
            {
                try
                {
                    Type type = DataHelpers.GetTypesModule.Resolve(className);


                    var one         = Activator.CreateInstance(type); //Activator.CreateInstance(Type.GetType(className));
                    var oneInstance = (IDocument)one.GetType()
                                      .GetMethod(instanceFunction).
                                      Invoke(one, null);

                    if (oneInstance == null)
                    {
                        return;
                    }

                    this.OpenScreen(await DetailViewModel.Create(oneInstance, oneInstance.GetType(), aggre, this), $"{displayname}");
                }
                catch (Exception s)
                {
                    DataHelpers.ShowMessageError(s);
                    return;
                }
                //    }
            }
        }
Ejemplo n.º 12
0
        public async Task OpenMenuItem(TreeViewItemEx nodeZ)
        {
            var node        = nodeZ.NodeXml;
            var modelHeader = node.Attributes["header"].Value;
            var modelClass  = node.Attributes["class"].Value;
            var modelIcon   = node.Attributes["icon"].Value;
            var ins         = node.Attributes["instance"];

            try
            {
                // var found = Items.FirstOrDefault(a => a.DisplayName == modelHeader);
                //if (found != null)
                //{
                //    ActivateItem(found);
                //}
                //else
                //{
                if (ins == null)
                {
                    try
                    {
                        Type type = DataHelpers.GetTypesModule.Resolve(modelClass);
                        if (type == null)
                        {
                            return;
                        }

                        var baseView = await DataHelpers.GetBaseViewModelScreen(type, aggre, false);

                        // var control = await BaseViewModel.Create(Type.GetType(modelClass), this, aggre, windowManager);
                        baseView.DisplayName = modelHeader;

                        //  Items.Add(baseView);
                        ActivateItem(baseView);
                    }
                    catch (Exception s)
                    {
                        DataHelpers.ShowMessageError(s);
                    }
                }
                else
                {
                    try
                    {
                        var  isntance = ins.Value;
                        Type t        = DataHelpers.GetTypesModule.Resolve(modelClass);
                        if (t == null)
                        {
                            return;
                        }

                        var one         = Activator.CreateInstance(t);
                        var oneInstance = (IDocument)one.GetType()
                                          .GetMethod(isntance).
                                          Invoke(one, null);

                        if (oneInstance == null)
                        {
                            return;
                        }

                        this.OpenScreen(await DetailViewModel.Create(oneInstance, oneInstance.GetType(), aggre, this), $"{modelHeader}");
                    }
                    catch (Exception s)
                    {
                        DataHelpers.ShowMessageError(s);
                        return;
                    }
                }
                //   }
            }
            catch (Exception s)
            {
                DataHelpers.ShowMessage(s.Message);
            }
        }