public wnwContactos(int pPersona)
        {
            InitializeComponent();
            PersonaMantenimiento persona = new PersonaMantenimiento();
            pk_persona = pPersona;
            List<SIGEEA_spObtenerContactoResult> listaContactos = persona.ListarContactos(pPersona);

            if (listaContactos.Count > 0)
            {
                stpContactos.Visibility = Visibility.Visible;
                txbVacio.Visibility = Visibility.Collapsed;
                foreach (SIGEEA_spObtenerContactoResult c in listaContactos)
                {
                    uc_Contacto contacto = new uc_Contacto();
                    contacto.Info = c.Dato_Contacto;
                    contacto.Color(color);
                    contacto.cambiaImagen("/Imagenes/" + c.Nombre_TipContacto + ".ico");
                    contacto.btnEditar.Click += BtnEditar_Click;
                    contacto.ContactoId = c.PK_Id_Contacto;
                    stpContactos.Children.Add(contacto);
                    color = !color;
                }
            }
            else
            {
                stpContactos.Visibility = Visibility.Collapsed;
                txbVacio.Visibility = Visibility.Visible;
            }
        }
 public wnwRegistrarPersona(string pTipoPersona, SIGEEA_spObtenerAsociadoResult pAsociado, SIGEEA_spObtenerEmpleadoResult pEmpleado, SIGEEA_spObtenerClienteResult pCliente)
 {
     InitializeComponent();
     tipoPersona = pTipoPersona;
     btnSiguiente.Click += BtnSiguiente_Click;
     btnRegistrar.Click += BtnRegistrar_Click;
     PersonaMantenimiento persona = new PersonaMantenimiento();
     //cbxNacionalidad.ItemsSource = persona.ListarNacionalidades();
     if (pAsociado != null)//Si se desea editar un asociado
     {
         editar = true;
         CargarInformacionAsociado(pAsociado);
         pk_Persona = pAsociado.PK_Id_Persona;
     }
     if (pEmpleado != null)//Si se desea editar un empleado
     {
         editar = true;
         CargarInformacionEmpleado(pEmpleado);
         pk_Persona = pEmpleado.PK_Id_Persona;
     }
     if (pCliente != null)//Si se desea editar un cliente
     {
         editar = true;
         CargarInformacionCliente(pCliente);
         pk_Persona = pCliente.PK_Id_Persona;
     }
 }
 public wnwRegistrarPersona(string pTipoPersona)
 {
     InitializeComponent();
     tipoPersona = pTipoPersona;
     btnRegistrar.Click += BtnRegistrar_Click;
     PersonaMantenimiento persona = new PersonaMantenimiento();
     cbxNacionalidad.ItemsSource = persona.ListarNacionalidades();
 }
 /// <summary>
 /// Registrar empleado (se registra primero la persona y luego el empleado)
 /// </summary>
 /// <param name="persona"></param>
 /// <param name="empleado"></param>
 public void RegistrarEmpleado(SIGEEA_Persona persona, SIGEEA_Empleado empleado)
 {
     DataClasses1DataContext dc = new DataClasses1DataContext();
     PersonaMantenimiento nuevaPersona = new PersonaMantenimiento();
     nuevaPersona.RegistrarPersona(persona);
     empleado.FK_Id_Persona = persona.PK_Id_Persona;
     dc.SIGEEA_Empleados.InsertOnSubmit(empleado);
     dc.SubmitChanges();
 }
        public wnwDirecciones(string pCedula_pCodigo, string tipoPersona, int pkFinca)
        {
            InitializeComponent();
            PersonaMantenimiento persona = new PersonaMantenimiento();
            DataClasses1DataContext dc = new DataClasses1DataContext();
            AsociadoMantenimiento asociado = new AsociadoMantenimiento();
            cmbProvincia.ItemsSource = persona.ListarProvinciasNacionales();//Se carga el ComboBox de provincias
            pk_finca = pkFinca;
            tipo = tipoPersona;
            if (tipoPersona == "Asociado")
            {
                if (asociado.DireccionRegistradaAsociado(pCedula: pCedula_pCodigo, pCodigo: null) == true)//Si el asociado tiene ya una dirección registrada
                {
                    CargaInformacion(tipoPersona, pCedula: pCedula_pCodigo, pCodigo: null, pIdFinca:null);
                    editar = true;
                }
                else
                {
                    MessageBox.Show("Este asociado no cuenta con ninguna dirección registrada. Puede registrarla a continuación.", "SIGEEA", MessageBoxButton.OK);
                    editar = false;
                    pk_persona = dc.SIGEEA_Personas.First(p => p.CedParticular_Persona == pCedula_pCodigo).PK_Id_Persona;
                }
            }
            else if (tipoPersona == "Empleado")
            {
                EmpleadoMantenimiento empleado = new EmpleadoMantenimiento();
                if (empleado.DireccionRegistradaEmpleado(pCedula_pCodigo) == true)// Si el empleado ya tiene una dirección registrada
                {
                    CargaInformacion(tipoPersona, pCedula: pCedula_pCodigo, pCodigo: null, pIdFinca:null);
                    editar = true;
                }
                else
                {
                    MessageBox.Show("Este empleado no cuenta con ninguna dirección registrada. Puede registrarla a continuación.", "SIGEEA", MessageBoxButton.OK);
                    editar = false;
                    pk_persona = dc.SIGEEA_Personas.First(p => p.CedParticular_Persona == pCedula_pCodigo).PK_Id_Persona;
                }
            }
            else if (tipoPersona == "Finca")
            {
                FincaMantenimiento finca = new FincaMantenimiento();
                if (finca.DireccionRegistradaFinca(pk_finca.ToString()) == true)// Si el empleado ya tiene una dirección registrada
                {
                    CargaInformacion(tipoPersona, pCedula: pCedula_pCodigo, pCodigo: null, pIdFinca: null);
                    editar = true;
                }
                else
                {
                    MessageBox.Show("Esta Finca no cuenta con ninguna dirección registrada. Puede registrarla a continuación.", "SIGEEA", MessageBoxButton.OK);
                    editar = false;

                }
            }
        }
 /// <summary>
 /// Registrar cliente (se registra primero la persona, y luego el cliente)
 /// </summary>
 /// <param name="persona"></param>
 /// <param name="cliente"></param>
 /// <param name="creCliente"></param>
 public void RegistrarCliente(SIGEEA_Persona persona, SIGEEA_Cliente cliente, SIGEEA_CreCliente creCliente)
 {
     DataClasses1DataContext dc = new DataClasses1DataContext();
     PersonaMantenimiento nuevaPersona = new PersonaMantenimiento();
     nuevaPersona.RegistrarPersona(persona);
     dc.SIGEEA_CreClientes.InsertOnSubmit(creCliente);
     cliente.FK_Id_Persona = persona.PK_Id_Persona;
     cliente.FK_Id_CreCliente = creCliente.PK_Id_CreCliente;
     dc.SIGEEA_Clientes.InsertOnSubmit(cliente);
     dc.SubmitChanges();
 }
        /// <summary>
        /// Modificar Cliente
        /// </summary>
        /// <param name="cliente"></param>
        /// <param name="creCliente"></param>
        /// <param name="persona"></param>
        public void ModificarCliente(int pkCategoria, SIGEEA_Persona pPersona)
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();

            SIGEEA_Cliente client = dc.SIGEEA_Clientes.First(c => c.FK_Id_Persona == pPersona.PK_Id_Persona);

            client.FK_Id_CatCliente = pkCategoria;
            PersonaMantenimiento nuevoMant = new PersonaMantenimiento();

            nuevoMant.ModificarPersona(pPersona);
            dc.SubmitChanges();
        }
 /// <summary>
 /// Registrar empleado (se registra primero la persona, la escolaridad y luego el empleado)
 /// </summary>
 /// <param name="persona"></param>
 /// <param name="empleado"></param>
 public void RegistrarEmpleado(SIGEEA_Persona persona, SIGEEA_Empleado empleado, SIGEEA_Escolaridad escolaridad)
 {
     DataClasses1DataContext dc = new DataClasses1DataContext();
     PersonaMantenimiento nuevaPersona = new PersonaMantenimiento();
     nuevaPersona.RegistrarPersona(persona);
     dc.SIGEEA_Escolaridads.InsertOnSubmit(escolaridad);
     dc.SubmitChanges();
     empleado.FK_Id_Persona = persona.PK_Id_Persona;
     empleado.FK_Id_Escolaridad = escolaridad.PK_Id_Escolaridad;
     empleado.Estado_Empleado = true;
     dc.SIGEEA_Empleados.InsertOnSubmit(empleado);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Registrar cliente (se registra primero la persona, y luego el cliente)
 /// </summary>
 /// <param name="persona"></param>
 /// <param name="cliente"></param>
 /// <param name="creCliente"></param>
 public void RegistrarCliente(SIGEEA_Persona persona, SIGEEA_Cliente cliente, int pkCategoria)
 {
     DataClasses1DataContext dc = new DataClasses1DataContext();
     PersonaMantenimiento nuevaPersona = new PersonaMantenimiento();
     nuevaPersona.RegistrarPersona(persona);
     dc.SubmitChanges();
     cliente.FK_Id_Persona = persona.PK_Id_Persona;
     cliente.FK_Id_CatCliente = pkCategoria;
     cliente.Estado_Cliente = true;
     cliente.FK_Id_Empresa = 1;
     dc.SIGEEA_Clientes.InsertOnSubmit(cliente);
     dc.SubmitChanges();
 }
 /// <summary>
 /// Modificar Cliente
 /// </summary>
 /// <param name="cliente"></param>
 /// <param name="creCliente"></param>
 /// <param name="persona"></param>
 public void ModificarCliente(SIGEEA_Cliente cliente, SIGEEA_CreCliente creCliente, SIGEEA_Persona persona)
 {
     DataClasses1DataContext dc = new DataClasses1DataContext();
     SIGEEA_Cliente client = dc.SIGEEA_Clientes.First(c => c.PK_Id_Cliente == cliente.PK_Id_Cliente);
     SIGEEA_Persona pers = dc.SIGEEA_Personas.First(c => c.PK_Id_Persona == cliente.FK_Id_Persona);
     SIGEEA_CreCliente cred = dc.SIGEEA_CreClientes.First(c => c.PK_Id_CreCliente == cliente.FK_Id_CreCliente);
     client.Categoria_Cliente = cliente.Categoria_Cliente;
     PersonaMantenimiento nuevoMant = new PersonaMantenimiento();
     nuevoMant.ModificarPersona(pers);
     cred.Limite_CreCliente = creCliente.Limite_CreCliente;
     cred.TieMaximo_CreCliente = creCliente.TieMaximo_CreCliente;
     cred.RanPagos_CreCliente = creCliente.RanPagos_CreCliente;
     dc.SubmitChanges();
 }
        /// <summary>
        /// Registrar cliente (se registra primero la persona, y luego el cliente)
        /// </summary>
        /// <param name="persona"></param>
        /// <param name="cliente"></param>
        /// <param name="creCliente"></param>
        public void RegistrarCliente(SIGEEA_Persona persona, SIGEEA_Cliente cliente, int pkCategoria)
        {
            DataClasses1DataContext dc           = new DataClasses1DataContext();
            PersonaMantenimiento    nuevaPersona = new PersonaMantenimiento();

            nuevaPersona.RegistrarPersona(persona);

            cliente.FK_Id_Persona    = persona.PK_Id_Persona;
            cliente.FK_Id_CatCliente = pkCategoria;
            cliente.Estado_Cliente   = true;
            cliente.FK_Id_Empresa    = 1;
            dc.SIGEEA_Clientes.InsertOnSubmit(cliente);
            dc.SubmitChanges();
        }
        /// <summary>
        /// Registrar empleado (se registra primero la persona, la escolaridad y luego el empleado)
        /// </summary>
        /// <param name="persona"></param>
        /// <param name="empleado"></param>
        public void RegistrarEmpleado(SIGEEA_Persona persona, SIGEEA_Empleado empleado, SIGEEA_Escolaridad escolaridad)
        {
            SIGEEA_DiagramaDataContext dc           = new SIGEEA_DiagramaDataContext();
            PersonaMantenimiento       nuevaPersona = new PersonaMantenimiento();

            nuevaPersona.RegistrarPersona(persona);
            dc.SIGEEA_Escolaridads.InsertOnSubmit(escolaridad);
            dc.SubmitChanges();
            empleado.FK_Id_Persona     = persona.PK_Id_Persona;
            empleado.FK_Id_Escolaridad = escolaridad.PK_Id_Escolaridad;
            empleado.Estado_Empleado   = true;
            empleado.FK_Id_Empresa     = 1;
            dc.SIGEEA_Empleados.InsertOnSubmit(empleado);
            dc.SubmitChanges();
        }
        /// <summary>
        /// Registrar asociado (se registra primero la persona y luego el asociado)
        /// </summary>
        /// <param name="persona"></param>
        /// <param name="asociado"></param>
        public void RegistrarAsociado(SIGEEA_Persona persona, SIGEEA_Asociado asociado)
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();
            PersonaMantenimiento nuevaPersona = new PersonaMantenimiento();
            nuevaPersona.RegistrarPersona(persona);
            asociado.FK_Id_Persona = persona.PK_Id_Persona;
            asociado.Codigo_Asociado = "F";
            asociado.Categoria_Asociado = 5;
            dc.SIGEEA_Asociados.InsertOnSubmit(asociado);
            dc.SubmitChanges();

            SIGEEA_Asociado modificarAsociado = new SIGEEA_Asociado();
            modificarAsociado = dc.SIGEEA_Asociados.First(c => c.PK_Id_Asociado == asociado.PK_Id_Asociado);
            modificarAsociado.Codigo_Asociado = "F" + modificarAsociado.PK_Id_Asociado.ToString() + persona.PriNombre_Persona[0] + persona.PriApellido_Persona[0] + persona.SegApellido_Persona[0];
            dc.SubmitChanges();
        }
        /// <summary>
        /// Edita la información personal y laboral de un empleado en particular
        /// </summary>
        /// <param name="pPersona"></param>
        /// <param name="pEscolaridad"></param>
        public void EditarEmpleado(SIGEEA_Persona pPersona, SIGEEA_Escolaridad pEscolaridad)
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();
            PersonaMantenimiento mantPersona = new PersonaMantenimiento();
            mantPersona.ModificarPersona(pPersona);

            SIGEEA_Empleado editarEmpleado = new SIGEEA_Empleado();
            editarEmpleado = dc.SIGEEA_Empleados.First(c => c.FK_Id_Persona == pPersona.PK_Id_Persona);

            SIGEEA_Escolaridad editarEscolaridad = new SIGEEA_Escolaridad();
            editarEscolaridad = dc.SIGEEA_Escolaridads.First(c => c.PK_Id_Escolaridad == editarEmpleado.FK_Id_Escolaridad);
            editarEscolaridad.GradoAcad_Escolaridad = pEscolaridad.GradoAcad_Escolaridad;
            editarEscolaridad.Leer_Escolaridad = pEscolaridad.Leer_Escolaridad;
            editarEscolaridad.Observaciones_Escolaridad = pEscolaridad.Observaciones_Escolaridad;
            editarEscolaridad.Escribir_Escolaridad = pEscolaridad.Escribir_Escolaridad;

            dc.SubmitChanges();
        }
        /// <summary>
        /// Edita la información personal y laboral de un empleado en particular
        /// </summary>
        /// <param name="pPersona"></param>
        /// <param name="pEscolaridad"></param>
        public void EditarEmpleado(SIGEEA_Persona pPersona, SIGEEA_Escolaridad pEscolaridad)
        {
            SIGEEA_DiagramaDataContext dc          = new SIGEEA_DiagramaDataContext();
            PersonaMantenimiento       mantPersona = new PersonaMantenimiento();

            mantPersona.ModificarPersona(pPersona);

            SIGEEA_Empleado editarEmpleado = new SIGEEA_Empleado();

            editarEmpleado = dc.SIGEEA_Empleados.First(c => c.FK_Id_Persona == pPersona.PK_Id_Persona);

            SIGEEA_Escolaridad editarEscolaridad = new SIGEEA_Escolaridad();

            editarEscolaridad = dc.SIGEEA_Escolaridads.First(c => c.PK_Id_Escolaridad == editarEmpleado.FK_Id_Escolaridad);
            editarEscolaridad.GradoAcad_Escolaridad     = pEscolaridad.GradoAcad_Escolaridad;
            editarEscolaridad.Leer_Escolaridad          = pEscolaridad.Leer_Escolaridad;
            editarEscolaridad.Observaciones_Escolaridad = pEscolaridad.Observaciones_Escolaridad;
            editarEscolaridad.Escribir_Escolaridad      = pEscolaridad.Escribir_Escolaridad;

            dc.SubmitChanges();
        }
        /// <summary>
        /// Registrar asociado (se registra primero la persona y luego el asociado)
        /// </summary>
        /// <param name="persona"></param>
        /// <param name="asociado"></param>
        public void RegistrarAsociado(SIGEEA_Persona persona, SIGEEA_Asociado asociado)
        {
            try
            {
                DataClasses1DataContext dc           = new DataClasses1DataContext();
                PersonaMantenimiento    nuevaPersona = new PersonaMantenimiento();
                nuevaPersona.RegistrarPersona(persona);
                asociado.FK_Id_Persona     = persona.PK_Id_Persona;
                asociado.Codigo_Asociado   = "F";
                asociado.FK_Id_CatAsociado = null;
                dc.SIGEEA_Asociados.InsertOnSubmit(asociado);
                dc.SubmitChanges();

                string codigoAsociado = "F" + asociado.PK_Id_Asociado.ToString() + persona.PriNombre_Persona[0] + persona.PriApellido_Persona[0] + persona.SegApellido_Persona[0];

                dc.SIGEEA_spCodigoAsociado(asociado.PK_Id_Asociado, codigoAsociado);
                dc.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error:" + ex.Message);
            }
        }
        /// <summary>
        /// Registrar asociado (se registra primero la persona y luego el asociado)
        /// </summary>
        /// <param name="persona"></param>
        /// <param name="asociado"></param>
        public void RegistrarAsociado(SIGEEA_Persona persona, SIGEEA_Asociado asociado)
        {
            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext();
                PersonaMantenimiento nuevaPersona = new PersonaMantenimiento();
                nuevaPersona.RegistrarPersona(persona);
                asociado.FK_Id_Persona = persona.PK_Id_Persona;
                asociado.Codigo_Asociado = "F";
                asociado.FK_Id_CatAsociado = null;
                dc.SIGEEA_Asociados.InsertOnSubmit(asociado);
                dc.SubmitChanges();

                string codigoAsociado = "F" + asociado.PK_Id_Asociado.ToString() + persona.PriNombre_Persona[0] + persona.PriApellido_Persona[0] + persona.SegApellido_Persona[0];

                dc.SIGEEA_spCodigoAsociado(asociado.PK_Id_Asociado, codigoAsociado);
                dc.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error:" + ex.Message);
            }
        }
        private void btnValidar_Click(object sender, RoutedEventArgs e)
        {
            if (tipoSolicitud == "Contacto")
            {
                PersonaMantenimiento persona = new PersonaMantenimiento();
                int pk_persona = persona.AutenticaPersona(txbCedula.Text);
                if (pk_persona != 0)
                {
                    wnwContactos ventana = new wnwContactos(pk_persona);
                    ventana.ShowDialog();
                    this.Close();
                }
            }
            else if (tipoSolicitud == "Direccion")
            {
                EmpleadoMantenimiento empleado = new EmpleadoMantenimiento();
                AsociadoMantenimiento asociado = new AsociadoMantenimiento();

                if (empleado.AutenticaEmpleado(txbCedula.Text) != null) //Es un empleado
                {
                    wnwDirecciones ventana = new wnwDirecciones(txbCedula.Text, "Empleado", pkFinca:0);
                    ventana.ShowDialog();
                    this.Close();
                }
                else if (asociado.AutenticaAsociado(txbCedula.Text) != null) //Es un asociado
                {
                    wnwDirecciones ventana = new wnwDirecciones(txbCedula.Text, "Asociado", pkFinca: 0);
                    ventana.ShowDialog();
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Error: el número de cédula digitado no se encuentra registrado.", "SIGEEA", MessageBoxButton.OK);
                }
            }
        }
 private void btnGuardar_Click(object sender, RoutedEventArgs e)
 {
     BrushConverter bc = new BrushConverter();
     txbContacto.Foreground = (Brush)bc.ConvertFrom("#FF000000");
     try
     {
         PersonaMantenimiento persona = new PersonaMantenimiento();
         ValidacionesMantenimiento validacion = new ValidacionesMantenimiento();
         if ((String)cmbTipoContacto.SelectedValue == "Correo" && validacion.Validar(txbContacto.Text, 2) == true)
         {
             if (Accion == "Insertar")
             {
                 persona.AgregarContacto(pPersona: pk_persona, pDato: txbContacto.Text, pTipoContacto: cmbTipoContacto.SelectedValue.ToString());
                 MessageBox.Show("Contacto añadido con éxito.", "SIGEEA", MessageBoxButton.OK);
             }
             else if (Accion == "Editar")
             {
                 SIGEEA_Contacto editarContacto = new SIGEEA_Contacto();
                 editarContacto.PK_Id_Contacto = pk_contacto;
                 editarContacto.Dato_Contacto = txbContacto.Text;
                 editarContacto.FK_Id_Persona = pk_persona;
                 DataClasses1DataContext dc = new DataClasses1DataContext();
                 editarContacto.FK_Id_TipContacto = dc.SIGEEA_TipContactos.First(c => c.Nombre_TipContacto == (String)cmbTipoContacto.SelectedValue).PK_Id_TipContacto;
                 persona.EditarContacto(editarContacto);
                 MessageBox.Show("Los cambios se realizaron con éxito.", "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Exclamation);
             }
             this.Close();
             wnwContactos ventana = new wnwContactos(pk_persona);
             ventana.ShowDialog();
         }
         else if (((String)cmbTipoContacto.SelectedValue == "Tel. Movil" ||
                   (String)cmbTipoContacto.SelectedValue == "Tel. Residencia" ||
                   (String)cmbTipoContacto.SelectedValue == "Tel. Trabajo" ||
                   (String)cmbTipoContacto.SelectedValue == "Fax")
                   && validacion.Validar(txbContacto.Text, 1) == true)
         {
             if (Accion == "Insertar")
             {
                 persona.AgregarContacto(pPersona: pk_persona, pDato: txbContacto.Text, pTipoContacto: cmbTipoContacto.SelectedValue.ToString());
                 MessageBox.Show("Contacto añadido con éxito.", "SIGEEA", MessageBoxButton.OK);
             }
             else if (Accion == "Editar")
             {
                 SIGEEA_Contacto editarContacto = new SIGEEA_Contacto();
                 editarContacto.PK_Id_Contacto = pk_contacto;
                 editarContacto.Dato_Contacto = txbContacto.Text;
                 editarContacto.FK_Id_Persona = pk_persona;
                 DataClasses1DataContext dc = new DataClasses1DataContext();
                 editarContacto.FK_Id_TipContacto = dc.SIGEEA_TipContactos.First(c => c.Nombre_TipContacto == cmbTipoContacto.SelectedItem.ToString()).PK_Id_TipContacto;
                 persona.EditarContacto(editarContacto);
                 MessageBox.Show("Los cambios se realizaron con éxito.", "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Exclamation);
             }
             this.Close();
             wnwContactos ventana = new wnwContactos(pk_persona);
             ventana.ShowDialog();
         }
         else
         {
             txbContacto.Foreground = (Brush)bc.ConvertFrom("#FFFF0404");
             throw new ArgumentException("Error al registrar: Formatos incompatibles con el sistema");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
        /// <summary>
        /// Carga los ComboBox de los cantones
        /// </summary>
        /// <param name="pProvincia"></param>
        public void CargaCantones(string pProvincia)
        {
            PersonaMantenimiento persona = new PersonaMantenimiento();
            List<SIGEEA_spObtenerCantonesResult> lista = persona.ListarCantones(pProvincia);

            foreach (SIGEEA_spObtenerCantonesResult d in lista)
            {
                cmbCanton.Items.Add(d.Nombre_Canton);//Se agregan los ítems al ComboBox de cantones
            }
        }
        private void BtnSiguiente_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (tipoPersona == "Asociado")
                {
                    RegistrarPersona();
                    if (editar == false)
                    {
                        AsociadoMantenimiento Asociado = new AsociadoMantenimiento();
                        SIGEEA_Asociado nuevoAsociado = new SIGEEA_Asociado();
                        nuevoAsociado.Estado_Asociado = true;
                        nuevoAsociado.FK_Id_Representante = null;
                        nuevoAsociado.FecIngreso_Asociado = DateTime.Today;
                        nuevoAsociado.FK_Id_Empresa = 1;
                        Asociado.RegistrarAsociado(nuevaPersona, nuevoAsociado);
                    }
                    else
                    {
                        nuevaPersona.PK_Id_Persona = pk_Persona;
                        PersonaMantenimiento Persona = new PersonaMantenimiento();
                        Persona.ModificarPersona(nuevaPersona);
                    }

                    MessageBox.Show("Su solicitud se ha concluido de manera correcta.");
                    this.Close();
                }

                else if (tipoPersona == "Empleado")
                {
                    grdPersona.Visibility = Visibility.Collapsed;
                    grdEmpleado.Visibility = Visibility.Visible;
                    grdCliente.Visibility = Visibility.Collapsed;
                }
                else if (tipoPersona == "Cliente")
                {
                    RegistrarPersona();
                    grdPersona.Visibility = Visibility.Collapsed;
                    grdEmpleado.Visibility = Visibility.Collapsed;
                    grdCliente.Visibility = Visibility.Visible;
                    listarCategorias();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Debe ingresar la información de manera correcta.");
            }
        }
        private void btnGuardar_Click(object sender, RoutedEventArgs e)
        {
            PersonaMantenimiento direccion = new PersonaMantenimiento();
            FincaMantenimiento direccionFinca = new FincaMantenimiento();
            if (editar == true)
            {
                try
                {

                    if (tipo == "Finca")
                    {
                        direccionFinca.EditarDireccion(pk_finca, txbDetalles.Text, (string)cmbDistrito.SelectedItem);
                        MessageBox.Show("Información de finca actualizada con éxito", "SIGEEA", MessageBoxButton.OK);
                    }
                    else
                    {
                        direccion.EditarDireccion(pk_persona, txbDetalles.Text, (string)cmbDistrito.SelectedItem);
                        MessageBox.Show("Dirección actualizada con éxito", "SIGEEA", MessageBoxButton.OK);
                    }
                    this.Close();
                }
                catch
                {
                    MessageBox.Show("La operación solicitada falló.", "SIGEEA", MessageBoxButton.OK);
                }
            }
            else
            {
                try
                {
                    if (tipo == "Finca")
                    {
                        direccionFinca.AgregarDireccion(pk_finca, txbDetalles.Text, (string)cmbDistrito.SelectedItem);
                        MessageBox.Show("Finca registrada con éxito", "SIGEEA", MessageBoxButton.OK);
                    }
                    else
                    {
                        direccion.AgregarDireccion(pk_persona, txbDetalles.Text, (string)cmbDistrito.SelectedItem);
                        MessageBox.Show("Dirección registrada con éxito", "SIGEEA", MessageBoxButton.OK);
                    }
                    this.Close();
                }
                catch
                {
                    MessageBox.Show("La operación solicitada falló.", "SIGEEA", MessageBoxButton.OK);
                }
            }
        }
        /// <summary>
        /// Carga los ComboBox de los distritos
        /// </summary>
        /// <param name="pCanton"></param>

        public void CargaDistritos(string pCanton)
        {
            PersonaMantenimiento persona = new PersonaMantenimiento();
            List<SIGEEA_spObtenerDistritosResult> lista = persona.ListarDistritos(pCanton);

            foreach (SIGEEA_spObtenerDistritosResult d in lista)
            {
                cmbDistrito.Items.Add(d.Nombre_Distrito);//Se agregan los ítems al ComboBox de distritos
            }
        }
 public uc_Nacionalidades()
 {
     InitializeComponent();
     PersonaMantenimiento persona = new PersonaMantenimiento();
     cmbLista.ItemsSource = persona.ListarNacionalidades();
 }
        /// <summary>
        /// Modificar Cliente
        /// </summary>
        /// <param name="cliente"></param>
        /// <param name="creCliente"></param>
        /// <param name="persona"></param>
        public void ModificarCliente(SIGEEA_Cliente cliente, int pkCategoria, SIGEEA_Persona pPersona)
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();

            SIGEEA_Cliente client = dc.SIGEEA_Clientes.First(c => c.FK_Id_Persona == pPersona.PK_Id_Persona);
            client.FK_Id_CatCliente = pkCategoria;
            PersonaMantenimiento nuevoMant = new PersonaMantenimiento();
            nuevoMant.ModificarPersona(pPersona);
            dc.SubmitChanges();
        }