public List <EmpresaDeclarante> GetEmpresas() { dgEmpresas.ItemsSource = null; dgEmpresas.Items.Clear(); DataTable dataTable = readGeneralData.GetDataTable("[sysfox].[Read_List_DatosFox]"); // Obtener SOLO la lista de empresas de DatosFox DataRow row; EmpresaDeclarante empresaDeclarante; if (dataTable.Rows.Count > 0) { for (int i = 0; i < dataTable.Rows.Count; i++) { row = dataTable.Rows[i]; empresaDeclarante = new EmpresaDeclarante() { _Selectable = false, _IdDatosFox = Convert.ToInt16(row["IdDatosFox"].ToString()), _NombreModulo = row["NombreModulo"].ToString(), _CodigoEmpresa = row["CodigoEmpresa"].ToString(), _IdEmisor = Convert.ToInt32(row["IdEmisor"].ToString()), _NroDocumento = row["NroDocumento"].ToString(), _NombreLegal = row["NombreLegal"].ToString() }; empresaDeclarantes.Add(empresaDeclarante); } } return(empresaDeclarantes); }
private void chbEmpresaPorCelda_Unchecked(object sender, RoutedEventArgs e) { CheckBox checkBox = (CheckBox)e.OriginalSource; DataGridRow dataGridRow = VisualTreeHelpers.FindAncestor <DataGridRow>(checkBox); EmpresaDeclarante empresaDeclarante = (EmpresaDeclarante)dataGridRow.DataContext; empresaDeclarante._Selectable = false; }
private void btnSelecionar_Click(object sender, RoutedEventArgs e) { int cantidadSeleccionados = 0; EmpresaDeclarante empresaSeleccionada = new EmpresaDeclarante(); foreach (var empresaDeclarante in empresaDeclarantes) { if (empresaDeclarante._Selectable == true) { cantidadSeleccionados++; } } switch (cantidadSeleccionados) { case 0: MessageBox.Show("Debe seleccionar una empresa.", "Ninguna selección detectada", MessageBoxButton.OK, MessageBoxImage.Information); break; case 1: foreach (var empresaDeclarante in empresaDeclarantes) { if (empresaDeclarante._Selectable == true) { DataTable dataTable = readGeneralData.GetDataTable("[dbo].[Verify_User_Empresa]", "@IdDatosFox", empresaDeclarante._IdDatosFox, "@IdUsuario", data_Usuario.IdUsuario); if (dataTable.Rows.Count > 0) { MessageBox.Show( $" Ya has registrado datos de acceso a Sunat con esta empresa, y con este mismo usuario: {data_Usuario.IdUsuario}, " + $" en caso de querer actualizar estos datos, debe hacerlo directamente en la opción de 'Configuración de sistema ->" + $" Información del declarante' seleccione la empresa, y pulse 'Actualizar accesos sunat'", "Duplicado de empresa", MessageBoxButton.OK, MessageBoxImage.Warning); } else { Declarante declarante = new Declarante(empresaDeclarante._IdEmisor, empresaDeclarante._IdDatosFox, data_Usuario); declarante.Show(); } break; // Bandera al encontrar la empresa seleccionada } } break; default: // Mayor a una selección MessageBox.Show("Debe seleccionar sólo una empresa a la vez.", "Más de una selección detectada", MessageBoxButton.OK, MessageBoxImage.Exclamation); break; } }