Ejemplo n.º 1
0
        protected void GridView_Contacto_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            ContactoRepositorio cr = new ContactoRepositorio();
            string id = this.GridView_Buscar.DataKeys[e.RowIndex].Values[0].ToString();

            if (cr.DeleteContact(int.Parse(id)))
            {
                ////this.GridView_Buscar.Rows[e.RowIndex].Visible = false;
                ////validar el
                //DataTable dt = (DataTable)ViewState["Consulta"];

                //foreach (DataRow dr in dt.Rows)
                //{
                //    if (dr[0].ToString() == id)
                //    {
                //        dt.Rows.Remove(dr);
                //        break;
                //    }
                //}
                //// dt.Rows[e.RowIndex].Delete();
                //ViewState["Consulta"] = dt;
                Search();
                LoadGrid();
                UpdatePanel1.Update();
                DeleteImage(id);
            }
        }
        public ActionResult Create(Empresa E)
        {
            if (ModelState.IsValid)
            {
                IRepositorio<Empresa> repo = new EmpresaRepositorio();
                repo.Save(E);

                IRepositorio<Telefono> repositorioTelefono = new TelefonoRepositorio();
                E.Telefonos[0].IdEmpresa = E.IdEmpresa;
                E.Telefonos[0].Tipo = "E";
                repositorioTelefono.Save(E.Telefonos[0]);

                IRepositorio<Contacto> repositorioContacto = new ContactoRepositorio();
                E.Contacto[0].IdEmpresa = E.IdEmpresa;
                E.Contacto[0].Tipo = "E";
                repositorioContacto.Save(E.Contacto[0]);

                foreach (var telefono in E.Contacto[0].ListaTelefonos)
                {
                    telefono.Tipo = "E";
                    telefono.IdContacto = E.Contacto[0].IdContacto;
                    repositorioTelefono.Save(telefono);
                }
                return RedirectToAction("Index");
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            while (E.Contacto[0].ListaTelefonos.Count < 4)
            {
                E.Contacto[0].ListaTelefonos.Add(new Telefono());
            }
            return View(E);
        }
Ejemplo n.º 3
0
        private void Search()
        {
            string codigoProfesion = DropDownListProfesion.SelectedValue,
                   genero          = DropDownListGenero.SelectedValue,
                   direccion       = autocomplete.Value,
                   _lat            = lat.Value,
                   _lng            = lng.Value,
                   _radio          = radio.Value;
            string ResultJson      = string.Empty;

            if (string.IsNullOrEmpty(direccion) && string.IsNullOrEmpty(_lat) && string.IsNullOrEmpty(_lng) && codigoProfesion.Equals("0") && genero.Equals("0") && string.IsNullOrEmpty(_lat) && string.IsNullOrEmpty(_lng) && string.IsNullOrEmpty(_radio))
            {
                ViewState["Consulta"] = null;
            }
            else
            {
                string sql = string.Format(
                    "SELECT IdContacto,CONCAT(Apellido,'-',c.Nombre)   NombreCompleto,Imagen, Direccion, Telefono, Genero = (CASE Genero WHEN 'M' THEN 'Masculino' WHEN 'F' THEN 'Femenino' END),p.Nombre Profesion, Geography " +
                    " FROM Contacto c" +
                    " INNER JOIN Profesion p" +
                    " ON  p.IdProfesion = c.Codigo_Profesion" +
                    " WHERE Codigo_Usuario = {0} ", ((int)Session["IdUsuario"]).ToString());

                if (!string.IsNullOrEmpty(codigoProfesion) && !codigoProfesion.Equals("0"))
                {
                    sql += " and Codigo_Profesion = " + codigoProfesion;
                }

                if (!string.IsNullOrEmpty(genero) && !genero.Equals("0"))
                {
                    sql += " and Genero = '" + genero + "' ";
                }

                if (!string.IsNullOrEmpty(direccion) && !string.IsNullOrEmpty(_lat) && !string.IsNullOrEmpty(_lng) && !string.IsNullOrEmpty(_radio))
                {
                    sql += string.Format(" and geography::STGeomFromText('POINT({0} {1})', 4326).STDistance(Geography) <= {2} ", _lng, _lat, _radio);
                }

                ContactoRepositorio cr   = new ContactoRepositorio();
                DataTable           data = cr.ObtenerContacto(sql);
                ViewState["Consulta"] = data;

                if (data != null && data.Rows.Count > 0)
                {
                    JArray array = new JArray();
                    foreach (DataRow dr in data.Rows)
                    {
                        JObject item = new JObject();
                        item.Add("ID", dr[0].ToString());
                        item.Add("Geozona", dr[7].ToString());
                        array.Add(item);
                    }
                    ResultJson = array.ToString();
                }
            }
            LoadGrid();
            UpdatePanel1.Update();
            dataGeographic.Value = ResultJson;
            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "LoadMap", "LoadMapSearch()", true);
        }
Ejemplo n.º 4
0
        public static string GetInfo(int id)
        {
            string mensaje         = "false";
            ContactoRepositorio cr = new ContactoRepositorio();
            string sql             = string.Format(
                "SELECT IdContacto,CONCAT(c.Nombre,' ',Apellido) NombreCompleto,Imagen, Direccion, Telefono, Genero = (CASE Genero WHEN 'M' THEN 'Masculino' WHEN 'F' THEN 'Femenino' END),p.Nombre Profesion, Codigo_Usuario " +
                " FROM Contacto c" +
                " INNER JOIN Profesion p" +
                " ON  p.IdProfesion = c.Codigo_Profesion" +
                " WHERE IdContacto = {0}", id);
            DataTable data = cr.ObtenerContacto(sql);

            if (data != null && data.Rows.Count > 0)
            {
                JArray array = new JArray();
                foreach (DataRow dr in data.Rows)
                {
                    JObject item = new JObject();
                    item.Add("ID", dr[0].ToString());
                    item.Add("Nombre", dr[1].ToString());
                    item.Add("Imagen", GetSrcImageAjax(dr[2].ToString(), id, dr[7].ToString()));
                    item.Add("Direccion", dr[3].ToString());
                    item.Add("Telefono", dr[4].ToString());
                    item.Add("Genero", dr[5].ToString());
                    item.Add("Profesion", dr[6].ToString());

                    array.Add(item);
                }
                mensaje = array.ToString();
            }
            return(mensaje);
        }
Ejemplo n.º 5
0
        protected void EditarContacto_Click(object sender, EventArgs e)
        {
            string _nombre    = nombre.Value.Trim();
            string _apellido  = apellido.Value.Trim();
            string _direccion = autocomplete.Value.Trim();
            string _telefono  = telefono.Value.Trim();
            string avatar     = imageTitle.Text;
            string profesion  = DropDownListProfesion.SelectedValue;
            string genero     = DropDownListGenero.SelectedValue;

            string mensaje = string.Empty;

            if (string.IsNullOrEmpty(_nombre) || string.IsNullOrEmpty(_apellido) || string.IsNullOrEmpty(_direccion) || string.IsNullOrEmpty(_telefono) || profesion.Equals("0") || genero.Equals("0"))
            {
                mensaje = "Todos los campos son obligatorios";
            }
            else if (file2.HasFile)
            {
                avatar = Server.HtmlEncode(file2.FileName);
            }
            else if (Check1.Checked)
            {
                avatar = "default.jpg";
            }

            if (string.IsNullOrEmpty(mensaje))
            {
                ContactoRepositorio cr = new ContactoRepositorio();

                string geo = string.Format("POINT({0} {1})", lat.Value.Replace(',', '.'), lng.Value.Replace(',', '.'));

                Contacto contact = new Contacto
                {
                    IdContacto       = int.Parse(Request.QueryString["id"]),
                    Nombre           = _nombre,
                    Apellido         = _apellido,
                    Direccion        = _direccion,
                    Telefono         = ulong.Parse(_telefono),
                    Genero           = genero,
                    Imagen           = avatar,
                    Geographic       = System.Data.Entity.Spatial.DbGeography.FromText(geo, 4326),
                    Codigo_Usuario   = (int)Session["IdUsuario"],
                    Codigo_Profesion = int.Parse(profesion)
                };
                if (cr.Modificar(contact))
                {
                    mensaje = "Contacto editado con éxito";
                    saveImage(contact.IdContacto);
                    LimpiarForm(contact);
                }
                else
                {
                    mensaje = "No se pudo editar este contacto";
                }
            }

            Response.Write(string.Format("<script>alert('{0}')</script>", mensaje));
        }
        public ActionResult Create(Patrocinante patrocinante)
        {
            if (patrocinante.Nombre != null && patrocinante.Contacto[0].Nombre != null && patrocinante.Contacto[0].ListaTelefonos[0].CodigoInt != 0 &&
                patrocinante.Contacto[0].ListaTelefonos[0].CodigoLoc != 0 && patrocinante.Contacto[0].ListaTelefonos[0].Numero != 0)
            {
                if (patrocinante.File != null)
                {
                    HttpFileCollectionBase files = ControllerContext.HttpContext.Request.Files;
                    var repoImagen = new ImageneRepositorio();
                    patrocinante.Imagene = new Imagene();
                    patrocinante.Imagene.DatosOriginal = ConvertFile(patrocinante.File);
                    patrocinante.Imagene.DatosTrans = Resize(ConvertFile(patrocinante.File));
                    patrocinante.Imagene.Link = patrocinante.Link;
                    patrocinante.Contacto[0].Tipo = "P";
                    for (int i = 0; i < patrocinante.Contacto[0].ListaTelefonos.Count; i++)
                    {
                        patrocinante.Contacto[0].ListaTelefonos[i].Tipo = "P";
                    }
                    patrocinante.Contacto[0].IdEmpresa = null;

                    var tipo = Request["Logo"] as string;
                    if (tipo == "Sponsor")
                    {
                        patrocinante.Imagene.Tipo = "S";
                    }
                    else
                    {
                        patrocinante.Imagene.Tipo = "L";
                    }

                    IRepositorio<Patrocinante> repoPatrocinante = new PatrocinanteRepositorio();
                    repoPatrocinante.Save(patrocinante);

                    IRepositorio<Contacto> repoContacto = new ContactoRepositorio();
                    patrocinante.Contacto[0].IdPatrocinante = patrocinante.IdPatrocinante;
                    repoContacto.Save(patrocinante.Contacto[0]);

                    IRepositorio<Telefono> repoTelefono = new TelefonoRepositorio();
                    foreach (var telefono in patrocinante.Contacto[0].ListaTelefonos)
                    {
                        telefono.IdContacto = patrocinante.Contacto[0].IdContacto;
                        repoTelefono.Save(telefono);
                    }

                    patrocinante.Imagene.IdPatrocinante = patrocinante.IdPatrocinante;
                    repoImagen.Save(patrocinante.Imagene);

                    return RedirectToAction("Index");
               }
            }
            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            while (patrocinante.Contacto[0].ListaTelefonos.Count < 4)
            {
                patrocinante.Contacto[0].ListaTelefonos.Add(new Telefono());
            }
            return View(patrocinante);
        }
Ejemplo n.º 7
0
        private void LoadGrid()
        {
            ContactoRepositorio cr = new ContactoRepositorio();

            ViewState["Consulta"]           = cr.ObtenerContactos((int)Session["IdUsuario"]);
            GridView_Contacto.DataSource    = (DataTable)ViewState["Consulta"];
            GridView_Contacto.EmptyDataText = "No hay resultados disponibles.";
            GridView_Contacto.DataBind();
            labelUpdate.Text = string.Format("Última actualización - {0}", DateTime.Now.ToString());
        }
Ejemplo n.º 8
0
        protected void GridView_Contacto_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            ContactoRepositorio cr = new ContactoRepositorio();
            string id = this.GridView_Contacto.DataKeys[e.RowIndex].Values[0].ToString();

            if (cr.DeleteContact(int.Parse(id)))
            {
                LoadGrid();
                UpdatePanel1.Update();
                DeleteImage(id);
            }
        }
Ejemplo n.º 9
0
 private void LoadForm()
 {
     buttonEditar.Attributes.Add("onclick", "javascript: if(!ValidarForm()) return false;");
     try
     {
         int IdContact = int.Parse(Request.QueryString["id"]), IdUsuario = (int)Session["IdUsuario"];
         ContactoRepositorio cr       = new ContactoRepositorio();
         Contacto            contacto = cr.ObtenerContacto(IdUsuario, IdContact);
         nombre.Value       = contacto.Nombre;
         apellido.Value     = contacto.Apellido;
         autocomplete.Value = contacto.Direccion;
         telefono.Value     = contacto.Telefono.ToString();
         CargarProfesion(contacto.Codigo_Profesion.ToString());
         DropDownListGenero.SelectedValue = contacto.Genero;
         lat.Value       = contacto.Geographic.Latitude.ToString().Replace(',', '.');
         lng.Value       = contacto.Geographic.Longitude.ToString().Replace(',', '.');
         imageTitle.Text = contacto.Imagen;
         AvatarMin.Src   = GetSrcImage(contacto.Imagen, contacto.IdContacto);
     }
     catch (Exception)
     {
         Response.Redirect("NuevoContacto.aspx");
     }
 }
        public ActionResult Edit(int id)
        {
            IRepositorio<Empresa> myRepoEmpresa = new EmpresaRepositorio();
            Empresa empresa = myRepoEmpresa.GetById(id);

            IRepositorio<Telefono> repositorioTelefono = new TelefonoRepositorio();
            IList<Telefono> telefonos = repositorioTelefono.GetAll();
            IList<Telefono> telefonosBuscados = new List<Telefono>();
            foreach (var telefono in telefonos)
            {
                if (telefono.IdEmpresa == id)
                {
                    telefonosBuscados.Add(telefono);
                }
            }
            empresa.Telefonos = telefonosBuscados;

            IRepositorio<Contacto> repositorioContacto = new ContactoRepositorio();
            IList<Contacto> contactos = repositorioContacto.GetAll();
            IList<Contacto> contactosBuscados = new List<Contacto>();
            telefonosBuscados = new List<Telefono>();

            foreach (var contacto in contactos)
            {
                if (contacto.IdEmpresa == id)
                {
                    foreach (var telefono in telefonos)
                    {
                        if (telefono.IdContacto == contacto.IdContacto)
                        {
                            telefonosBuscados.Add(telefono);
                        }
                    }
                    contacto.ListaTelefonos = telefonosBuscados;
                    contactosBuscados.Add(contacto);
                }
            }
            empresa.Contacto = contactosBuscados;

            while (empresa.Contacto[0].ListaTelefonos.Count < 4)
            {
                empresa.Contacto[0].ListaTelefonos.Add(new Telefono());
            }
            return View(empresa);
        }
        public ActionResult Edit(Empresa empresa)
        {
            if (empresa.Nombre != null && empresa.Rif != null && empresa.Direccion != null && empresa.Ciudad != null && empresa.Localidad != null &&
                empresa.Telefonos[0].CodigoLoc != 0 && empresa.Telefonos[0].CodigoInt != 0 && empresa.Telefonos[0].Numero != 0 &&
                empresa.Contacto[0].Nombre != null && empresa.Contacto[0].ListaTelefonos[0].CodigoInt != 0 &&
                empresa.Contacto[0].ListaTelefonos[0].CodigoLoc != 0 && empresa.Contacto[0].ListaTelefonos[0].Numero != 0)
            {
                IRepositorio<Empresa> myRepoEmpresa = new EmpresaRepositorio();
                myRepoEmpresa.Update(empresa);

                IRepositorio<Telefono> repositorioTelefono = new TelefonoRepositorio();
                empresa.Telefonos[0].IdEmpresa = empresa.IdEmpresa;
                empresa.Telefonos[0].Tipo = "E";
                repositorioTelefono.Update(empresa.Telefonos[0]);

                IRepositorio<Contacto> repositorioContacto = new ContactoRepositorio();
                empresa.Contacto[0].IdEmpresa = empresa.IdEmpresa;
                empresa.Contacto[0].Tipo = "E";
                repositorioContacto.Update(empresa.Contacto[0]);

                foreach (var telefono in empresa.Contacto[0].ListaTelefonos)
                {
                    telefono.Tipo = "E";
                    telefono.IdContacto = empresa.Contacto[0].IdContacto;
                    if (telefono.CodigoInt != 0 && telefono.CodigoLoc != 0 && telefono.Numero != 0)
                        if (telefono.IdTelefono != 0)
                            repositorioTelefono.Update(telefono);
                        else
                            repositorioTelefono.Save(telefono);
                }
                return RedirectToAction("Index");
            }
            return View(empresa);
        }
Ejemplo n.º 12
0
 public ContactoServicio()
 {
     repo = new ContactoRepositorio();
 }
        public ActionResult Index(String tipo, string patrocinante)
        {
            IRepositorio<Patrocinante> repoPatrocinante = new PatrocinanteRepositorio();
            IList<Patrocinante> patrocinantesAux = new List<Patrocinante>();
            IList<Patrocinante> patrocinantes = repoPatrocinante.GetAll();

            IRepositorio<Telefono> repoTelefono = new TelefonoRepositorio();
            IList<Telefono> TodosTelefonos = repoTelefono.GetAll();
            IList<Telefono> telefonos = new List<Telefono>();

            IRepositorio<Contacto> repoContacto = new ContactoRepositorio();
            IList<Contacto> TodosContactos = repoContacto.GetAll();
            IList<Contacto> contactos = new List<Contacto>();

            IRepositorio<Imagene> repoImagen = new ImageneRepositorio();
            IList<Imagene> imagenes = repoImagen.GetAll();

            foreach (var patrocinante1 in patrocinantes)
            {
                foreach (var contacto in TodosContactos)
                {
                    if (contacto.IdPatrocinante == patrocinante1.IdPatrocinante)
                    {
                        foreach (var telefono in TodosTelefonos)
                        {
                            if (telefono.IdContacto == contacto.IdContacto)
                            {
                                telefonos.Add(telefono);
                            }
                        }
                        contacto.ListaTelefonos = telefonos;
                        telefonos = new List<Telefono>();
                        contactos.Add(contacto);
                    }
                }
                patrocinante1.Contacto = contactos;
                contactos = new List<Contacto>();

                foreach (var imagene in imagenes)
                {
                    if (imagene.IdPatrocinante != null)
                        if (imagene.IdPatrocinante == patrocinante1.IdPatrocinante)
                        {
                            patrocinante1.Imagene = imagene;
                            if (tipo != null)
                            {
                                if (tipo == "S")
                                {
                                    if (imagene.Tipo == "S")
                                        patrocinantesAux.Add(patrocinante1);
                                }
                                else
                                {
                                    if (imagene.Tipo == "L")
                                        patrocinantesAux.Add(patrocinante1);
                                }
                            }
                        }
                }
            }
            if (tipo != null)
            {
                if (patrocinante != null)
                {
                    IList<Patrocinante> patrocinantesBuscados = new List<Patrocinante>();
                    foreach (var patrocinante1 in patrocinantesAux)
                    {
                        if (patrocinante1.Nombre == patrocinante)
                        {
                            patrocinantesBuscados.Add(patrocinante1);
                        }
                    }
                    return View(patrocinantesBuscados);
                }
                return View(patrocinantesAux);
            }

            if (patrocinante != null)
            {
                IList<Patrocinante> patrocinantesBuscados = new List<Patrocinante>();
                foreach (var patrocinante1 in patrocinantes)
                {
                    if (patrocinante1.Nombre == patrocinante)
                    {
                        patrocinantesBuscados.Add(patrocinante1);
                    }
                }
                return View(patrocinantesBuscados);
            }
            return View(patrocinantes);
        }
        public ActionResult Edit(Patrocinante patrocinante)
        {
            patrocinante.Contacto[0].Tipo = "P";
            patrocinante.Contacto[0].IdPatrocinante = patrocinante.IdPatrocinante;
            foreach (var telefono in patrocinante.Contacto[0].ListaTelefonos)
            {
                telefono.Tipo = "P";
            }
            patrocinante.Contacto[0].IdEmpresa = null;

            IRepositorio<Imagene> repoImagen = new ImageneRepositorio();
            patrocinante.Contacto[0].IdEmpresa = null;

            IList<Imagene> imagenes = repoImagen.GetAll();
            patrocinante.Imagene.IdPatrocinante = patrocinante.IdPatrocinante;
            foreach (var imagene in imagenes)
            {
                if (imagene.IdPatrocinante == patrocinante.IdPatrocinante)
                {
                    patrocinante.Imagene.IdImagen = imagene.IdImagen;
                    if (patrocinante.File == null)
                    {
                        patrocinante.Imagene.DatosOriginal = imagene.DatosOriginal;
                        patrocinante.Imagene.DatosTrans = imagene.DatosTrans;
                    }
                }
            }

            var tipo = Request["Logo"] as string;
            if (tipo == "Sponsor")
            {
                patrocinante.Imagene.Tipo = "S";
            }
            else
            {
                patrocinante.Imagene.Tipo = "L";
            }
            if (patrocinante.File != null)
            {
                HttpFileCollectionBase files = ControllerContext.HttpContext.Request.Files;
                patrocinante.Imagene.DatosOriginal = ConvertFile(patrocinante.File);
                patrocinante.Imagene.DatosTrans = Resize(ConvertFile(patrocinante.File));
            }

            if (patrocinante.Nombre != null && patrocinante.Contacto[0].Nombre != null && patrocinante.Contacto[0].ListaTelefonos[0].CodigoInt != 0 &&
                patrocinante.Contacto[0].ListaTelefonos[0].CodigoLoc != 0 && patrocinante.Contacto[0].ListaTelefonos[0].Numero != 0)
            {
                IRepositorio<Patrocinante> repoPatrocinante = new PatrocinanteRepositorio();
                repoPatrocinante.Update(patrocinante);

                IRepositorio<Contacto> repoContacto = new ContactoRepositorio();
                patrocinante.Contacto[0].IdPatrocinante = patrocinante.IdPatrocinante;
                repoContacto.Update(patrocinante.Contacto[0]);

                IRepositorio<Telefono> repoTelefono = new TelefonoRepositorio();
                foreach (var telefono in patrocinante.Contacto[0].ListaTelefonos)
                {
                    telefono.IdContacto = patrocinante.Contacto[0].IdContacto;
                    if (telefono.CodigoInt != 0 && telefono.CodigoLoc != 0 && telefono.Numero != 0)
                        if (telefono.IdTelefono != 0)
                            repoTelefono.Update(telefono);
                        else
                            repoTelefono.Save(telefono);
                }

                repoImagen.Update(patrocinante.Imagene);

                return RedirectToAction("Index");
            }
            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            while (patrocinante.Contacto[0].ListaTelefonos.Count < 4)
            {
                patrocinante.Contacto[0].ListaTelefonos.Add(new Telefono());
            }
            return View(patrocinante);
        }
        public ActionResult Edit(int id)
        {
            IRepositorio<Patrocinante> repoPatrocinante = new PatrocinanteRepositorio();
            IList<Patrocinante> patrocinantesAux = new List<Patrocinante>();
            Patrocinante patrocinante = repoPatrocinante.GetById(id);

            IRepositorio<Telefono> repoTelefono = new TelefonoRepositorio();
            IList<Telefono> TodosTelefonos = repoTelefono.GetAll();
            IList<Telefono> telefonos = new List<Telefono>();

            IRepositorio<Contacto> repoContacto = new ContactoRepositorio();
            IList<Contacto> TodosContactos = repoContacto.GetAll();
            IList<Contacto> contactos = new List<Contacto>();

            IRepositorio<Imagene> repoImagen = new ImageneRepositorio();
            IList<Imagene> imagenes = repoImagen.GetAll();

            foreach (var contacto in TodosContactos)
            {
                if (contacto.IdPatrocinante == patrocinante.IdPatrocinante)
                {
                    foreach (var telefono in TodosTelefonos)
                    {
                        if (telefono.IdContacto == contacto.IdContacto)
                        {
                            telefonos.Add(telefono);
                        }
                    }
                    contacto.ListaTelefonos = telefonos;
                    contactos.Add(contacto);
                }
            }
            patrocinante.Contacto = contactos;
            foreach (var imagene in imagenes)
            {
                if (imagene.IdPatrocinante == patrocinante.IdPatrocinante)
                {
                    patrocinante.Imagene = imagene;
                }
            }
            while (patrocinante.Contacto[0].ListaTelefonos.Count < 4)
            {
                patrocinante.Contacto[0].ListaTelefonos.Add(new Telefono());
            }
            return View(patrocinante);
        }
        public ActionResult Delete(int id)
        {
            IRepositorio<Patrocinante> repo = new PatrocinanteRepositorio();

            IRepositorio<Contacto> repoContacto = new ContactoRepositorio();
            IList<Contacto> contactos = repoContacto.GetAll();
            Contacto contactoBuscado = null;
            foreach (var contacto in contactos)
            {
                if (contacto.IdPatrocinante == id)
                {
                    contactoBuscado = contacto;
                    break;
                }
            }

            IRepositorio<Telefono> repoTelefono = new TelefonoRepositorio();
            IList<Telefono> telefonos = repoTelefono.GetAll();
            Patrocinante patrocinante = repo.GetById(id);
            foreach (var telefono in telefonos)
            {
                if (telefono.IdContacto == contactoBuscado.IdContacto)
                {
                    repoTelefono.Delete(telefono);
                    break;
                }
            }
            repo.Delete(patrocinante);
            return RedirectToAction("Index");
        }