public async Task <IActionResult> PutProdutoTamanho(int id, ProdutoTamanho produtoTamanho) { if (id != produtoTamanho.IdProdutoTamanho) { return(BadRequest()); } _context.Entry(produtoTamanho).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProdutoTamanhoExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <ProdutoTamanho> > PostProdutoTamanho(ProdutoTamanho produtoTamanhos) { _context.ProdutoTamanho.Add(produtoTamanhos); await _context.SaveChangesAsync(); return(CreatedAtAction("GetProdutoTamanho", new { id = produtoTamanhos.IdProdutoTamanho }, produtoTamanhos)); }
private void bAdicionar_Click(object sender, EventArgs e) { if (validarProdutoTamanho()) { BancoDataContext banco = new BancoDataContext(); try { banco.Connection.Open(); ProdutoTamanho produtoTamanho = new ProdutoTamanho(); produtoTamanho.IDTamanho = int.Parse(cbIDTamanho.SelectedValue.ToString()); produtoTamanho.Tamanho = (from t in banco.Tamanho where t.IDTamanho == produtoTamanho.IDTamanho select t).SingleOrDefault(); produtoTamanho.Preco = decimal.Parse(tbPreco.Text.Replace("R$", "")); adicionarProdutoTamanho(produtoTamanho); } catch (Exception ex) { } finally { banco.Connection.Close(); cbIDTamanho.SelectedValue = string.Empty; tbPreco.Text = "0"; cbIDTamanho.Focus(); } } }
/// <summary> /// Retorna as numerações dos tamanhos. /// </summary> /// <param name="tamanhoId"></param> /// <param name="cssClass"></param> /// <param name="nameElemento"></param> /// <returns></returns> public MvcHtmlString Numeracao(ProdutoTamanho tamanho, string cssClass, string nameElemento) { var divNumeracao = new TagBuilder("div"); divNumeracao.MergeAttribute("id", Convert.ToString(tamanho.ProdutoId)); divNumeracao.AddCssClass("numeracao" + tamanho.ProdutoId); divNumeracao.AddCssClass(cssClass); divNumeracao.MergeAttribute("name", nameElemento); //divNumeracao.InnerHtml = Convert.ToString(tamanho.Tamanho.Referencia); return(MvcHtmlString.Create(divNumeracao.ToString())); }
public Produto( int id, string nome, double preco, int quantidade, ProdutoTamanho tamanho ) { Id = id; Nome = nome; Preco = preco; Quantidade = quantidade; Tamanho = tamanho; }
private void adicionarProdutoTamanho(ProdutoTamanho produtoTamanho) { bool adicionar = true; foreach (DataGridViewRow row in dgvProdutoTamanho.Rows) { if (int.Parse(row.Cells["colIDTamanho"].Value.ToString()) == produtoTamanho.IDTamanho) { adicionar = false; break; } } if (adicionar) { dgvProdutoTamanho.Rows.Add(produtoTamanho.IDTamanho, produtoTamanho.Tamanho.Descricao, produtoTamanho.Preco); } }
/// <summary> /// Método responsável em devolver todas as cores referente ao Tipo do produto /// </summary> /// <param name="produtoTipo"></param> /// <param name="nameElemento"></param> /// <param name="cssClass"></param> /// <param name="corId"></param> /// <param name="imagens"></param> /// <returns></returns> public MvcHtmlString Cores(ProdutoTamanho produtoTipo, string nameElemento, string cssClass, int corId, bool imagens) { var cores = produtoTipo.ProdutoCores.Where(c => c.ProdutoImagens.Any()); produtoTipo.ProdutoCores = cores.ToList(); if (corId == 0) { _tagDivCores = new TagBuilder("div"); _tagDivCores.InnerHtml += _tagCor; _tagDivPanelBody.InnerHtml += Imagem(0, 1, produtoTipo.ProdutoCores.First()).ToHtmlString(); } _tagDivCores = new TagBuilder("div"); _tagDivCores.AddCssClass(cssClass); _tagDivCores.MergeAttribute("Id", produtoTipo?.Produto?.Id.ToString()); _tagDivCores.AddCssClass("cores"); _tagDivCores.MergeAttribute("name", nameElemento); var produtoCores = produtoTipo.ProdutoCores.ToList(); var result = produtoCores; foreach (var produtoCor in result) { _tagCor = new TagBuilder("span"); _tagCor.MergeAttribute("Id", produtoCor.Id.ToString()); _tagCor.MergeAttribute("control-value", Convert.ToString(produtoCor.Id)); if (result.IndexOf(produtoCor) == 0) { var backgroundCor = ""; if (string.IsNullOrEmpty(produtoCor.Cor.Imagem)) { backgroundCor = "linear-gradient(to left," + produtoCor.Cor.Hexadecimal + "," + (produtoCor.Cor.HexadecimalCombinacao ?? produtoCor.Cor.Hexadecimal) + ")"; } else { backgroundCor = "url('" + produtoCor.Cor.Imagem + "'); background-size: 100% 100%;"; } _tagCor.MergeAttribute("style", "background: " + backgroundCor); if (corId == 0) { _tagCor.AddCssClass("selected"); } else if (produtoCor.Id == corId) { _tagCor.AddCssClass("selected"); } _tagCor.AddCssClass("btn btn-default btn-sm"); _tagCor.MergeAttribute("control-active", "true"); _tagCor.MergeAttribute("onclick", "Cores(" + Convert.ToString(produtoCor.Id) + ");"); // Imagem do Produto if (corId != 0 && imagens) { if (_tagDivPanelBody == null) { _tagDivPanelBody = new TagBuilder("div"); } _tagDivPanelBody.InnerHtml += Imagem(0, 1, produtoCor).ToHtmlString(); } } else { if (produtoCor.Id == corId) { _tagCor.AddCssClass("selected"); } _tagCor.AddCssClass("btn btn-default btn-sm"); var backgroundCor = ""; if (string.IsNullOrEmpty(produtoCor.Cor.Imagem)) { backgroundCor = "linear-gradient(to left," + produtoCor.Cor.Hexadecimal + "," + (produtoCor.Cor.HexadecimalCombinacao ?? produtoCor.Cor.Hexadecimal) + ")"; } else { backgroundCor = "url(" + produtoCor.Cor.Imagem + "); background-size: 100% 100%;"; } _tagCor.MergeAttribute("style", "background: " + backgroundCor); _tagCor.MergeAttribute("control-active", "false"); _tagCor.MergeAttribute("onclick", "Cores(" + Convert.ToString(produtoCor.Id) + ");"); } _tagDivCores.InnerHtml += _tagCor; } return(MvcHtmlString.Create(_tagDivCores.ToString())); }
public static MvcHtmlString Numeracao(this HtmlHelper htmlHelper, ProdutoTamanho tamanho, string cssClass, string nameElemento) { return(new ProdutoHelpers().Numeracao(tamanho, cssClass, nameElemento)); }
public static MvcHtmlString CoresProduto(this HtmlHelper htmlHelper, ProdutoTamanho produtoTipos, string cssClass, string idElemento, string nameElemento, int corID, bool imagens) { ProdutoHelpers pm = new ProdutoHelpers(); return(pm.Cores(produtoTipos, nameElemento, cssClass, corID, imagens)); }
/// <summary> /// Processa grade de produtos. /// </summary> /// <param name="pageNumber">Especifica número da página</param> /// /// <param name="totalPage">Total de páginas que será retornada</param> /// <returns></returns> private IList <Produto> CarregaGrade(int pageNumber, int totalPage) { var grades = _db.Produtos.AsNoTracking().OrderBy(c => c.Descricao).ToPagedList(pageNumber, totalPage); var resultado = (from g in grades join pt in _db.ProdutoTamanhos.AsNoTracking() on g.Id equals pt.ProdutoId join pc in _db.ProdutoCores.AsNoTracking() on pt.Id equals pc.ProdutoTamanhoId join pi in _db.ProdutoImagens.AsNoTracking() on pc.Id equals pi.ProdutoCorId join p in _db.ProdutosMontados.AsNoTracking() on g.Id equals p.ProdutoId where p.ProdutoTamanhoId == pt.Id && p.ProdutoCorId == pc.Id && p.Publica == 1 select new { GId = g.Id, PtId = pt.Id, PcId = pc.Id, g.Descricao, Tamanho = pt.Tamanho.Descricao, Cor = pc.Cor.Descricao, pc.Cor.Hexadecimal, pc.Cor.HexadecimalCombinacao, CorImagem = pc.Cor.Imagem, pi.Imagem }).OrderBy(c => c.Descricao); // Informações da paginção do conteúdo. TempData["FirstItemOnPage"] = grades.FirstItemOnPage; TempData["HasNextPage"] = grades.HasNextPage; TempData["HasPreviousPage"] = grades.HasPreviousPage; TempData["IsFirstPage"] = grades.IsFirstPage; TempData["IsLastPage"] = grades.IsLastPage; TempData["LastItemOnPage"] = grades.LastItemOnPage; TempData["PageCount"] = grades.PageCount; TempData["PageNumber"] = grades.PageNumber; TempData["PageSize"] = grades.PageSize; TempData["TotalItemCount"] = grades.TotalItemCount; // Prepara estrutura da grade. IList <Produto> grade = new List <Produto>(); // Grupo de grades var gGrade = resultado.GroupBy(c => new { c.GId, c.Descricao }); foreach (var g in gGrade) { var produto = new Produto() { Id = g.Key.GId, Descricao = g.Key.Descricao }; // Grupo de tamanhos da grade var gTamanhos = g.GroupBy(c => new { c.PtId, c.Tamanho }); // Inicializa coleção de tamanhos da grade. if (produto.ProdutoTamanhos == null) { produto.ProdutoTamanhos = new List <ProdutoTamanho>(); } foreach (var t in gTamanhos) { var tamanho = new ProdutoTamanho() { Id = t.Key.PtId, Tamanho = new Tamanho() { Descricao = t.Key.Tamanho } }; // Grupo de cores. var gCores = t.GroupBy(c => new { c.PcId, c.Cor, c.Hexadecimal, c.HexadecimalCombinacao, c.CorImagem }); // Inicializa coleção de cores do tamanho if (tamanho.ProdutoCores == null) { tamanho.ProdutoCores = new List <ProdutoCor>(); } foreach (var c in gCores) { var cor = new ProdutoCor() { Id = c.Key.PcId, Cor = new Cor() { Descricao = c.Key.Cor, Hexadecimal = c.Key.Hexadecimal, HexadecimalCombinacao = c.Key.HexadecimalCombinacao, Imagem = c.Key.CorImagem }, ProdutoImagens = new List <ProdutoImagem>() { { new ProdutoImagem() { Imagem = c.First().Imagem } } } }; tamanho.ProdutoCores.Add(cor); } produto.ProdutoTamanhos.Add(tamanho); } grade.Add(produto); } return(grade); }
private void bGravar_Click(object sender, EventArgs e) { if (validar()) { if (MessageBox.Show("Confirma a gravação do produto?", "Cofirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { bool erro = false; BancoDataContext banco = new BancoDataContext(); try { banco.Connection.Open(); banco.Transaction = banco.Connection.BeginTransaction(); Produto produto = new Produto(); if (operacao == "Alterar") { produto = (from p in banco.Produto where p.IDProduto == idProduto select p).SingleOrDefault(); banco.ProdutoTamanho.DeleteAllOnSubmit(produto.ProdutoTamanho); } produto.Descricao = tbDescricao.Text; produto.Status = cbStatus.Checked; produto.Referencia = tbReferencia.Text; foreach (DataGridViewRow row in dgvProdutoTamanho.Rows) { ProdutoTamanho produtoTamanho = new ProdutoTamanho(); produtoTamanho.IDTamanho = int.Parse(row.Cells["colIDTamanho"].Value.ToString()); produtoTamanho.Preco = decimal.Parse(row.Cells["colPreco"].Value.ToString()); produto.ProdutoTamanho.Add(produtoTamanho); } if (operacao == "Incluir") { produto.Status = true; banco.Produto.InsertOnSubmit(produto); } banco.SubmitChanges(); banco.Transaction.Commit(); MessageBox.Show("Produto gravado com sucesso.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("Erro ao gravar o produto.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); banco.Transaction.Rollback(); erro = true; } finally { banco.Connection.Close(); if (!erro) { operacao = "Outro"; this.Dispose(); } } } } }
public async Task <ActionResult> PostNotafiscalEntrada(Notafiscal notafiscal) { if (notafiscal != null) { auxNota = new Notafiscal(); auxNota.IdCliente = notafiscal.IdCliente; auxNota.DsTipo = notafiscal.DsTipo; auxNota.DtCriacao = DateTime.Now; _context.Notafiscal.Add(auxNota); _context.SaveChanges(); foreach (var prod in notafiscal.ProdutoTamanhos) { if (ExisteProdutoTamanho(prod.IdProduto, prod.IdTamanho)) { //var tamanhos = _context.ProdutoTamanho.FromSql("Select id_produto_tamanho from produto_tamanho where id_produto = prod.IdProduto and id_tamanho = prod.IdTamanho"); //var tamanhos = _context.ProdutoTamanho.Where(p => p.IdProduto == prod.IdProduto && p.IdTamanho == prod.IdTamanho).FirstOrDefault(); _context.Estoque.Add(new Estoque() { DsTipo = "Entrada", IdProdutoTamanho = 37, DtCriacao = DateTime.Now, IdNotafiscal = auxNota.IdNotafiscal, NmUsuario = "Edu", VlQuantidade = prod.VlQuantidade }); _context.SaveChanges(); } else { var produtoTamanho = new ProdutoTamanho(); produtoTamanho.IdProduto = prod.IdProduto; produtoTamanho.IdTamanho = prod.IdTamanho; produtoTamanho.VlQuantidade = prod.VlQuantidade; _context.ProdutoTamanho.Add(produtoTamanho); _context.SaveChanges(); _context.Estoque.Add(new Estoque() { DsTipo = "Entrada", IdProdutoTamanho = produtoTamanho.IdProdutoTamanho, DtCriacao = DateTime.Now, IdNotafiscal = auxNota.IdNotafiscal, NmUsuario = "Edu", VlQuantidade = produtoTamanho.VlQuantidade }); _context.SaveChanges(); } } } else { return(BadRequest()); } return(Ok(notafiscal)); }