public ActionResult Create(ViviendasViewModel u, HttpPostedFileBase ImgData) { string fileContent = string.Empty; string fileContentType = string.Empty; List <SelectListItem> comboviviendas = new List <SelectListItem>(); foreach (var item in this.repo.GetNombreCostas()) { SelectListItem costa = new SelectListItem(); costa.Value = item.Cod_Provincia.ToString(); costa.Text = item.NombreProvincia; comboviviendas.Add(costa); } ViewBag.ComboCostas = comboviviendas; u.Ciudad = comboviviendas.Where(x => x.Value == u.Cod_Provincia.ToString()).Select(x => x.Text).FirstOrDefault(); if (!ModelState.IsValid || ImgData == null) { List <SelectListItem> comboclientes = new List <SelectListItem>(); foreach (var item in this.repo.GetClientes()) { SelectListItem cliente = new SelectListItem(); cliente.Value = item.IdCliente.ToString(); cliente.Text = item.NombreCliente + " " + item.ApellidoCliente; comboclientes.Add(cliente); } ViewBag.comboclientes = comboclientes; var list = this.repo.GetTiposViviendas().Select(x => new SelectListItem() { Value = x.Cod_tipo_vivienda.ToString(), Text = x.Descripcion }); ViewBag.ListaTiposViviendaCreate = new List <SelectListItem>(); ViewBag.ListaTiposViviendaCreate.AddRange(list); return(View(u)); } byte[] foto = new byte[ImgData.InputStream.Length]; u.ImgData.InputStream.Read(foto, 0, foto.Length); fileContent = Convert.ToBase64String(foto); fileContentType = u.ImgData.ContentType; Viviendas vivienda = new Viviendas() { Cod_Provincia = u.Cod_Provincia, Cod_TipoVivienda = u.Cod_TipoVivienda, Codigo_Posta = u.Codigo_Posta, Ciudad = u.Ciudad, IdCliente = u.IdCliente, Garaje = u.Garaje, Descripcion = u.Descripcion, Num_banios = u.Num_banios, Num_habitaciones = u.Num_habitaciones, Tamanio_vivienda = u.Tamanio_vivienda, Ubicacion = u.Ubicacion }; int InsertedVivienda = this.repo.InsertarViviendas(vivienda); Galeria_Fotos galeria = new Galeria_Fotos() { Cod_casa = InsertedVivienda, Foto = foto }; this.repo.InsertarImagen(galeria); return(RedirectToAction("Viviendas")); }
public async Task <IActionResult> Create(ViviendasViewModel u) { string token = HttpContext.Session.GetString("TOKEN"); string fileContent = string.Empty; string fileContentType = string.Empty; List <SelectListItem> comboviviendas = new List <SelectListItem>(); foreach (var item in await this.repo.GetNombreCostasAsync()) { SelectListItem costa = new SelectListItem(); costa.Value = item.Cod_Provincia.ToString(); costa.Text = item.NombreProvincia; comboviviendas.Add(costa); } ViewBag.ComboCostas = comboviviendas; u.Ciudad = comboviviendas.Where(x => x.Value == u.Cod_Provincia.ToString()).Select(x => x.Text).FirstOrDefault(); if (!ModelState.IsValid /*|| ImgData == null*/) { List <SelectListItem> comboclientes = new List <SelectListItem>(); foreach (var item in await this.repo.GetClientesAsync()) { SelectListItem cliente = new SelectListItem(); cliente.Value = item.IdCliente.ToString(); cliente.Text = item.NombreCliente + " " + item.ApellidoCliente; comboclientes.Add(cliente); } ViewBag.comboclientes = comboclientes; var listatipoviviendas = await this.repo.GetTiposViviendasAsync(); List <SelectListItem> combotipos = new List <SelectListItem>(); foreach (var item in listatipoviviendas) { SelectListItem selitem = new SelectListItem(); selitem.Value = item.Cod_tipo_vivienda.ToString(); selitem.Text = item.Descripcion; combotipos.Add(selitem); } ViewBag.ListaTiposViviendaCreate = new List <SelectListItem>(); ViewBag.ListaTiposViviendaCreate.AddRange(combotipos); return(View(u)); } using (var memoryStream = new MemoryStream()) { await u.FotoVivienda.CopyToAsync(memoryStream); u.Foto = memoryStream.ToArray(); } //byte[] foto = new byte[ImgData.InputStream.Length]; //u.ImgData.InputStream.Read(foto, 0, foto.Length); //fileContent = Convert.ToBase64String(foto); //fileContentType = u.ImgData.ContentType; Viviendas vivienda = new Viviendas() { Cod_Provincia = u.Cod_Provincia, Cod_TipoVivienda = u.Cod_TipoVivienda.GetValueOrDefault(), Codigo_Posta = u.Codigo_Posta, Ciudad = u.Ciudad, IdCliente = u.IdCliente.GetValueOrDefault(), Garaje = u.Garaje, Descripcion = u.Descripcion, Num_banios = u.Num_banios, Num_habitaciones = u.Num_habitaciones, Tamanio_vivienda = u.Tamanio_vivienda, Ubicacion = u.Ubicacion }; int InsertedVivienda = await this.repo.InsertarViviendaAsync(vivienda, token); Galeria_Fotos galeria = new Galeria_Fotos() { Cod_casa = InsertedVivienda, Foto = u.Foto }; await this.repo.InsertarGaleriaFotosAsync(galeria, token); return(RedirectToAction("Viviendas")); }