/// <summary> /// NÃO IMPLEMENTADO - COLOCAR ELE COMO PUBLICO DEPOIS. /// </summary> /// <param name="o"></param> /// <param name="n"></param> public void GravaOrdem(Order o, NSAADMEntities n) { try { ML_Order Ordem; ConverterObjetoMLparaEF cf = new ConverterObjetoMLparaEF(); Ordem = (from p in n.ML_Order where p.id == o.id select p).FirstOrDefault(); if (Ordem == null) { Ordem = cf.ConverteOrdem(o, n); n.ML_Order.AddObject(Ordem); } else { cf.AtualizaOrdem(Ordem, o, n); } n.SaveChanges(); } catch (Exception ex) { throw new Exception("Erro na rotina GravaOrdem.", ex); } }
/// <summary> /// Recebe uma Order e Retona um ML_Order cadastrado no EF /// </summary> /// <param name="o">Objeto Order usado na pesquisa</param> /// <param name="n">Objeto NSAADMEntities onde vai ser pesquisado</param> /// <returns>Retorna o objeto ML_Order casdastrado no EF</returns> public ML_Order RetonarOrder(Order o, NSAADMEntities n) { try { ML_Order mo = (from p in n.ML_Order where p.id == o.id select p).First(); return mo; } catch (Exception ex) { throw new Exception("Erro na rotina RetonarOrder.", ex); } }
public void AtualizaOrdem(ML_Order o, Order oML, NSAADMEntities n1) { try { if (o.ML_FeedbackBuyer != null) { o.ML_FeedbackBuyer.Load(); } if (o.ML_FeedbackSeller != null) { o.ML_FeedbackSeller.Load(); } if (o.ML_Payment != null) { o.ML_Payment.Load(); } if (oML.status != null) { o.status = oML.status; } if (oML.status_detail != null) { o.status_detail = oML.status_detail.description; } AtualizaFeedBackBuyer(o, oML, n1); AtualizaFeedBackSeller(o, oML, n1); AtualizaShipping(o, oML, n1); ML_Payment p = o.ML_Payment.FirstOrDefault(); if (p != null) AtualizaPagamento(p, oML.payments.First(), n1); } catch (Exception ex) { throw new Exception("Erro na rotina AtualizaOrdem(ML_Order o, Order oML)", ex); } }
private Sale RetornaFeedBackSeller(Order o) { if (o.feedback != null) { if (o.feedback.sale != null) { return o.feedback.sale; } else { return null; } } else { return null; } }
private Purchase RetornaFeedBackPurchase(Order o) { if (o.feedback != null) { if (o.feedback.purchase != null) { return o.feedback.purchase; } else { return null; } } else { return null; } }
private void AtualizaShipping(ML_Order o, Order oML, NSAADMEntities n) { try { if (oML.shipping.id != null) { o.ML_Shipping.Load(); ML_Shipping ship; ship = o.ML_Shipping.FirstOrDefault(); if (ship == null) { ship = ConverteShipping(oML, n); o.ML_Shipping.Add(ship); } else { ship.status = oML.shipping.status; ship.shipment_type = oML.shipping.shipment_type; ship.currency_id = oML.shipping.currency_id; ship.cost = oML.shipping.cost; } } } catch (Exception ex) { throw new Exception(String.Format("Erro na rotina AtualizaShipping. {0} oML.id = {1} {0}", Environment.NewLine, oML.id), ex); } }
private void AtualizaFeedBackSeller(ML_Order o, Order oML, NSAADMEntities n) { try { if (o.ML_FeedbackSeller.Count > 0) { if (RetornaFeedBackSeller(oML) != null) { ML_FeedbackSeller MLs = o.ML_FeedbackSeller.First(); Sale s = RetornaFeedBackSeller(oML); MLs.date_created = s.date_created; MLs.fulfilled = s.fulfilled.ToString(); MLs.rating = s.rating; o.ML_FeedbackSeller.Add(MLs); } } else { if (RetornaFeedBackSeller(oML) != null) { ML_FeedbackSeller MLs1 = new ML_FeedbackSeller(); Sale s1 = RetornaFeedBackSeller(oML); MLs1.date_created = s1.date_created; MLs1.fulfilled = s1.fulfilled.ToString(); MLs1.rating = s1.rating; MLs1.id_order = o.id; o.ML_FeedbackSeller.Add(MLs1); } } } catch (Exception ex) { throw new Exception("Erro na rotina AtualizaFeedBackSeller", ex); } }
private void AtualizaFeedBackBuyer(ML_Order o, Order oML, NSAADMEntities n) { try { if (o.ML_FeedbackBuyer.Count > 0) { if (RetornaFeedBackPurchase(oML) != null) { ML_FeedbackBuyer b = o.ML_FeedbackBuyer.First(); Purchase p = RetornaFeedBackPurchase(oML); b.date_created = p.date_created; b.fulfilled = p.fulfilled.ToString(); b.rating = p.rating; } } else { if (RetornaFeedBackPurchase(oML) != null) { ML_FeedbackBuyer b1 = new ML_FeedbackBuyer(); Purchase p1 = RetornaFeedBackPurchase(oML); b1.date_created = p1.date_created; b1.fulfilled = p1.fulfilled.ToString(); b1.rating = p1.rating; b1.id_order = o.id; n.ML_FeedbackBuyer.AddObject(b1); o.ML_FeedbackBuyer.Add(b1); } } } catch (Exception ex) { throw new Exception("Erro na rotina AtualizaFeedBackBuyer.", ex); } }
public ML_Shipping ConverteShipping(Order o, NSAADMEntities n) { ControlaEndereco ControlEnd = new ControlaEndereco(); if (o.shipping.id != null) { //IMPLEMENTAR ENDERECO ML_Shipping s = new ML_Shipping(); s.cost = o.shipping.cost; s.currency_id = o.shipping.currency_id; if (o.shipping.date_created != null) { s.date_created = Convert.ToDateTime(o.shipping.date_created); } s.id = Convert.ToDecimal(o.shipping.id); s.shipment_type = o.shipping.shipment_type; s.status = o.shipping.status; if (o.shipping.receiver_address != null && o.shipping.receiver_address.id != null) { ML_ReceiverAddress rc; decimal d = Convert.ToDecimal(o.shipping.receiver_address.id); rc = (from p in n.ML_ReceiverAddress where p.ID == d select p).FirstOrDefault(); if (rc == null) { rc = new ML_ReceiverAddress(); rc.address_line = o.shipping.receiver_address.address_line; rc.comment = o.shipping.receiver_address.comment; rc.ID = Convert.ToDecimal(o.shipping.receiver_address.id.ToString()); //rc.latitude = o.shipping.receiver_address.latitude.ToString(); Todos vem Null //rc.longitude = o.shipping.receiver_address.longitude.ToString(); rc.zip_code = o.shipping.receiver_address.zip_code; rc.ML_State = ControlEnd.RetonarStado(o.shipping.receiver_address.state.id, n); if (rc.ML_State == null && o.shipping.receiver_address.state.id != null) { rc.ML_State = ConverteState(o.shipping.receiver_address.state); } rc.ML_City = ControlEnd.RetonarCidade(o.shipping.receiver_address.city.id, n); if (rc.ML_City == null && o.shipping.receiver_address.city.id != null) { rc.ML_City = ConverteCity(o.shipping.receiver_address.city); } rc.ML_Country = ControlEnd.RetonarPais(o.shipping.receiver_address.country.id, n); if (rc.ML_Country == null && o.shipping.receiver_address.country.id != null) { rc.ML_Country = ConverteCountry(o.shipping.receiver_address.country); } } s.ML_ReceiverAddress = rc; } return s; } else { return null; } }
public ML_Order ConverteOrdem(Order o, NSAADMEntities n) { try { ControlaUsuario ControlaUsu = new ControlaUsuario(); ControlaItem ControlaIt = new ControlaItem(); ControlaEndereco ControlEnd = new ControlaEndereco(); ConstruirEF cf = new ConstruirEF(); ML_Order ord = new ML_Order(); //CONVERTENDO COMPRADOR E VENDEDOR ML_Usuario buy = ControlaUsu.RetonarUsuario(o.buyer.id, n); if (buy == null) { buy = ConverteUsuario(o.buyer); } ML_Usuario sel = ControlaUsu.RetonarUsuario(o.seller.id, n); if (sel == null) { sel = ConverteUsuario(o.seller); } ord.ML_Usuario = sel; ord.ML_Usuario1 = buy; //ITENS DA ORDEM ML_OrderItem oi; foreach (OrderItem item in o.order_items) { oi = new ML_OrderItem(); oi.currency_id = item.currency_id; oi.quantity = item.quantity; oi.unit_price = item.unit_price; ML_Item mitem = ControlaIt.RetonarItem(o.order_items[0].item.id, n); if (mitem == null) { mitem = ConverteItem(o.order_items[0].item); } oi.ML_Item = mitem; ord.ML_OrderItem.Add(oi); } ML_Payment pa; foreach (Payment p in o.payments) { pa = new ML_Payment(); pa.currency_id = p.currency_id; pa.date_created = p.date_created; pa.date_last_updated = p.date_last_updated; pa.status = p.status; pa.transaction_amount = p.transaction_amount; pa.id = p.id; ord.ML_Payment.Add(pa); } if (o.feedback != null) { if (o.feedback.purchase != null) { ML_FeedbackBuyer feeb = new ML_FeedbackBuyer(); feeb.date_created = o.feedback.purchase.date_created; feeb.fulfilled = o.feedback.purchase.fulfilled.ToString(); feeb.rating = o.feedback.purchase.rating; feeb.id_order = o.id; ord.ML_FeedbackBuyer.Add(feeb); } if (o.feedback != null) { if (o.feedback.sale != null) { ML_FeedbackSeller fees = new ML_FeedbackSeller(); fees.date_created = o.feedback.sale.date_created; fees.fulfilled = o.feedback.sale.fulfilled.ToString(); fees.rating = o.feedback.sale.rating; fees.id_order = o.id; ord.ML_FeedbackSeller.Add(fees); } } } ML_Shipping s = new ML_Shipping(); s = ConverteShipping(o, n); if (s != null) ord.ML_Shipping.Add(s); //DADOS DA ORDEM ord.id = o.id; ord.currency_id = o.currency_id; ord.date_closed = o.date_closed; ord.date_created = o.date_created; ord.status = o.status; //ord.status_detail = o.status_detail.description; ord.total_amount = o.total_amount; return ord; } catch (Exception ex) { throw new Exception(string.Format("Erro na rotina de ConverteOrdem. OrdemID: {0}",o.id), ex); } }