public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } // atualizar para quando tiver mais de 1 bazar acontecendo ao mesmo tempo var bazar = _context.Bazares.OrderByDescending(b => b.Id).FirstOrDefault(b => b.Situacao != SituacaoBazar.Finalizado && b.Situacao != SituacaoBazar.Cancelado); if (bazar != null) { Colaborador.BazarId = bazar.Id; } _context.Colaboradores.Add(Colaborador); await _context.SaveChangesAsync(); if (Arquivo.Length > 0) { var extensao = Path.GetExtension(Arquivo.FileName); var nomeArquivo = Path.Combine(_ambiente.WebRootPath, "colaboradores", Colaborador.Id + extensao); using (var stream = new FileStream(nomeArquivo, FileMode.Create)) { Arquivo.CopyTo(stream); stream.Close(); } Colaborador.Foto = Colaborador.Id + extensao; _context.Attach(Colaborador).State = EntityState.Modified; await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> PutCategoria(int id, Categoria categoria) { if (id != categoria.Id) { return(BadRequest()); } _context.Entry(categoria).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CategoriaExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var bazar = _context.Bazares.OrderByDescending(b => b.Id).FirstOrDefault(b => b.Situacao != SituacaoBazar.Finalizado && b.Situacao != SituacaoBazar.Cancelado); if (bazar != null) { Banner.BazarId = bazar.Id; } _context.Banners.Add(Banner); await _context.SaveChangesAsync(); if (Arquivo.Length > 0) { var extensao = Path.GetExtension(Arquivo.FileName); var nomeArquivo = Path.Combine(_ambiente.WebRootPath, "banners", Banner.Id + extensao); using (var stream = new FileStream(nomeArquivo, FileMode.Create)) { Arquivo.CopyTo(stream); stream.Close(); } Banner.Imagem = Banner.Id + extensao; await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.Bazares.Add(Bazar); await _context.SaveChangesAsync(); if (Arquivo.Length > 0) { var extensao = Path.GetExtension(Arquivo.FileName); var nomeArquivo = Path.Combine(_ambiente.WebRootPath, "bazares", Bazar.Id + extensao); using (var stream = new FileStream(nomeArquivo, FileMode.Create)) { Arquivo.CopyTo(stream); stream.Close(); } Bazar.Logotipo = Bazar.Id + extensao; _context.Attach(Bazar).State = EntityState.Modified; await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.Attach(Categoria).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CategoriaExists(Categoria.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } // atualizar para quando tiver mais de 1 bazar acontecendo ao mesmo tempo var bazar = _context.Bazares.OrderByDescending(b => b.Id).FirstOrDefault(b => b.Situacao != SituacaoBazar.Finalizado && b.Situacao != SituacaoBazar.Cancelado); if (bazar != null) { Produto.BazarId = bazar.Id; } Produto.ValorAtual = Produto.ValorInicial; _context.Produtos.Add(Produto); await _context.SaveChangesAsync(); int i = 0; foreach (var arquivo in Arquivos) { if (arquivo.Length > 0) { var extensao = Path.GetExtension(arquivo.FileName); var nomeArquivo = Path.Combine(_ambiente.WebRootPath, "produtos", Produto.Id + "-" + ++i + extensao); using (var stream = new FileStream(nomeArquivo, FileMode.Create)) { arquivo.CopyTo(stream); stream.Close(); } if (i == 1) { Produto.FotoPrincipal = Produto.Id + "-1" + extensao; } } } Produto.TotalFotos = i; await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var bazar = _context.Bazares.OrderByDescending(b => b.Id).FirstOrDefault(b => b.Situacao != SituacaoBazar.Finalizado && b.Situacao != SituacaoBazar.Cancelado); if (bazar != null) { Categoria.BazarId = bazar.Id; } _context.Categorias.Add(Categoria); await _context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.Attach(Noticia).State = EntityState.Modified; try { int i = Noticia.TotalFotos; foreach (var arquivo in Arquivos) { if (arquivo.Length > 0) { var extensao = Path.GetExtension(arquivo.FileName); var nomeArquivo = Path.Combine(_ambiente.WebRootPath, "noticias", Noticia.Id + "-" + ++i + extensao); using (var stream = new FileStream(nomeArquivo, FileMode.Create)) { arquivo.CopyTo(stream); stream.Close(); } } } Noticia.TotalFotos = i; await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NoticiaExists(Noticia.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Edit", new { Id = Noticia.Id })); }
public async Task <IActionResult> OnGetAsync(long?id) { if (id == null) { return(NotFound()); } Noticia = await _context.Noticias.FirstOrDefaultAsync(m => m.Id == id); if (Noticia == null) { return(NotFound()); } Corpo = Markdown.ToHtml(Noticia.Corpo); Tags = Noticia.Tags?.Split(","); Fotos = new List <string>(); var diretorio = Path.Combine(_ambiente.WebRootPath, "noticias"); var di = new DirectoryInfo(diretorio); // coloca a foto principal como o primeiro da lista if (Noticia.FotoPrincipal != null) { Fotos.Add(Noticia.FotoPrincipal); } foreach (var f in di.GetFiles()) { if (f.Name.StartsWith(id + "-") && f.Name != Noticia.FotoPrincipal) { Fotos.Add(f.Name); } } Noticia.Visualizacoes++; await _context.SaveChangesAsync(); return(Page()); }
public async Task <DadosLance> Get([FromQuery] long produtoId, decimal valorLance, string usuario) { var dadosLance = new DadosLance(); // verifica se existe o usuário e o produto var user = await _context.Usuarios.FirstOrDefaultAsync(u => u.UserName == usuario); var produto = await _context.Produtos.FirstOrDefaultAsync(p => p.Id == produtoId); if (user != null && produto != null && valorLance > produto.ValorAtual) { // grava o lance no bd Lance lance = new Lance(); lance.ProdutoId = produtoId; lance.Usuario = usuario; lance.Valor = valorLance; lance.DataHora = DateTime.Now; _context.Lances.Add(lance); // atualiza o produto produto.QuantidadeLances++; produto.ValorAtual = valorLance; produto.UsuarioUltimoLance = usuario; _context.Attach(produto).State = EntityState.Modified; // salva no banco de dados try { await _context.SaveChangesAsync(); } catch (Exception ex) { } dadosLance.Id = lance.Id; dadosLance.ProdutoId = produtoId; dadosLance.ValorLance = valorLance; dadosLance.ValorAtual = valorLance; dadosLance.Usuario = user.Nome; } return(dadosLance); }
public async Task <IActionResult> OnGetAsync(long?id) { if (id == null) { return(NotFound()); } Produto = await _context.Produtos.Include(p => p.Categoria).FirstOrDefaultAsync(m => m.Id == id); Descricao = Markdown.ToHtml(Produto.Descricao); Fotos = new List <string>(); Lance = Produto.ValorAtual + Produto.ValorLance; var usuario = await _context.Usuarios.FirstOrDefaultAsync(u => u.UserName == Produto.UsuarioUltimoLance); PessoaUltimoLance = usuario?.Nome; var diretorio = Path.Combine(_ambiente.WebRootPath, "produtos"); var di = new DirectoryInfo(diretorio); // coloca a foto principal como o primeiro da lista if (Produto.FotoPrincipal != null) { Fotos.Add(Produto.FotoPrincipal); } foreach (var f in di.GetFiles()) { if (f.Name.StartsWith(id + "-") && f.Name != Produto.FotoPrincipal) { Fotos.Add(f.Name); } } Produto.Visualizacoes++; await _context.SaveChangesAsync(); return(Page()); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.Attach(Parceiro).State = EntityState.Modified; try { if (Arquivo?.Length > 0) { var extensao = Path.GetExtension(Arquivo.FileName); var nomeArquivo = Path.Combine(_ambiente.WebRootPath, "bazares", Parceiro.Id + extensao); using (var stream = new FileStream(nomeArquivo, FileMode.Create)) { Arquivo.CopyTo(stream); stream.Close(); } Parceiro.Logotipo = Parceiro.Id + extensao; } await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ParceiroExists(Parceiro.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Edit", new { Id = Parceiro.Id })); }