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); }
public virtual bool Equals(Patrocinante obj) { if (obj == null) return false; if (Equals(Descripcion, obj.Descripcion) == false) return false; if (Equals(IdPatrocinante, obj.IdPatrocinante) == false) return false; if (Equals(Nombre, obj.Nombre) == false) return false; return true; }
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); }