コード例 #1
0
        public static object Execute(Type classe, object objeto,
                                     AbstractSelecao selecao = null)
        {
            var clasLista = new Type[] { classe };
            var argsLista = new object[] { selecao };

            var viewLista = TypeForConvert
                            .GetObjectForArg(typeof(AbstractViewLista <>), clasLista, argsLista) as AbstractViewLista;

            if (TelaUtils.Instance.AbrirDialog(viewLista, isFullScreen: true) == true)
            {
                return(null);
            }

            var vmLista = viewLista.DataContext as IAbstractViewModel;

            if (!vmLista.IsConfirmado)
            {
                return(null);
            }

            if (selecao?.IsSelecao ?? false)
            {
                return(vmLista.Lista.GetListaSelecaoItemCodigo());
            }

            return(ObjetoMapper.GetObjetoRetorno(vmLista.Model.GetType(), vmLista.Model));
        }
コード例 #2
0
ファイル: AbstractLista.xaml.cs プロジェクト: galegin/MORM
        private void CreateComps(IAbstractViewModel vm, object filtro = null,
                                 AbstractSelecao selecao = null)
        {
            DataContext = vm;

            this.AddPainel(new DockPanel());

            if (filtro != null)
            {
                this.AddPainel(filtro, dock: Dock.Top);
            }

            var dataGrid = new AbstractDataGrid(isReadOnly: !selecao?.IsSelecao ?? true);

            dataGrid.SetBindingDataGridLista(vm);
            dataGrid.SetBindingDataGridModel(vm);
            this.AddPainel(dataGrid);

            vm.Grade = dataGrid; // para uso de report

            //var style = FindResource("DataGridCellStyle") as Style;

            GetMetadata(vm, selecao)
            .GetCamposIgnore()
            .ForEach(campo =>
            {
                campo.IsEditar = selecao.IsEditavel(campo.Prop.Name);
                dataGrid.Columns.Add(GetDataGridColumn(campo));
            });
        }
コード例 #3
0
ファイル: AbstractLista.xaml.cs プロジェクト: galegin/MORM
 private Metadata GetMetadata(IAbstractViewModel vm,
                              AbstractSelecao selecao = null)
 {
     return(selecao != null?selecao.GetMetadata(vm) :
                vm.ElementType.GetMetadata());
 }
コード例 #4
0
ファイル: AbstractLista.xaml.cs プロジェクト: galegin/MORM
 public AbstractLista(IAbstractViewModel vm, object filtro = null,
                      AbstractSelecao selecao = null) : this()
 {
     CreateComps(vm, filtro, selecao);
 }