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; } }
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; } } }
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; } }
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; } }
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; } } } }
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; } }
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); }
public async void OpenInstance(ExtendedDocument doc) { this.OpenScreen(await DetailViewModel.Create(doc, doc.GetType(), aggre, this), $"{doc.CollectionName} - {doc.Name}"); }
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(); }
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; } // } } }
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); } }