Пример #1
0
        public async void ChangeViewModel(object param)
        {
            if (param != null)
            {
                if (StaticSourcesViewModel.SourceChanged)
                {
                    if (await(_dialogCoordinator.ShowMessageAsync(this, "Advertencia", "Hay cambios sin guardar, ¿Seguro que desea salir sin guardar?", MahApps.Metro.Controls.Dialogs.MessageDialogStyle.AffirmativeAndNegative)) == MahApps.Metro.Controls.Dialogs.MessageDialogResult.Affirmative)
                    {
                        StaticSourcesViewModel.SourceChanged = false;
                    }
                    else
                    {
                        return;
                    }
                }

                var params1 = (object[])param;
                var model   = Type.GetType((params1[0]).ToString());
                var view    = Type.GetType((params1[1]).ToString());
                if (model == null || view == null)
                {
                    return;
                }
                object vistamodelo = null;
                switch (model.Name)
                {
                case "CatAlmacenViewModel":
                case "CatProducto_CategoriaViewModel":
                case "CatProducto_SubCategoriaViewModel":
                case "CatProducto_TipoViewModel":
                case "CatProductoViewModel":
                case "CapturaOCViewModel":
                case "CalendarizacionViewModel":
                case "EntradasAlmacenesViewModel":
                case "RegistroTraspasosExternosViewModel":
                case "RequisicionExtraordinariaPrincipalViewModel":
                    //var controller = await _dialogCoordinator.ShowProgressAsync(this, "Por favor espere un momento", string.Empty);
                    StaticSourcesViewModel.ShowProgressLoading();
                    await Task.Factory.StartNew(() => {
                        vistamodelo = Activator.CreateInstance(model, new object[] { DialogCoordinator.Instance, Usuario });
                    });

                    StaticSourcesViewModel.CloseProgressLoading();
                    ContentControlBag = new ContentControlBag(Activator.CreateInstance(view), vistamodelo);
                    break;

                default:
                    StaticSourcesViewModel.ShowProgressLoading();
                    await Task.Factory.StartNew(() => {
                        vistamodelo = Activator.CreateInstance(model, new object[] { DialogCoordinator.Instance });
                    });

                    StaticSourcesViewModel.CloseProgressLoading();
                    ContentControlBag = new ContentControlBag(Activator.CreateInstance(view), vistamodelo);
                    break;
                }
            }
        }
Пример #2
0
        private async void OnLoad(object sender)
        {
            PopUpsViewModels.MainWindow = (Views.Principal.PrincipalView)(sender);
            object vistamodelo = null;
            var    model       = Type.GetType("GESAL.ViewModels.BandejaEntradaViewModel");
            var    view        = Type.GetType("GESAL.Views.BandejaEntradaView");

            StaticSourcesViewModel.ShowProgressLoading();
            await Task.Factory.StartNew(() =>
            {
                vistamodelo = Activator.CreateInstance(model, new object[] { Usuario });
            });

            StaticSourcesViewModel.CloseProgressLoading();
            ContentControlBag = new ContentControlBag(Activator.CreateInstance(view), vistamodelo);
        }