public static void CriarAtualizacaoStatus(AtualizarStatus status) { using (var db = new APIContext()) { db.AtualizarStatusDAO.Add(status); db.SaveChanges(); } }
public ActionResult AtualizarStatus(PesquisaAdmin pesquisa) { log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); log.Debug("-------------------------------Atualizar Status"); Usuario admin = (Usuario)HttpContext.Session["admin"]; if (admin == null) { return(new RedirectResult("~/Admin/Admin/Login")); } List <Pedido> listaPedidosAlterados = new List <Pedido>(); string erro = "Não atualizou o dia: "; try { string data = pesquisa.Data.Replace("/", ""); DateTime diaPesquisa = new DateTime(Int32.Parse(data.Substring(4, 4)), Int32.Parse(data.Substring(2, 2)), Int32.Parse(data.Substring(0, 2))); log.Debug("-------------------------------ListarPedido"); List <Pedido> listaPedido = PedidoBO.ListarPedido(diaPesquisa.Year.ToString(), diaPesquisa.Month.ToString().PadLeft(2, '0'), diaPesquisa.Day.ToString().PadLeft(2, '0'), true); try { log.Debug("-------------------------------Salvar1"); this.SalvarStatusAlterado(listaPedido, listaPedidosAlterados); } catch (Exception e) { erro = erro + diaPesquisa + "/n"; log.Debug("-------------------------------Erro1:" + e.ToString()); } listaPedido.Clear(); DateTime diaPesquisa1 = diaPesquisa.AddDays(-1); listaPedido.AddRange(PedidoBO.ListarPedido(diaPesquisa1.Year.ToString(), diaPesquisa1.Month.ToString().PadLeft(2, '0'), diaPesquisa1.Day.ToString().PadLeft(2, '0'), true)); try { log.Debug("-------------------------------Salvar2"); this.SalvarStatusAlterado(listaPedido, listaPedidosAlterados); } catch (Exception e) { log.Debug("-------------------------------Erro2:" + e.ToString()); erro = erro + diaPesquisa1 + "/n"; } listaPedido.Clear(); DateTime diaPesquisa2 = diaPesquisa.AddDays(-2); listaPedido.AddRange(PedidoBO.ListarPedido(diaPesquisa2.Year.ToString(), diaPesquisa2.Month.ToString().PadLeft(2, '0'), diaPesquisa2.Day.ToString().PadLeft(2, '0'), true)); try { log.Debug("-------------------------------Salvar3"); this.SalvarStatusAlterado(listaPedido, listaPedidosAlterados); } catch (Exception e) { log.Debug("-------------------------------Erro3:" + e.ToString()); erro = erro + diaPesquisa2 + "/n"; } listaPedido.Clear(); DateTime diaPesquisa3 = diaPesquisa.AddDays(-3); listaPedido.AddRange(PedidoBO.ListarPedido(diaPesquisa3.Year.ToString(), diaPesquisa3.Month.ToString().PadLeft(2, '0'), diaPesquisa3.Day.ToString().PadLeft(2, '0'), true)); try { log.Debug("-------------------------------Salvar4"); this.SalvarStatusAlterado(listaPedido, listaPedidosAlterados); } catch (Exception e) { log.Debug("-------------------------------Erro4:" + e.ToString()); erro = erro + diaPesquisa3 + "/n"; } listaPedido.Clear(); DateTime diaPesquisa4 = diaPesquisa.AddDays(-4); listaPedido.AddRange(PedidoBO.ListarPedido(diaPesquisa4.Year.ToString(), diaPesquisa4.Month.ToString().PadLeft(2, '0'), diaPesquisa4.Day.ToString().PadLeft(2, '0'), true)); try { log.Debug("-------------------------------Salvar5"); this.SalvarStatusAlterado(listaPedido, listaPedidosAlterados); } catch (Exception e) { log.Debug("-------------------------------Erro5:" + e.ToString()); erro = erro + diaPesquisa4 + "/n"; } listaPedido.Clear(); DateTime diaPesquisa5 = diaPesquisa.AddDays(-5); listaPedido.AddRange(PedidoBO.ListarPedido(diaPesquisa5.Year.ToString(), diaPesquisa5.Month.ToString().PadLeft(2, '0'), diaPesquisa5.Day.ToString().PadLeft(2, '0'), true)); try { log.Debug("-------------------------------Salvar6"); this.SalvarStatusAlterado(listaPedido, listaPedidosAlterados); } catch (Exception e) { log.Debug("-------------------------------Erro6:" + e.ToString()); erro = erro + diaPesquisa5 + "/n"; } // https://dev.pagseguro.uol.com.br/docs/checkout-web-consulta#parametros-da-api /* * https://ws.pagseguro.uol.com.br/v2/transactions/9E884542-81B3-4419-9A75-BCC6FB495EF1 * [email protected] * &token=95112EE828D94278BD394E91C4388F20 * <transactionSearchResult> * <transactions> * <transaction> * <status> * Codigo Significado * 1 Aguardando pagamento: o comprador iniciou a transação, mas até o momento o PagSeguro não recebeu nenhuma informação sobre o pagamento. * 2 Em análise: o comprador optou por pagar com um cartão de crédito e o PagSeguro está analisando o risco da transação. * 3 Paga: a transação foi paga pelo comprador e o PagSeguro já recebeu uma confirmação da instituição financeira responsável pelo processamento. * 4 Disponível: a transação foi paga e chegou ao final de seu prazo de liberação sem ter sido retornada e sem que haja nenhuma disputa aberta. * 5 Em disputa: o comprador, dentro do prazo de liberação da transação, abriu uma disputa. * 6 Devolvida: o valor da transação foi devolvido para o comprador. * 7 Cancelada: a transação foi cancelada sem ter sido finalizada. * 8 Debitado: o valor da transação foi devolvido para o comprador. * 9 Retenção temporária: o comprador abriu uma solicitação de chargeback junto à operadora do cartão de crédito.*/ //XmlDocument doc = new XmlDocument(); // XmlNodeList infoElem = doc.GetElementsByTagName("status"); } catch (Exception e) { TempData["Erro"] = e.ToString(); } AtualizarStatus statusObj = new AtualizarStatus(); statusObj.HoraAtualizacao = DateTime.Now; statusObj.UsuarioAlteracao = admin; statusObj.NrPedidosAlterados = listaPedidosAlterados.Count; foreach (Pedido pedido in listaPedidosAlterados) { AtualizarStatusPedido asPedido = new AtualizarStatusPedido(); asPedido.PedidoId = pedido.Id; asPedido.Pedido = pedido; asPedido.AtualizarStatus = statusObj; statusObj.ListaPedidosAlterados.Add(asPedido); } //statusObj.ListaPedidosAlterados = listaPedidosAlterados; AtualizarStatusBO.CriarAtualizacaoStatus(statusObj); ViewBag.Status = statusObj; foreach (Pedido pedido in listaPedidosAlterados) { if (pedido.Status.Equals("3")) { this.EnviarEmailEnviarPedido(pedido); } } if (!string.IsNullOrEmpty(erro) && !erro.Equals("Não atualizou o dia: ")) { TempData["Erro"] = erro; } TempData["Mensagem"] = " Atualizacao efetuada com sucesso. Foram alterados:" + listaPedidosAlterados.Count + " registros."; return(View("Status")); }