public ActionResult CreateForPublicacion(Imagene imagene)
 {
     IRepositorio<Imagene> repoImagen = new ImageneRepositorio();
     if (imagene.File != null)
     {
         imagene.DatosOriginal = ConvertFile(imagene.File);
         imagene.DatosTrans = Resize(ConvertFile(imagene.File));
         repoImagen.Save(imagene);
         return RedirectToAction("Index");
     }
     return View(imagene);
 }
 public ActionResult UploadForEdit(IEnumerable<HttpPostedFileBase> files)
 {
     var repoImagen = new ImageneRepositorio();
     var myImagene = new Imagene();
     if (files != null)
     {
         foreach (var miArchivo in from file in files where file != null select ConvertFile(file))
         {
             myImagene.DatosOriginal = miArchivo;
             myImagene.DatosTrans = Resize(miArchivo);
             myImagene.Tipo = "P";
             myImagene.IdPublicacion = Convert.ToInt32(Session["IdPublicacion"]);
             repoImagen.Save(myImagene);
         }
     }
     return RedirectToAction("EditForPublicacion", "Imagene", new { idPubli = Session["IdPublicacion"] });
 }
        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);
        }