public IActionResult _UsarCodigoPartial(string cod) { CodigoPromocional codigo = _facade.Query <CodigoPromocional>(c => c.Codigo == cod && !c.Inativo, c => c).FirstOrDefault(); CodigoPromocionalModel vm = null; if (codigo == null) { ViewData["Error"] = "O código não existe."; } else { if (codigo.UsosRestantes <= 0) { ViewData["Error"] = "Esse código expirou. Tente outro código. \n"; } else { _vh = new CodigoPromocionalViewHelper { Entidades = new Dictionary <string, object> { [typeof(CodigoPromocional).Name] = codigo } }; vm = (CodigoPromocionalModel)_vh.ViewModel; } } return(PartialView("../CarrinhoCompra/PartialViews/_UsarCodigoPartial", vm)); }
protected override void ToViewModel() { PaginaFinalizarCompraModel vm = new PaginaFinalizarCompraModel(); Endereco endereco = (Endereco)Entidades[typeof(Endereco).Name]; IDictionary <CartaoCredito, double> cartoes = (IDictionary <CartaoCredito, double>)Entidades[typeof(IDictionary <CartaoCredito, double>).Name]; Cupom cupom = null; CodigoPromocional codigoPromo = null; if (Entidades.ContainsKey(typeof(Cupom).Name)) { cupom = (Cupom)Entidades[typeof(Cupom).Name]; } if (Entidades.ContainsKey(typeof(CodigoPromocional).Name)) { codigoPromo = (CodigoPromocional)Entidades[typeof(CodigoPromocional).Name]; } Carrinho carrinho = (Carrinho)Entidades[typeof(Carrinho).Name]; CarrinhoViewHelper carrinhoVh = new CarrinhoViewHelper { Entidades = new Dictionary <string, object> { [typeof(Carrinho).Name] = carrinho } }; vm.Pedido = (CarrinhoModel)carrinhoVh.ViewModel; DetalhesEnderecoViewHelper enderecoVh = new DetalhesEnderecoViewHelper { Entidades = new Dictionary <string, object> { [typeof(Endereco).Name] = endereco } }; vm.Endereco = (DetalhesEnderecoModel)enderecoVh.ViewModel; DetalhesCartaoViewHelper cartaoVh = new DetalhesCartaoViewHelper(); foreach (var entry in cartoes) { cartaoVh.Entidades = new Dictionary <string, object> { [typeof(CartaoCredito).Name] = entry.Key }; vm.Cartoes[(DetalhesCartaoModel)cartaoVh.ViewModel] = entry.Value; } if (cupom != null) { CupomViewHelper cupomVh = new CupomViewHelper { Entidades = new Dictionary <string, object> { [typeof(Cupom).Name] = cupom } }; vm.Cupom = (CupomModel)cupomVh.ViewModel; vm.Pedido.PrecoTotal -= vm.Cupom.Valor; } if (codigoPromo != null) { CodigoPromocionalViewHelper codigoVh = new CodigoPromocionalViewHelper { Entidades = new Dictionary <string, object> { [typeof(CodigoPromocional).Name] = codigoPromo } }; vm.CodigoPromo = (CodigoPromocionalModel)codigoVh.ViewModel; vm.Pedido.PrecoTotal -= vm.CodigoPromo.Valor; } vm.Frete = (double)Entidades[nameof(Pedido.Frete)]; _viewModel = vm; }