protected void Button1_Click(object sender, EventArgs e) { try { int cont = 0; ConstruirEF cef = new ConstruirEF(); NSAADMEntities n = (NSAADMEntities)cef.RecuperaEntity(Entities.MercadoLivre); ConverterObjetoMLparaEF cf = new ConverterObjetoMLparaEF(); Usuario u = cm.RetornaUsuario(); ConverterObjetoMLparaEF c = new ConverterObjetoMLparaEF(); ListOrder o; ML_Order Ordem; ConverteVendas cv = new ConverteVendas(); GerenciarVendas gv = new GerenciarVendas(); NSAADM_HMLEntities ent = new NSAADM_HMLEntities(); do { o = cm.RetornarOrdens(u, cont); cont = o.results.Count + cont; foreach (Order or in o.results) { Ordem = (from p in n.ML_Order where p.id == or.id select p).FirstOrDefault(); if (Ordem == null) { Ordem = cf.ConverteOrdem(or, n); n.ML_Order.AddObject(Ordem); gv.IncluirVenda(cv.ConverteMLVendaEmVenda(Ordem, ent), ent); } else { cf.AtualizaOrdem(Ordem, or, n); gv.IncluirVenda(cv.ConverteMLVendaEmVenda(Ordem, ent), ent); } n.SaveChanges(); } } while (o.results.Count == 50); } catch (Exception ex) { throw new Exception("Erro na rotina Button1_Click",ex); } }
public void IncluirVenda(Venda v, NSAADM_HMLEntities e) { e.Vendas.AddObject(v); e.SaveChanges(); }
public Venda ConverteMLVendaEmVenda(ML_Order o, NSAADM_HMLEntities e) { String id; id = o.id.ToString(); ML_Shipping mS = o.ML_Shipping.FirstOrDefault(); ML_FeedbackSeller Fb = o.ML_FeedbackSeller.FirstOrDefault(); Venda v = new Venda(); v.data_venda = Convert.ToDateTime(o.date_created); v.valor_venda = (decimal)o.total_amount; v.valor_desconto = 0; v.data_final = Convert.ToDateTime(o.date_closed); if (Fb != null) { v.status = ConvertStatus(o.status, Fb.rating); } else { v.status = ConvertStatus(o.status, ""); } if (mS != null) { v.valor_frete = Convert.ToDecimal(mS.cost); } v.id_ML = id; Cliente c = (from p in e.Clientes where p.idML == id select p).FirstOrDefault(); if (c == null) { c = new Cliente(); c.email = o.ML_Usuario1.email; c.nome = o.ML_Usuario1.first_name; c.idML = o.id.ToString(); c.nicknName = o.ML_Usuario1.nickname; c.ultimoNome = o.ML_Usuario1.last_name; } v.Cliente = c; ML_OrderItem mo = o.ML_OrderItem.FirstOrDefault(); Produto pr = (from a in e.Produtoes where a.Descr == mo.ML_Item.title select a).FirstOrDefault(); if (pr == null) { pr = new Produto(); pr.Descr = mo.ML_Item.title; pr.qtd = (decimal)mo.quantity; } VendaProduto vp = new VendaProduto(); vp.Produto = pr; vp.Venda = v; vp.qtd = (decimal)mo.quantity; v.VendaProdutoes.Add(vp); return v; }