/********************************************************************************************************************************
        *****************************************************    Metodo PRINCIPAL  ******************************************************
        *********************************************************************************************************************************/

        //es el metodo que corre cuando se dispara el evento de recibir respuesta, aqui van todas las respuestas
        //con los codigos que le pertenecen, consultar TABLA DE PETICIONES.XLSX

        private void Wrapper_AgregarPeticionCompleted(object sender, ServiceReference.AgregarPeticionCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                string temp = e.Result.Substring(0, 3);
                string recievedResponce = e.Result.Substring(3);
                if (recievedResponce == "False")
                {
                    if (flags[2])
                    {
                        flags[2] = false;
                        MessageBox.Show("Ha ocurrido un error.  Intente su consulta de nuevo.\nSi el problema persiste, refresque la pagina e intente de nuevo.");
                    }
                }
                else
                {
                    switch (temp)
                    {
                        case "p21"://Get datos Afiliado
                            if (flags[0])
                            {
                                flags[0] = false;
                                if (recievedResponce != "")
                                {
                                    afiliado = MainPage.tc.getAfiliado(recievedResponce);

                                    numeroCertificado_txt.Text = afiliado.certificadoCuenta.ToString();
                                    pNombre_txt.Text = afiliado.primerNombre;
                                    sNombre_txt.Text = afiliado.segundoNombre;
                                    pApellido_txt.Text = afiliado.primerApellido;
                                    sApellido_txt.Text = afiliado.segundoApellido;
                                    direccion_txt.Text = afiliado.direccion;
                                    id_txt.Text = afiliado.identidad;
                                    genero_txt.Text = afiliado.genero;
                                    try
                                    {
                                        telefono_txt.Text = afiliado.telefonoPersonal[0];
                                        telefono2_txt.Text = afiliado.telefonoPersonal[1];
                                        celular_txt.Text = afiliado.celular[0];
                                        celular2_txt.Text = afiliado.celular[1];
                                    }
                                    catch { }
                                    profesion_txt.Text = afiliado.Ocupacion;
                                    email_txt.Text = afiliado.CorreoElectronico;
                                    lugarNacimiento_txt.Text = afiliado.lugarDeNacimiento;
                                    fechaNacimiento_txt.Text = afiliado.fechaNacimiento;
                                    estadoCivil_txt.Text = afiliado.estadoCivil;
                                    estadoAfiliado_txt.Text = afiliado.EstadoAfiliado;

                                    empresa_txt.Text = afiliado.NombreEmpresa;
                                    fechaIngresoEmpresa_txt.Text = afiliado.fechaIngresoCooperativa;
                                    telefonoEmpresa_txt.Text = afiliado.TelefonoEmpresa;
                                    departamentoEmpresa_txt.Text = afiliado.DepartamentoEmpresa;
                                    direccionEmpresa_txt.Text = afiliado.DireccionEmpresa;

                                    beneficiarioNormal = afiliado.bensNormales;
                                    beneficiarioContingencia = (BeneficiarioContingencia)afiliado.BeneficiarioCont;

                                    foreach (BeneficiarioNormal item in beneficiarioNormal)
                                    {
                                        listaBeneficiarios.Add(new BeneficiarioGrid()
                                        {
                                            PrimerNombre = item.primerNombre,
                                            SegundoNombre = item.segundoNombre,
                                            PrimerApellido = item.primerApellido,
                                            SegundoApellido = item.segundoApellido,
                                            NumeroIdentidad = item.identidad,
                                            Fecha_Nacimiento = item.fechaNacimiento,
                                            Genero = item.genero,
                                            Direccion = item.direccion,
                                            Parentesco = item.Parentesco,
                                            PorcentajeSeguros = item.porcentajeSeguros,
                                            PorcentajeAportaciones = item.porcentajeAportaciones,
                                            TipoBeneficiario = "Normal",
                                        });
                                    }

                                    //Este es el Beneficiario de Contingencia
                                    listaBeneficiarios.Add(new BeneficiarioGrid()
                                    {
                                        PrimerNombre = beneficiarioContingencia.primerNombre,
                                        SegundoNombre = beneficiarioContingencia.segundoNombre,
                                        PrimerApellido = beneficiarioContingencia.primerApellido,
                                        SegundoApellido = beneficiarioContingencia.segundoApellido,
                                        NumeroIdentidad = beneficiarioContingencia.identidad,
                                        Fecha_Nacimiento = beneficiarioContingencia.fechaNacimiento,
                                        Genero = beneficiarioContingencia.genero,
                                        Direccion = beneficiarioContingencia.direccion,
                                        Parentesco = beneficiarioContingencia.Parentesco,
                                        TipoBeneficiario = "De Contingencia",
                                        PorcentajeAportaciones = 100,
                                        PorcentajeSeguros = 100
                                    });

                                    gridBeneficiarios.ItemsSource = listaBeneficiarios;
                                }
                                else
                                {
                                    MessageBox.Show("No se ha encontrado el registro!");
                                }
                            }
                            break;

                        case "p22"://Get datos Empleados
                            if (flags[1])
                            {
                                flags[1] = false;
                                if (recievedResponce != "")
                                {
                                    datosLaborales_tab.IsEnabled = false;
                                    beneficiarios_tab.IsEnabled = false;
                                    empleado = MainPage.tc.getEmpleado(recievedResponce);

                                    label20.Content = "";
                                    numeroCertificado_txt.Text = "";
                                    pNombre_txt.Text = empleado.primerNombre;
                                    sNombre_txt.Text = empleado.segundoNombre;
                                    pApellido_txt.Text = empleado.primerApellido;
                                    sApellido_txt.Text = empleado.segundoApellido;
                                    direccion_txt.Text = empleado.direccion;
                                    id_txt.Text = empleado.identidad;
                                    genero_txt.Text = empleado.genero;
                                    telefono_txt.Text = empleado.telefonoPersonal[0];
                                    celular_txt.Text = empleado.celular[0];
                                    profesion_txt.Text = "";
                                    puesto_txt.Text = empleado.Puesto;
                                    email_txt.Text = empleado.correoElectronico;
                                    lugarNacimiento_txt.Text = "";
                                    fechaNacimiento_txt.Text = empleado.fechaNacimiento;
                                    estadoCivil_txt.Text = empleado.estadoCivil;
                                }
                                else
                                {
                                    MessageBox.Show("No se ha encontrado el registro!");
                                }

                            }
                            break;

                        default:
                            if (flags[2])
                            {
                                flags[2] = false;
                                MessageBox.Show("No se entiende la peticion. (No esta definida)");
                            }
                            break;
                    }
                }
            }
            else
            {
                if (flags[2])
                {
                    flags[2] = false;
                    MessageBox.Show("Ha ocurrido un error.  Intente su consulta de nuevo.\nSi el problema persiste, refresque la pagina e intente de nuevo.");
                }
            }
        }
        public void getDatosEmpleado(string recievedResponce)
        {
            empleado = MainPage.tc.getEmpleado(recievedResponce);

            pNombre_txt.Text = empleado.primerNombre;
            sNombre_txt.Text = empleado.segundoNombre;
            pApellido_txt.Text = empleado.primerApellido;
            sApellido_txt.Text = empleado.segundoApellido;
            direccion_txt.Text = empleado.direccion;
            id_txt.Text = empleado.identidad;
            genero_txt.Text = empleado.genero;
            telefono_txt.Text = empleado.telefonoPersonal[0];
            celular_txt.Text = empleado.celular[0];
            profesion_txt.Text = "";
            puesto_txt.Text = empleado.Puesto;
            email_txt.Text = empleado.correoElectronico;
            lugarNacimiento_txt.Text = "";
            fechaNacimiento_txt.Text = empleado.fechaNacimiento;
            estadoCivil_txt.Text = empleado.estadoCivil;
            if (empleado.Administrador == "True")
            {
                esUsuarioAdmin_chk.IsChecked = true;
            }
            else if (empleado.Administrador == "False")
            {
                esUsuarioNorm_chk.IsChecked = true;
            }
        }