public ActionResult Vender(FormCollection valores) { var produto = valores["produto"]; var quantidade = Int16.Parse(valores["quantidade"]); var valor = Decimal.Parse(valores["valor"]); //formas de pagamento diversas var paraProcessar = new RepositorioDePagamentosParaProcessar(); for(int i=0;i<quantidade;i++) paraProcessar.NovaVendaParaProcessar(new Venda(produto, 1, valor)); ViewBag.Venda = string.Format("Venda de {0} {1} realizada. Aguarde Confirmação de pagamento.",quantidade,produto); return RedirectToAction("Index"); }
public override void Run() { Trace.WriteLine("ProcessadorDePagamentos entry point called", "Infrmation"); var pagamentosParaProcessar = new RepositorioDePagamentosParaProcessar(); while (true) { Trace.TraceInformation("obtendo pagamento para processar..."); var pagamentoParaProcessar = pagamentosParaProcessar.ProximoPagamentoParaProcessar(); if (pagamentoParaProcessar != null) { Trace.TraceInformation("processando pagamento"); Thread.Sleep(15000); Trace.TraceInformation("pagamento processado"); pagamentosParaProcessar.PagamentoProcessado(pagamentoParaProcessar); } else { Trace.TraceInformation("nenhum pagamento para processar, dormindo..."); Thread.Sleep(60000); } } }