public IActionResult AdicionarLivro(AdminLivroModel livro) { _vh = new AdminLivroViewHelper { ViewModel = livro }; Livro livroNovo = (Livro)_vh.Entidades[typeof(Livro).Name]; Editora editora = _facade.Query <Editora>(e => e.Nome == livroNovo.Editora.Nome, e => e).FirstOrDefault(); if (editora != null) { livroNovo.Editora = editora; } GrupoPreco grp = _facade.GetEntidade(new GrupoPreco { Id = livroNovo.GrupoPrecoId }); livroNovo.CodigoBarras = GeraCodigoLivro(); if (livroNovo.Capa == null) { livroNovo.Capa = new byte[0]; } livroNovo.Inativo = true; string msg = _facade.Cadastrar(livroNovo); if (!String.IsNullOrEmpty(msg)) { TempData["Alert"] = msg; } return(RedirectToAction(nameof(ConfigLoja))); }
public IActionResult EditarLivro(AdminLivroModel livro) { _vh = new AdminLivroViewHelper { ViewModel = livro }; Livro ln = (Livro)_vh.Entidades[typeof(Livro).Name]; Livro l = _facade.GetAllInclude(ln); Editora editora = _facade.Query <Editora>(e => e.Nome == ln.Editora.Nome, e => e).FirstOrDefault(); if (editora == null) { ln.Editora = editora; } l.Altura = ln.Altura; l.Autor = ln.Autor; l.Comprimento = ln.Comprimento; l.DtLancamento = ln.DtLancamento; l.Edicao = ln.Edicao; l.Editora = ln.Editora; l.GrupoPrecoId = ln.GrupoPrecoId; l.Isbn = ln.Isbn; l.Largura = ln.Largura; l.Paginas = ln.Paginas; l.Peso = ln.Peso; l.Sinopse = ln.Sinopse; l.Titulo = ln.Titulo; l.Valor = ln.Valor; l.LivrosCategoriaLivros = ln.LivrosCategoriaLivros; GrupoPreco grp = _facade.GetEntidade(new GrupoPreco { Id = ln.GrupoPrecoId }); if (l.Valor < l.MaiorCusto + (l.MaiorCusto * (grp.MargemLucro / 100)) && !HttpContext.User.IsInRole("2")) { var valMin = l.MaiorCusto + l.MaiorCusto * (grp.MargemLucro / 100); TempData["Alert"] = "Você tentou inserir um valor inferior a margem de lucro desse livro. A margem de lucro" + $" do grupo de preço {grp.Nome} é {grp.MargemLucro}%, logo o preço mínimo deste livro é {valMin}. Tente novamente."; return(RedirectToAction(nameof(ConfigLoja))); } string msg = _facade.Editar(l); if (!String.IsNullOrEmpty(msg)) { TempData["Alert"] = msg; } return(RedirectToAction(nameof(ConfigLoja))); }
protected override void ToViewModel() { GrupoPreco grupoPreco = (GrupoPreco)Entidades[typeof(GrupoPreco).Name]; GrupoPrecoModel vm = new GrupoPrecoModel { Id = grupoPreco.Id, Inativo = grupoPreco.Inativo, MargemLucro = grupoPreco.MargemLucro, Nome = grupoPreco.Nome }; _viewModel = vm; }
public IActionResult _InativarReativarGrupoPrecoPartial(int id) { GrupoPreco grp = _facade.GetEntidade(new GrupoPreco { Id = id }); _vh = new GrupoPrecoViewHelper { Entidades = new Dictionary <string, object> { [typeof(GrupoPreco).Name] = grp } }; return(PartialView("../Admin/PartialViews/_InativarReativarGrupoPrecoPartial", _vh.ViewModel)); }
public IActionResult AdicionarGrupoPreco(GrupoPrecoModel grp) { _vh = new GrupoPrecoViewHelper { ViewModel = grp }; GrupoPreco grpNovo = (GrupoPreco)_vh.Entidades[typeof(GrupoPreco).Name]; string msg = _facade.Cadastrar(grpNovo); if (!String.IsNullOrEmpty(msg)) { TempData["Alert"] = msg; } return(RedirectToAction(nameof(ConfigLoja))); }
protected override void ToEntidade() { GrupoPrecoModel vm = (GrupoPrecoModel)ViewModel; GrupoPreco g = new GrupoPreco { Id = vm.Id, MargemLucro = vm.MargemLucro, Nome = vm.Nome }; _entidades = new Dictionary <string, object> { [typeof(GrupoPreco).Name] = g }; }
public IActionResult _EditarGrupoPrecoPartial(int id) { GrupoPreco grp = _facade.GetEntidade(new GrupoPreco { Id = id }); _vh = new GrupoPrecoViewHelper { Entidades = new Dictionary <string, object> { [typeof(GrupoPreco).Name] = grp } }; ViewBag.Operacao = "edit"; return(PartialView("../Admin/PartialViews/_ConfigGrupoPrecoPartial", _vh.ViewModel)); }
public IActionResult InativarReativarGrupoPreco(int id) { GrupoPreco grpDb = _facade.GetAllInclude(new GrupoPreco { Id = id }); if (!grpDb.Inativo) { foreach (var livro in grpDb.Livros) { livro.Inativo = true; _facade.Cadastrar(new Inativacao { LivroId = livro.Id, CategoriaId = 2 }); } } grpDb.Inativo = !grpDb.Inativo; string msg = _facade.Editar(grpDb); return(RedirectToAction(nameof(ConfigLoja))); }
public IActionResult EditarGrupoPreco(GrupoPrecoModel grp) { _vh = new GrupoPrecoViewHelper { ViewModel = grp }; GrupoPreco grpNovo = (GrupoPreco)_vh.Entidades[typeof(GrupoPreco).Name]; GrupoPreco grpDb = _facade.GetAllInclude(grpNovo); //Calcula novos preços baseados na margem de lucro foreach (var livro in grpDb.Livros) { if (livro.MaiorCusto.HasValue) { double custo = livro.MaiorCusto ?? 0; livro.Valor = custo + custo * grpDb.MargemLucro / 100; } else { livro.Inativo = true; } } grpDb.Nome = grpNovo.Nome; grpDb.MargemLucro = grpNovo.MargemLucro; string msg = _facade.Editar(grpDb); if (!String.IsNullOrEmpty(msg)) { TempData["Alert"] = msg; } return(RedirectToAction(nameof(ConfigLoja))); }