//listar itens do pedido public static DataTable ListarItemPedido(int idPedido) { DadosPedido obj = new DadosPedido(); obj.IdPedido = idPedido; return(obj.ListarItensPedido(obj)); }
public Retorno CriarTransacao(DadosPedido dadosPedido, DadosEcAutenticacao dadosEc, FormaPagamento formaPagamento, Uri urlRetorno, RequisicaoNovaTransacaoAutorizar reqAutorizar, bool capturar) { var ret = new Retorno(); var msg = new RequisicaoNovaTransacao { id = dadosPedido.numero, versao = MensagemVersao.v110, dadosec = dadosEc, dadospedido = dadosPedido, formapagamento = formaPagamento, urlretorno = urlRetorno.AbsoluteUri, autorizar = reqAutorizar, capturar = capturar }; try { var xml = msg.ToXml <RequisicaoNovaTransacao>(Encoding.GetEncoding("iso-8859-1")); var res = EnviarMensagem(xml); ret = XmlToRetorno(res); } catch (Exception ex) { throw ex; } return(ret); }
//listando dados do pedido public static DataTable DetalhePedido(int idVendedor) { DadosPedido obj = new DadosPedido(); obj.IdVendedor = idVendedor; return(obj.DetalhePedido(obj)); }
//verificar compras abertas public static DataTable VerificarComprasAbertas(int idVendedor, int idCaixa) { DadosPedido obj = new DadosPedido(); obj.IdVendedor = idVendedor; obj.IdCaixa = idCaixa; return(obj.VerificarComprasAbertas(obj)); }
public void RealizaVenda(PedidoCliente pedidoCliente, DadosPedido dadosPedido) { using (var transaction = contexto.Database.BeginTransaction()) { try { EmailService emailService = new EmailService(); pedidoCliente.CodigoRastreio = "4WEB" + (new Random().Next(0, 1000000)).ToString().PadLeft(8, '0'); pedidoCliente.Numero = (new Random().Next(0, 1000000)); foreach (var item in pedidoCliente.Produtos) { item.IdProduto = item.Produto.IdProduto; Produto p = contexto.Produto.FirstOrDefault(x => x.IdProduto == item.IdProduto); p.QuantidadeEmEstoque -= item.Quantidade; contexto.Entry(p).State = System.Data.Entity.EntityState.Modified; if (p.QuantidadeEmEstoque < p.QuantidadeEstoqueMinimo) { try { string email = ConfigurationManager.AppSettings["emailResponsavel"]?.ToString(); emailService.SendEmail(new List <string> { email }, "Produto em falta", $"O produto {p.Nome} encontra-se com baixa quantidade em estoque. Repor imediatamente."); } catch { } } item.Produto = null; } contexto.PedidoCliente.Add(pedidoCliente); contexto.SaveChanges(); Faturamento faturamento = new Faturamento(); Pagamento pagamento = new Pagamento(); pagamento.Data = DateTime.Now; pagamento.MeioPagamento = (Dominio.Enums.MeioPagamento)dadosPedido.MeioPagamento; pagamento.Origem = pedidoCliente.IdCliente; contexto.Pagamento.Add(pagamento); contexto.SaveChanges(); faturamento.Pagamento = pagamento; faturamento.PedidoCliente = pedidoCliente; contexto.Faturamento.Add(faturamento); contexto.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }
//fechar compra public static string FecharCompra(int idPedido, StatusPedido idStatus) { DadosPedido obj = new DadosPedido(); obj.IdPedido = idPedido; obj.IdStatusPedido = idStatus; //obj.IdCliente = idCliente; return(obj.FecharCompra(obj)); }
//inserindo item no pedido public static string InserirItemPedido(int idPedido, int idProduto, int quantidade, int estoqueQuantidade) { DadosPedido obj = new DadosPedido(); obj.IdPedido = idPedido; obj.IdProduto = idProduto; obj.Quantidade = quantidade; obj.EstoqueQuantidade = estoqueQuantidade; return(obj.InsertItemPedido(obj)); }
public Retorno CriarTransacao(DadosPedido dadosPedido, Bandeira bandeira, Uri urlRetorno) { var dadosEc = new DadosEcAutenticacao { numero = Numero, chave = Chave }; var formaPagamento = new FormaPagamento { bandeira = bandeira, parcelas = 1, produto = FormaPagamentoProduto.CreditoAVista }; var req = RequisicaoNovaTransacaoAutorizar.AutorizarAutenticadaENaoAutenticada; var capturar = true; return(CriarTransacao(dadosPedido, dadosEc, formaPagamento, urlRetorno, req, capturar)); }
//cadastro nova compra public static string CadastroNovaCompra(int idCliente, int idVendedor, StatusPedido idStatusPedido, TipoEntrega idTipoEntrega, DateTime dataAbertura, int idCaixa) { DadosPedido obj = new DadosPedido(); obj.IdCliente = idCliente; obj.IdVendedor = idVendedor; obj.IdStatusPedido = idStatusPedido; obj.IdTipoEntrega = idTipoEntrega; obj.DataAbertura = dataAbertura; obj.IdCaixa = idCaixa; return(obj.CadastroNovaCompra(obj)); }
public ActionResult Index() { var cielo = new CieloClient(); var pedido = new DadosPedido("1254", 1.00M, "produto"); var resposta = cielo.CriarTransacao(pedido, Bandeira.Visa, new Uri("http://localhost:57660/Home/Retorno/1254")); if (!resposta.IsErro()) { Session["tid"] = resposta.Transacao.tid; return(Redirect(resposta.Transacao.urlautenticacao)); } else { return(View()); } }
public bool ConfirmarCompra() { ProdutoCadastro produtoNeg = new ProdutoCadastro(); DadosPedido dadosPedido = Session["DadosPedido"] as DadosPedido; PedidoCliente pedidoCliente = Session["PedidoCliente"] as PedidoCliente; Session["Carrinho"] = null; Session["DadosPedido"] = null; Session["PedidoCliente"] = null; try { produtoNeg.RealizaVenda(pedidoCliente, dadosPedido); } catch (Exception ex) { return(false); } return(true); }
public static DadosPedido getDadosPedido(int _numped) { DadosPedido dp = new DadosPedido(); using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConn"].ToString())) { SqlCommand cmm = cnn.CreateCommand(); cmm.CommandText = "SELECT Pedidos.ID_Paciente, Pedidos.Nome_Paciente, Pedidos.Cod_Tipo_Paciente, Pedidos.Cod_Procedencia, Pedidos.Cod_Tipo_Procedencia, " + "Pedidos.CPF_Solcitante, Pedidos.Cod_Grupo_Exame, Pedido_Extra.DataHora, Pedidos.Cod_Status, Grupo_Exame.Descricao " + "FROM Pedidos INNER JOIN " + "Pedido_Extra ON Pedidos.Num_Pedido = Pedido_Extra.Num_Pedido INNER JOIN " + "Grupo_Exame ON Pedidos.Cod_Grupo_Exame = Grupo_Exame.Cod_Grupo_Exame " + "WHERE (Pedidos.Num_Pedido = @numped)"; cmm.Parameters.Add("@numped", SqlDbType.Int).Value = _numped; cnn.Open(); try { SqlDataReader dr = cmm.ExecuteReader(); if (dr.Read()) { dp.Numpedido = _numped; dp.Id = dr.GetInt32(0); dp.Nome = dr.GetString(1); dp.Tip_id = dr.GetInt32(2); dp.Cod_setor = dr.GetInt32(3); dp.Tipo_Setor = dr.GetInt32(4); dp.Cpf_med = dr.GetString(5); dp.Exm_id = dr.GetInt32(6); dp.Dt = dr.GetDateTime(7); dp.Cod_status = dr.GetInt32(8); dp.Exame = dr.GetString(9); } } catch (Exception ex) { string erro = ex.Message; } } return(dp); }
public JsonResult FinalizarPedido(DadosPedido pedido) { Cliente cliente = Session["Cliente"] as Cliente; Endereco enderecoEntrega = new Endereco(); enderecoEntrega.Rua = pedido.Endereco; enderecoEntrega.CEP = Convert.ToInt64(pedido.CEP); enderecoEntrega.Numero = pedido.Numero; enderecoEntrega.Bairro = pedido.Bairro; Session["ValorFrete"] = pedido.ValorFrete; Session["DadosPedido"] = pedido; CidadeCadastro cidadeNeg = new CidadeCadastro(); Cidade cidade = cidadeNeg.BuscaCidade(pedido.Cidade); if (cidade == null) { return(Json(new { CodRetorno = "aviso", Mensagem = "Cidade não encontrada" })); } else { enderecoEntrega.Cidade = cidade; } enderecoEntrega.Complemento = pedido.Complemento; PedidoCliente pedidoCliente = new PedidoCliente { Data = DateTime.Now, EnderecoEntrega = enderecoEntrega, IdCliente = cliente.Id, Status = Dominio.Enums.StatusPedido.AguardandoConfirmacaoPagamento }; List <Produto> carrinho = Session["Carrinho"] as List <Produto> ?? new List <Produto>(); ProdutoCadastro produtoNeg = new ProdutoCadastro(); if (produtoNeg.ValidaQuantidadeEstoque(carrinho)) { var produtos = carrinho .GroupBy(x => x.IdProduto) .Select(x => new PedidoClienteProduto { Produto = x.FirstOrDefault(), Quantidade = x.Count() }).ToList(); pedidoCliente.Produtos = produtos; Session["PedidoCliente"] = pedidoCliente; return(Json(new { CodRetorno = "sucesso", Mensagem = "Você será redirecionado para conclusão do pedido" })); } else { Session["Carrinho"] = null; Session["DadosPedido"] = null; Session["PedidoCliente"] = null; return(Json(new { CodRetorno = "erro", Mensagem = "Os produtos não estão mais disponíveis" })); } }