public VisitanteBE AgregarVisitante(XElement dataVisitante)
        {
            ResidenteServiceClient client = new ResidenteServiceClient();
            VisitanteBE visitante =  new VisitanteBE();
            //IDictionary<string, string> lista = new Dictionary<string, string>();

            try
            {
                //IEnumerable<XElement> childList = from el in dataVisitante.Elements() select el;
                //foreach (XElement e in childList)
                //    lista.Add(e.Name.ToString(), e.Value);

                visitante.C_NumDocumento = dataVisitante.Element("C_NumDocumento").Value;
                visitante.C_Nombre = dataVisitante.Element("C_Nombre").Value;
                visitante.D_FecVisita = DateTime.ParseExact(dataVisitante.Element("D_FecVisita").Value,
                        "yyyy-MM-dd", CultureInfo.InvariantCulture);
                visitante.O_ResidenteBE.C_NumDocume = dataVisitante.Element("O_ResidenteBE").Element("C_NumDocume").Value;

                Architects.Dominio.ResidenteBE residente = GetEntity(client.ObtenerResidentePorNroDocumento(visitante.O_ResidenteBE.C_NumDocume));
                visitante.O_ResidenteBE = residente;

                int NewID = objDA.AgregarVisitante(visitante);
                return ObtenerVisitantePorID_JSON(NewID.ToString());
            }
            catch (WebFaultException ex)
            {
                throw ex;
            }
        }
        protected void CargarResidentes()
        {
            ResidenteServiceClient client = new ResidenteServiceClient();

            List<SOAResidentes.ResidenteBE> listaResidentes = new List<SOAResidentes.ResidenteBE>(client.ListarResidentes());

            DdlResidente.DataSource = listaResidentes;
            DdlResidente.DataValueField = "C_NumDocume";
            DdlResidente.DataTextField = "C_Apellidos";
            DdlResidente.DataBind();

            DdlResidente.Items.Insert(0, new ListItem("Seleccione", ""));
        }
        public List<VisitanteBE> BuscarVisitantesPorVariosFiltros(string nroDocumento, string fechaVisita, string nroDocResidente)
        {
            ResidenteServiceClient client = new ResidenteServiceClient();
            const DateTimeStyles style = DateTimeStyles.AllowWhiteSpaces;
            DateTime dtTemp = DateTime.Now.Date;
            DateTime? dtFechaVisita = null;
            List<VisitanteBE> VisitantesEncontrados = new List<VisitanteBE>();

            try
            {
                Architects.Dominio.ResidenteBE residente = GetEntity(client.ObtenerResidentePorNroDocumento(nroDocResidente));

               if (DateTime.TryParseExact(fechaVisita, "yyyy-MM-dd", CultureInfo.InvariantCulture, style, out dtTemp)
               || DateTime.TryParseExact(fechaVisita, "yyyy-dd-MM", CultureInfo.InvariantCulture, style, out dtTemp)
               || DateTime.TryParseExact(fechaVisita, "dd-MM-yyyy", CultureInfo.InvariantCulture, style, out dtTemp)
               || DateTime.TryParseExact(fechaVisita, "MM-dd-yyyy", CultureInfo.InvariantCulture, style, out dtTemp))
                    dtFechaVisita = dtTemp;

                if (!dtFechaVisita.HasValue)
                    throw new WebFaultException<string>("Formato de Fecha Incorrecto", HttpStatusCode.InternalServerError);

                if (residente != null)
                    VisitantesEncontrados = new List<VisitanteBE>(objDA.BuscarVisitantes(nroDocumento
                        , "", dtFechaVisita, residente.N_IdResidente));

                for (int i = 0; i < VisitantesEncontrados.Count; i++)
                {
                    VisitantesEncontrados[i].O_ResidenteBE = residente;
                }

                return VisitantesEncontrados;
            }
            catch (WebFaultException ex)
            {
                throw ex;
            }
        }
        public List<VisitanteBE> BuscarVisitantesPorResidente_JSON(string NroDocumento)
        {
            ResidenteServiceClient client = new ResidenteServiceClient();

            try
            {
                Architects.Dominio.ResidenteBE residente = GetEntity(client.ObtenerResidentePorNroDocumento(NroDocumento));

                List<VisitanteBE> VisitantesEncontrados = new List<VisitanteBE>();

                if (residente != null)
                    VisitantesEncontrados = new List<VisitanteBE>(objDA.BuscarVisitantes("", "", null, residente.N_IdResidente));

                for (int i = 0; i < VisitantesEncontrados.Count; i++)
                {
                    VisitantesEncontrados[i].O_ResidenteBE = residente;
                }

                return VisitantesEncontrados;
            }
            catch (WebFaultException ex)
            {
                throw ex;
            }
        }