private void btn_Agregar_Click(object sender, RoutedEventArgs e) { try { FuncionarioBase registro = new FuncionarioBase(); if ((Enum_Tipo_Funcionario)cbo_TipoFuncionario.SelectedValue == Enum_Tipo_Funcionario.Técnico) { FuncionarioTecnico _FuncionarioTecnico = new FuncionarioTecnico(); _FuncionarioTecnico.Turnos = int.Parse(txt_Tecnico_Turnos.Text); _FuncionarioTecnico.Enum_Tecnico_Rotacion = (Enum_Tecnico_Rotacion)cbo_Tecnico_Rotacion.SelectedValue; _FuncionarioTecnico.Enum_Tipo_Funcionario = (Enum_Tipo_Funcionario)cbo_TipoFuncionario.SelectedValue; registro = _FuncionarioTecnico; } if ((Enum_Tipo_Funcionario)cbo_TipoFuncionario.SelectedValue == Enum_Tipo_Funcionario.Profesional) { FuncionarioProfesional _FuncionarioProfesional = new FuncionarioProfesional(); _FuncionarioProfesional.TenicosACargo = int.Parse(txt_Profesional_TecnicosACargo.Text); _FuncionarioProfesional.CursoEspecializacion = txt_Profesional_Especializacion.Text; _FuncionarioProfesional.Enum_Tipo_Funcionario = (Enum_Tipo_Funcionario)cbo_TipoFuncionario.SelectedValue; registro = _FuncionarioProfesional; } if ((Enum_Tipo_Funcionario)cbo_TipoFuncionario.SelectedValue == Enum_Tipo_Funcionario.Especialista) { FuncionarioEspecialista _FuncionarioEspecialista = new FuncionarioEspecialista(); _FuncionarioEspecialista.AniosEspecializacion = int.Parse(txt_Especialista_AniosEspecializacion.Text); _FuncionarioEspecialista.Enum_Tipo_Funcionario = (Enum_Tipo_Funcionario)cbo_TipoFuncionario.SelectedValue; registro = _FuncionarioEspecialista; } registro.Rut = txt_Rut.Text; registro.Enum_Genero = (Enum_Genero)cbo_Genero.SelectedValue; registro.FechaNacimiento = (DateTime)dtp_Fecha_Nacimiento.SelectedDate; registro.FechaContratacion = (DateTime)dtp_Fecha_Contrato.SelectedDate; registro.SueldoBase = int.Parse(txt_SueldoBase.Text); registro.Jefatura.Rut = txt_Jefatura_Rut.Text; registro.Jefatura.FechaNacimiento = (DateTime)dtp_Jefatura_Fecha_Nacimiento.SelectedDate; registro.Jefatura.Enum_Jefatura_Estudios = (Enum_Jefatura_Estudios)cbo_Jefatura_Estudios.SelectedValue; registro.Jefatura.NombreJefe = txt_Jefatura_Nombre_Jefe.Text; registro.NombreJefe(); ListadoFuncionarios.Add(registro); dg_Mostrar.ItemsSource = ListadoFuncionarios; dg_Mostrar.Items.Refresh(); } catch (Exception ex) { MessageBox.Show(string.Format("Error {0}", ex.Message)); } }
static void Main(string[] args) { FuncionarioBase func = new FuncionarioBase(); func.Rut = "12314861-1"; func.Enum_Genero = Enum_Genero.Femenino; func.FechaNacimiento = new DateTime(1990, 01, 01); func.Enum_Tipo_Funcionario = Enum_Tipo_Funcionario.Especialista; func.Jefatura.NombreJefe = "Jose Risopatron"; Console.WriteLine(func.MostrarDatos()); Console.ReadLine(); }