public static string Propagandas(int numero) { string nomeDaPasta = ConfigReader.LerNoString(ConfigReader.TagPropagandas, ConfigReader.TagPastaDePropagandas); var directoryInfo = new DirectoryInfo(nomeDaPasta); var arquivos = directoryInfo.EnumerateFiles().ToList(); for (int i = 0; i < arquivos.Count; i++) { if (i == numero) { var stream = new StreamReader(arquivos[i].FullName).BaseStream; var nome = arquivos[i].Name; var tipo = MimeType.GetMimeType(nome); var foto = FabricaDeImagem.Instancia().CriarImagem(nome, tipo, stream); return(foto.ConteudoMisto); } } return(string.Empty); }
protected override List <Imagem> ResolveCore(Mercadoria mercadoria) { return(FabricaDeImagem.Instancia().CriarImagens(mercadoria.Fotos)); }
protected override List <Foto> ResolveCore(MercadoriaViewModel mercadoria) { return(FabricaDeImagem.Instancia().CriarFotos(mercadoria.Imagens)); }
public ActionResult Adicionar(MercadoriaViewModel mercadoriaViewModel, FormCollection form, HttpPostedFileBase file) { if (form[MercadoriasViewModel.CategoriasSelecionadas] != null) { var ids = form[MercadoriasViewModel.CategoriasSelecionadas].Split(','); mercadoriaViewModel.Categorias = new List <Categoria>(); foreach (var id in ids) { mercadoriaViewModel.Categorias.Add(repositorioDeCategorias.Obter(Guid.Parse(id))); } } if (mercadoriaViewModel.QuantidadeDeTamanhos != null) { mercadoriaViewModel.Tamanhos = new List <KeyValuePair <string, string> >((int)mercadoriaViewModel.QuantidadeDeTamanhos); for (int i = 0; i < mercadoriaViewModel.QuantidadeDeTamanhos; i++) { if ((form["tamanho" + (i + 1)] != null) && (form["quantidadeTamanho" + (i + 1)] != null)) { mercadoriaViewModel.Tamanhos.Add(new KeyValuePair <string, string>(form["tamanho" + (i + 1)], form["quantidadeTamanho" + (i + 1) ])); } } } mercadoriaViewModel.Arquivos = new List <HttpPostedFileWrapper>(); for (int i = 0; i < Request.Files.Count; i++) { var imagem = Request.Files[i] as HttpPostedFileWrapper; if ((imagem != null) && (imagem.ContentLength > 0)) { mercadoriaViewModel.Arquivos.Add(imagem); } } mercadoriaViewModel.Imagens.AddRange(FabricaDeImagem.Instancia().CriarImagens(mercadoriaViewModel.Arquivos)); for (int i = 0; i < MercadoriasViewModel.NumeroDeFotosPermitidas; i++) { var imagem = "imagem" + i; var nomeImagem = imagem + "Nome"; var conteudoImagem = imagem + "Conteudo"; var tamanhoImagem = imagem + "Tamanho"; var formatoImagem = imagem + "Formato"; if ((form[imagem] != null) && (form[imagem] != string.Empty)) { mercadoriaViewModel.Imagens.Add(FabricaDeImagem.Instancia().CriarImagem(form[nomeImagem], form[formatoImagem], form[conteudoImagem], form[tamanhoImagem])); } } if ((mercadoriaViewModel.Categorias == null) || (mercadoriaViewModel.Categorias.Count == 0)) { ModelState.AddModelError("Cat", "* É necessário selecionar pelo menos uma Categoria."); } if ((mercadoriaViewModel.Cores == null) || (mercadoriaViewModel.Cores.Count == 0)) { ModelState.AddModelError("Cor", "* É necessário selecionar pelo menos uma Cor."); } foreach (var tamanho in mercadoriaViewModel.Tamanhos) { int quantidade; try { quantidade = Convert.ToInt32(tamanho.Value); } catch { ModelState.AddModelError("Tamanho", "* A quantidade especificada para o tamanho " + tamanho.Key + " é inválida."); continue; } if (quantidade < 0) { ModelState.AddModelError("Tamanho", "* A quantidade especificada para o tamanho " + tamanho.Key + " deve ser maior que zero."); } } if (mercadoriaViewModel.Imagens.Count == 0) { ModelState.AddModelError("Foto", "* É necessário carregar pelo menos uma Foto."); } if (!ModelState.IsValid) { ViewData[MercadoriasViewModel.Mercadorias] = new MercadoriasViewModel(repositorioDeCategorias.ObterTodos()); return(View(mercadoriaViewModel)); } var mercadoria = Mapper.Map <MercadoriaViewModel, Mercadoria>(mercadoriaViewModel); FabricaDeMercadoria.Instancia() .CriarMercadoria(mercadoria, mercadoriaViewModel.Tamanhos, mercadoriaViewModel.Arquivos); bool adicionado = false; for (int i = 0; i < mercadoriaViewModel.Categorias.Count; i++) { var categoria = repositorioDeCategorias.Obter(mercadoriaViewModel.Categorias[i].Id); categoria.AdicionarMercadoria(mercadoria); if (repositorioDeCategorias.Editar(categoria)) { adicionado = true; } else { adicionado = false; break; } } if (adicionado) { return(RedirectToAction("Listar")); } ViewBag.Errou = true; ViewBag.Mensagem = "Não foi possível cadastrar a Mercadoria. Por favor informe ao administrador do sistema."; ViewData[MercadoriasViewModel.Mercadorias] = new MercadoriasViewModel(repositorioDeCategorias.ObterTodos()); return(View(mercadoriaViewModel)); }