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)); }
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)); }); }
private Metadata GetMetadata(IAbstractViewModel vm, AbstractSelecao selecao = null) { return(selecao != null?selecao.GetMetadata(vm) : vm.ElementType.GetMetadata()); }
public AbstractLista(IAbstractViewModel vm, object filtro = null, AbstractSelecao selecao = null) : this() { CreateComps(vm, filtro, selecao); }