public override void Configurar()
        {
            base.Configurar();
            Func <Servicios.DTO.Proveedores.OrdenDeCompra> nuevo = delegate
            {
                var vistaNuevo = new BaseVentanaDialogo();
                vistaNuevo.VistaPrincipal.Content = new VistaProveedorNuevoOrdenDeCompra();
                var presentador = new VMSeleccionaProveedor()
                {
                    Ventana = vistaNuevo
                };
                vistaNuevo.DataContext = presentador;
                vistaNuevo.ShowDialog();
                if (presentador.SeleccionOk)
                {
                    var ordenDeCompra = this.Servicio.CrearConParametros(Sistema.Instancia.EmpresaActual.Codigo, presentador.ObtenerIds()).GetEntidad();
                    if (ordenDeCompra.Detalle == null)
                    {
                        Mensajes.Error("Proveedor no tiene plantilla o lista de precios. No se Puede continuar.");
                        ordenDeCompra.Detalle = new System.Data.DataTable();
                    }
                    return(ordenDeCompra);
                }
                else
                {
                    return(null);
                }
            };

            this.CmdNuevo = new RelayCommand(m => TryCatch.Intentar(i => this.Editar(nuevo()), this.PuedeCrearNuevo()));
        }
        public override void Configurar()
        {
            base.Configurar();
            Func <Servicios.DTO.Proveedores.OrdenDePago> nuevo = delegate
            {
                var vistaNuevo = new BaseVentanaDialogo();
                vistaNuevo.VistaPrincipal.Content = new VistaListaProveedorNuevo();
                var presentador = new VMSeleccionaProveedor()
                {
                    Ventana = vistaNuevo
                };
                vistaNuevo.DataContext = presentador;
                vistaNuevo.ShowDialog();
                if (presentador.SeleccionOk)
                {
                    var ordenDeCompra = this.Servicio.CrearConParametros(Sistema.Instancia.EmpresaActual.Codigo, presentador.ObtenerIds());
                    return(ordenDeCompra.GetEntidad());
                }
                else
                {
                    return(null);
                }
            };

            this.CmdNuevo = new RelayCommand(m => TryCatch.Intentar(i => this.Editar(nuevo()), this.PuedeCrearNuevo()));
        }