private void btnNuevo_Click(object sender, RoutedEventArgs e)
        {
            SalidaRenta dlg = new SalidaRenta();
            MovimientoGridSalidaRentaViewModel viewModel = this.DataContext as MovimientoGridSalidaRentaViewModel;

            dlg.DataContext = new SalidaRentaViewModel(viewModel);
            dlg.ShowDialog();
        }
        public SalidaRentaViewModel(MovimientoGridSalidaRentaViewModel salida)
        {
            try
            {
                IDataMapper dataMapper   = new SolicitanteDataMapper();
                IDataMapper dataMapper2  = new AlmacenDataMapper();
                IDataMapper dataMapper3  = new ProveedorDataMapper();
                IDataMapper dataMapper4  = new ClienteDataMapper();
                IDataMapper dataMapper5  = new ServicioDataMapper();
                IDataMapper dataMapper6  = new TipoPedimentoDataMapper();
                IDataMapper dataMapper7  = new TransporteDataMapper();
                IDataMapper dataMapper8  = new TecnicoDataMapper();
                IDataMapper datamapper11 = new EmpresaDataMapper();

                this._catalogEmpresaModel     = new CatalogEmpresaModel(datamapper11);
                this._catalogSolicitanteModel = new CatalogSolicitanteModel(dataMapper);
                this._movimientoModel         = new MovimientoSalidasModel(new MovimientoDataMapper(), salida.ActualUser);
                TIPO_MOVIMIENTO mov = new TIPO_MOVIMIENTO();
                mov.UNID_TIPO_MOVIMIENTO             = 5;
                this._movimientoModel.TipoMovimiento = mov;
                this._movimientoSalida = salida;
                this._movimientoModel.PropertyChanged += OnPropertyChanged2;
                this._itemModel = new CatalogItemModel(new ItemDataMapper());
                this._catalogAlmacenDestinoModel     = new CatalogAlmacenModel(dataMapper2);
                this._catalogAlmacenProcedenciaModel = new CatalogAlmacenModel(dataMapper2);
                this._catalogProveedorDestinoModel   = new CatalogProveedorModel(dataMapper3);
                this._catalogClienteDestinoModel     = new CatalogClienteModel(dataMapper4);
                this._catalogServicioModel           = new CatalogServicioModel(dataMapper5);
                this._catalogTipoPedimentoModel      = new CatalogTipoPedimentoModel(dataMapper6);
                this._catalogTransporteModel         = new CatalogTransporteModel(dataMapper7);
                this._catalogClienteModel            = new CatalogClienteModel(dataMapper4);
                this._catalogTecnicoModel            = new CatalogTecnicoModel(dataMapper8);

                //Asignaciones especiales para los combos
                this._movimientoModel.Empresa     = _catalogEmpresaModel.Empresa[0];
                this._movimientoModel.Solicitante = _catalogSolicitanteModel.Solicitante[0];
                //this._movimientoModel.Servicio = _catalogServicioModel.Servicio[0];
                //this._movimientoModel.Cliente = _catalogClienteModel.Cliente[0];
                this._movimientoModel.AlmacenProcedencia = _catalogAlmacenProcedenciaModel.Almacen[0];
                this._movimientoModel.Tecnico            = _movimientoModel.Tecnicos[0];
                this._movimientoModel.AlmacenDestino     = _catalogAlmacenDestinoModel.Almacen[0];
                this._movimientoModel.ClienteDestino     = _catalogClienteDestinoModel.Cliente[0];
                this._movimientoModel.ProveedorDestino   = _catalogProveedorDestinoModel.Proveedor[0];
                this._movimientoModel.Transporte         = _catalogTransporteModel.Transporte[0];
                this._IsEnabled = true;
            }
            catch (ArgumentException a)
            {
                ;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private void dtGridMovimiento_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if (sender != null)
     {
         DataGrid dg = sender as DataGrid;
         if (dg != null && dg.SelectedItems != null && dg.SelectedItems.Count == 1)
         {
             SalidaRentaSoloLectura readOnly = new SalidaRentaSoloLectura();
             try
             {
                 MovimientoGridSalidaRentaViewModel sololectura = new MovimientoGridSalidaRentaViewModel("solo lectura");
                 sololectura          = this.DataContext as MovimientoGridSalidaRentaViewModel;
                 readOnly.DataContext = sololectura.CreateReadOnlySalidaRentaViewModel();
                 readOnly.ShowDialog();
             }
             catch (Exception ex)
             {
                 throw ex;
             }
         }
     }
 }