// GET api/products/{id} public Artigo GetProduct(string id) { List <double> precos = new List <double>(); double sumPrecos = 0; Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id); if (artigo == null) { return(null); //throw new HttpResponseException( // Request.CreateResponse(HttpStatusCode.NotFound)); } else { artigo = Lib_Primavera.PriIntegration.GetPrecoArtigo(artigo); precos = Lib_Primavera.PriIntegration.GetTodosPrecosArtigo(artigo); foreach (double preco in precos) { sumPrecos += preco; } artigo.PrecoMedio = sumPrecos / precos.Count; return(artigo); } }
public Lib_Primavera.Model.Artigo Get(string id) { Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id); if (artigo == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } return(artigo); }
public Artigo GetProductDetails(string productID) { Lib_Primavera.Model.Artigo product = Lib_Primavera.PriIntegration.GetArtigo(productID); if (product == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } else { return(product); } }
public ActionResult Artigo(string id) { Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id); List <Lib_Primavera.Model.Artigo> recomendados = Lib_Primavera.PriIntegration.ListaTop4ArtigosCategoria(artigo.Categoria, artigo.CodArtigo); List <Lib_Primavera.Model.Armazem> armazens = Lib_Primavera.PriIntegration.ListaArmazensProduto(id); ViewBag.artigo = artigo; ViewBag.recomendados = recomendados; ViewBag.armazens = armazens; ViewBag.categoria = Lib_Primavera.PriIntegration.GetCategoria(artigo.Categoria); return(View()); }
// GET api/artigo/5 public Artigo Get(string id) { Lib_Primavera.Model.Artigo artigo = Lib_Primavera.Comercial.GetArtigo(id); if (artigo == null) { throw new HttpResponseException( Request.CreateResponse(HttpStatusCode.NotFound)); } else { return(artigo); } }
// GET api/artigo/5 public Artigo Get(string id) { //Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id); Lib_Primavera.Model.Artigo artigo = DashboardIntegration.Parser.StagingAPI.GetArtigo(id); if (artigo == null) { throw new HttpResponseException( Request.CreateResponse(HttpStatusCode.NotFound)); } else { return(artigo); } }
// GET api/artigos/5 public Artigo Get(string id) { Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id); if (artigo == null) { throw new HttpResponseException( Request.CreateResponse(HttpStatusCode.NotFound)); } else { HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", LocalhostIP.localhostIP()); return(artigo); } }
public Artigo Get_Info(string id) { id = id.Replace("_", "."); Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id); if (artigo == null) { throw new HttpResponseException( Request.CreateResponse(HttpStatusCode.NotFound)); } else { return(artigo); } }
// POST api/artigo/5 public Artigo Post(string id, [FromBody] Lib_Primavera.Model.Login login) { //Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id, login.company, login.user, login.password); Lib_Primavera.Model.Artigo artigo = DashboardIntegration.Parser.StagingAPI.GetArtigo(id); if (artigo == null) { throw new HttpResponseException( Request.CreateResponse(HttpStatusCode.NotFound)); } else { return(artigo); } }
public Artigo Get(string id) { id = id.Replace("!", "."); Lib_Primavera.Model.Artigo artigo = Lib_Primavera.Artigos.GetArtigo(id); if (artigo == null) { //throw new HttpResponseException( // Request.CreateResponse(HttpStatusCode.NotFound)); return(null); } else { return(artigo); } }
// POST api/artigos public HttpResponseMessage Post(Lib_Primavera.Model.Artigo artigo) { Lib_Primavera.Model.RespostaErro erro = Lib_Primavera.PriIntegration.InsereArtigoObj(artigo); if (erro.Erro == 0) { var response = Request.CreateResponse( HttpStatusCode.Created, erro.Descricao); return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, erro.Descricao)); } }
public HttpResponseMessage Put(string id, Lib_Primavera.Model.Artigo artigo) { Lib_Primavera.Model.RespostaErro erro = new Lib_Primavera.Model.RespostaErro(); try { erro = Lib_Primavera.PriIntegration.UpdArtigo(artigo); if (erro.Erro == 0) { return(Request.CreateResponse(HttpStatusCode.OK, erro.Descricao)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, erro.Descricao)); } } catch (Exception exc) { return(Request.CreateResponse(HttpStatusCode.BadRequest, erro.Descricao)); } }
public JsonResult AdicionaArtigoCarrinho([FromBody] Lib_Primavera.Model.Artigo artigo) { try { int clienteId = Int32.Parse(Request.Cookies["UserId"].Value); String productId = artigo.CodArtigo; String productName = artigo.DescArtigo; float productPrice = (float)artigo.Preco; int quantity = artigo.Quantidade; var db = new FirstREST.Models.StoreEntities(); var art = new FirstREST.Models.Cart { ClientId = clienteId, ProductId = productId, ProductName = productName, ProductPrice = productPrice, Quantity = quantity }; db.Carts.Add(art); db.SaveChanges(); return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { var msg = e.StackTrace; return(Json(new { success = false, msg = e.StackTrace }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Index(String op, String op_dois) { if (op == "Categoria") { if (op_dois == null) { List <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); artigos.OrderByDescending(p => p.ID); IEnumerable <Lib_Primavera.Model.Artigo> temp = artigos.Take(3); ViewBag.top = temp; return(View("/Views/Home/Index.cshtml")); } else { List <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); List <Lib_Primavera.Model.Artigo> artigos2 = new List <Lib_Primavera.Model.Artigo>(); foreach (var ar in artigos) { if (ar.SubFamilia == op_dois) { artigos2.Add(ar); } } //if(artigos2.Count() == 0) // return View("/Views/Home/Index.cshtml"); //else{ ViewBag.cat = op_dois; ViewBag.artigos = artigos2; return(View("/Views/ArtigoPage/produtos.cshtml")); //} } } else if (op == "Artigos") { if (op_dois == null) { IEnumerable <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); ViewBag.artigos = artigos; return(View("/Views/ArtigoPage/produtos.cshtml")); } else { Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(op_dois); ViewBag.id = artigo.ID; ViewBag.model = artigo.Marca; ViewBag.preco = Math.Round(double.Parse(artigo.Preço) * (1 + 23.0 / 100.0), 2); ViewBag.descricao = artigo.Descricao; ViewBag.stoke = artigo.SubFamilia; ViewBag.imagem = artigo.CDU_Imagem; ViewBag.stk = artigo.STKActual; ViewBag.Nome = artigo.Nome; var index = 0; var index2 = 0; List <Lib_Primavera.Model.Artigo> listArts = Lib_Primavera.PriIntegration.GetArtigosByCategoria(artigo.SubFamilia); foreach (var v in listArts) { if (v.ID.Equals(artigo.ID)) { index2 = index; } index++; } listArts.RemoveAt(index2); ViewBag.artigos = listArts.Take(3); //fazer os recomendados , que acho que nao esta a dar a outra funçao. List <Lib_Primavera.Model.TDU_Comentario> listComs = Lib_Primavera.PriIntegration.ListaComentarios(artigo.ID); ViewBag.comentarios = listComs; //fazer os recomendados , que acho que nao esta a dar a outra funçao. //Lib_Primavera.Model.Artigo artigos = Lib_Primavera.PriIntegration.GetArtigoByCategoria(artigo.SubFamilia); return(View("/Views/ArtigoPage/Index.cshtml")); } } else if (op == "Carrinho") { if (Session["username"] == null) { List <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); artigos.OrderByDescending(p => p.ID); IEnumerable <Lib_Primavera.Model.Artigo> temp = artigos.Take(3); ViewBag.top = temp; return(View("/Views/Home/Index.cshtml")); } else { string session = Session["username"].ToString(); Lib_Primavera.Model.Carrinho cart = Lib_Primavera.PriIntegration.GetCarrinhoUser(session); ViewBag.idCar = cart.ID; ViewBag.owner = cart.ID_Cliente; ViewBag.Nome = Session["name"]; ViewBag.produtos = cart.ID_Produtos; List <Lib_Primavera.Model.Armazem> listArms = Lib_Primavera.PriIntegration.ListaArmazens(); ViewBag.armazens = listArms; return(View("/Views/ArtigoPage/carrinho.cshtml")); } } else if (op == "Encomendas") { if (Session["username"] == null) { List <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); artigos.OrderByDescending(p => p.ID); IEnumerable <Lib_Primavera.Model.Artigo> temp = artigos.Take(3); ViewBag.top = temp; return(View("/Views/Home/Index.cshtml")); } else { string session = Session["username"].ToString(); List <Lib_Primavera.Model.DocVenda> encomendas = Lib_Primavera.PriIntegration.GET_Pedidos(session); ViewBag.Nome = Session["name"]; ViewBag.Encomendas = encomendas; return(View("/Views/ArtigoPage/Encomendas.cshtml")); } } else if (op == "Wishlist") { if (Session["username"] == null) { List <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); artigos.OrderByDescending(p => p.ID); IEnumerable <Lib_Primavera.Model.Artigo> temp = artigos.Take(3); ViewBag.top = temp; return(View("/Views/Home/Index.cshtml")); } else { string session = Session["username"].ToString(); Lib_Primavera.Model.Wishlist wishlist = Lib_Primavera.PriIntegration.GetWishlistUser(Session["username"].ToString()); ViewBag.Nome = Session["name"]; ViewBag.Wishlist = wishlist.ID_Produtos; return(View("/Views/ArtigoPage/Wishlist.cshtml")); } } else if (op == "Login") { return(View("/Views/Home/Login.cshtml")); } else if (op == "Register") { return(View("/Views/Home/Register.cshtml")); } else if (op == "Contacto") { return(View("/Views/Home/Contacto.cshtml")); } else if (op == null && op_dois == null) { List <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); artigos.OrderByDescending(p => p.ID); artigos.Reverse(); IEnumerable <Lib_Primavera.Model.Artigo> temp = artigos.Take(3); ViewBag.top = temp; return(View("/Views/Home/Index.cshtml")); } else if (op == "Logout") { Session.Clear(); List <Lib_Primavera.Model.Artigo> artigos = Lib_Primavera.PriIntegration.ListaArtigos(); artigos.OrderByDescending(p => p.ID); IEnumerable <Lib_Primavera.Model.Artigo> temp = artigos.Take(3); ViewBag.top = temp; return(View("/Views/Home/Index.cshtml")); } else { return(null); } }
public static void Parse(string path, DashboardIntegration.Lib_Primavera.Model.Login creds) { StkArtigo = new Dictionary <String, Double>(); /*Carregar Artigos do Primavera*/ List <Lib_Primavera.Model.Artigo> arts; arts = Lib_Primavera.PriIntegration.ListaArtigos(); Lib_Primavera.Model.Artigo aux = Lib_Primavera.PriIntegration.GetArtigo("Especial"); foreach (Lib_Primavera.Model.Artigo a in arts) { StkArtigo[a.CodArtigo] = a.STKAtual; } sc.Close(); sc.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + System.AppDomain.CurrentDomain.BaseDirectory + "App_Data\\Staging.mdf;Integrated Security=True"; sc.Open(); /*Código para limpar a BD para facilitar debugging*/ //SqlCommand clean = new SqlCommand("DELETE FROM LinePurchases; Delete FROM EncomendasFornecedor;Delete FROM Purchases; DELETE FROM Supplier; DELETE FROM Line; DELETE FROM Invoice; DELETE FROM Cliente;DELETE FROM Supplier;DELETE FROM BillingAddress; DELETE FROM Artigo ; DELETE FROM Venda; DELETE FROM SalesInvoices; DELETE FROM Empresa", sc); //clean.ExecuteScalar(); XmlDocument xmlDoc = new XmlDocument(); try { xmlDoc.Load(path); } catch (Exception) { /** TODO */ return; } XmlNamespaceManager xmlnsManager = new XmlNamespaceManager(xmlDoc.NameTable); //xmlnsManager.AddNamespace("ns", "urn:OECD:StandardAuditFile-Tax:PT_1.04_01"); xmlnsManager.AddNamespace("ns", "urn:OECD:StandardAuditFile-Tax:PT_1.01_01"); XmlNode root = xmlDoc.DocumentElement; XmlNode header = xmlDoc.SelectSingleNode("/ns:AuditFile/ns:Header", xmlnsManager); EmpresaId = creds.company; StagingAPI.empresa = EmpresaId; string Nome = header["CompanyName"].InnerText; string NumContrib = header["TaxRegistrationNumber"].InnerText; XmlNode moradaNode = header.SelectSingleNode("descendant::ns:CompanyAddress", xmlnsManager); string Morada = moradaNode["StreetName"].InnerText; string Local = moradaNode["City"].InnerText; string Cp = moradaNode["PostalCode"].InnerText; string empresaQuery = "IF (SELECT COUNT(Id) FROM Empresa WHERE NumContrib='" + NumContrib + "') > 0 "; empresaQuery += "UPDATE Empresa SET Nome='" + Nome + "', Morada='" + Morada + "', Local='" + Local + "', Cp='" + Cp + "' WHERE NumContrib='" + NumContrib + "';"; empresaQuery += "ELSE "; empresaQuery += "INSERT INTO Empresa VALUES('" + EmpresaId + "','" + Nome + "', '" + NumContrib + "', '" + Morada + "', '" + Local + "', '" + Cp + "')"; SqlCommand empresaCom = new SqlCommand(empresaQuery, sc); empresaCom.ExecuteScalar(); //Carregar fornecedores if (DashboardIntegration.Lib_Primavera.PriEngine.InitializeCompany(creds.company, creds.user, creds.password) == true) { List <Lib_Primavera.Model.Fornecedor> listFornecedores = Lib_Primavera.PriIntegration.ListaFornecedores(); foreach (Lib_Primavera.Model.Fornecedor f in listFornecedores) { string query = "IF (SELECT COUNT(CodFornecedor) FROM Supplier WHERE CodFornecedor='" + f.CodFornecedor + "' AND EmpresaId='" + EmpresaId + "') > 0 "; query += "UPDATE Supplier SET Nome='" + sanitize(f.Nome) + "', Morada='" + sanitize(f.Morada) + "',Local='" + sanitize(f.Local) + "',Cp='" + f.Cp + "',Tel='" + f.Tel + "',Divida=" + f.Divida.ToString().Replace(",", ".") + ",NumContrib='" + f.NumContrib + "',ModoPag='" + f.ModoPag + "',EnderecoWeb='" + f.EnderecoWeb + "',EncomendasPendentes=" + f.EncomendasPendentes.ToString().Replace(",", ".") + " WHERE CodFornecedor='" + f.CodFornecedor + "' AND EmpresaId='" + EmpresaId + "';"; query += "ELSE "; query += "INSERT INTO Supplier VALUES('" + f.CodFornecedor + "', '" + sanitize(f.Nome) + "', '" + sanitize(f.Morada) + "','" + sanitize(f.Local) + "','" + f.Cp + "','" + f.Tel + "'," + f.Divida.ToString().Replace(",", ".") + ",'" + f.NumContrib + "','" + f.ModoPag + "','" + f.EnderecoWeb + "'," + f.EncomendasPendentes.ToString().Replace(",", ".") + ",'" + EmpresaId + "')"; SqlCommand com = new SqlCommand(query, sc); com.ExecuteScalar(); } //Carregar documentos de compra List <Lib_Primavera.Model.DocCompra> compras = Lib_Primavera.PriIntegration.VGR_List(); foreach (Lib_Primavera.Model.DocCompra c in compras) { string parsedDate = c.Data.ToString("yyyy-MM-dd hh:mm:ss"); double absMerc = Math.Abs(c.TotalMerc); string query = "IF (SELECT COUNT(Id) FROM Purchases WHERE Id='" + c.id + "' AND EmpresaId='" + EmpresaId + "') > 0 "; query += "UPDATE Purchases SET NumDocExterno=" + c.NumDocExterno + ", Entidade='" + sanitize(c.Entidade) + "',NumDoc=" + c.NumDoc + ",Data='" + parsedDate + "',TotalMerc=" + absMerc.ToString().Replace(",", ".") + ",Serie='" + c.Serie + "' WHERE Id='" + c.id + "' AND EmpresaId='" + EmpresaId + "'; "; query += "ELSE "; query += "INSERT INTO Purchases VALUES('" + c.id + "', " + c.NumDocExterno + ", '" + sanitize(c.Entidade) + "'," + c.NumDoc + ",'" + parsedDate + "'," + absMerc.ToString().Replace(",", ".") + ",'" + c.Serie + "','" + EmpresaId + "')"; SqlCommand com = new SqlCommand(query, sc); com.ExecuteScalar(); //Carregar linhas do doc foreach (Lib_Primavera.Model.LinhaDocCompra l in c.LinhasDoc) { string queryl = "IF (SELECT COUNT(Id) FROM LinePurchases WHERE Id='" + l.Id + "' AND EmpresaId='" + EmpresaId + "') > 0 "; queryl += "UPDATE LinePurchases SET IdCabecDoc='" + l.IdCabecDoc + "', CodArtigo='" + l.CodArtigo + "',Descricao='" + sanitize(l.DescArtigo) + "',Quantidade=" + l.Quantidade + ",Unidade='" + l.Unidade + "',Desconto1=" + l.Desconto + ",PrecUnit=" + l.PrecoUnitario.ToString().Replace(",", ".") + ",TotalLiquido=" + l.TotalILiquido.ToString().Replace(",", ".") + ",PrecoLiquido=" + l.TotalLiquido.ToString().Replace(",", ".") + ",Armazem='" + l.Armazem + "',Lote='" + l.Lote + "',NumLinha=" + l.NumLinha + " WHERE Id='" + l.Id + "' AND EmpresaId='" + EmpresaId + "';"; queryl += "ELSE "; queryl += "INSERT INTO LinePurchases VALUES('" + l.Id + "', '" + l.IdCabecDoc + "', '" + l.CodArtigo + "','" + sanitize(l.DescArtigo) + "'," + l.Quantidade + ",'" + l.Unidade + "'," + l.Desconto + "," + l.PrecoUnitario.ToString().Replace(",", ".") + "," + l.TotalILiquido.ToString().Replace(",", ".") + "," + l.TotalLiquido.ToString().Replace(",", ".") + ",'" + l.Armazem + "','" + l.Lote + "','" + EmpresaId + "'," + l.NumLinha + ");"; SqlCommand coml = new SqlCommand(queryl, sc); coml.ExecuteScalar(); } } //Carregar encomendas feitas entregues List <Lib_Primavera.Model.Encomenda> encsEntregues = Lib_Primavera.PriIntegration.ListaEncomendasFiltrado('T' /*, DashboardIntegration.Properties.Settings.Default.Company.Trim(), DashboardIntegration.Properties.Settings.Default.User.Trim(), DashboardIntegration.Properties.Settings.Default.Password.Trim()*/); foreach (Lib_Primavera.Model.Encomenda e in encsEntregues) { string parsedDate = e.DataDoc.ToString("yyyy-MM-dd hh:mm:ss"); string query = "IF (SELECT COUNT(CodEncomenda) FROM EncomendasFornecedor WHERE CodEncomenda='" + e.CodEncomenda + "' AND EmpresaId='" + EmpresaId + "') > 0 "; query += "UPDATE EncomendasFornecedor SET Entidade='" + sanitize(e.Entidade) + "', Origem='" + sanitize(e.Origem) + "',TotalDesc=" + e.TotalDesc.ToString().Replace(",", ".") + ",TotalIva=" + e.TotalIva.ToString().Replace(",", ".") + ",TotalMerc=" + e.TotalMerc.ToString().Replace(",", ".") + ",ModoPag='" + e.ModoPag + "',DataDoc='" + parsedDate + "',Entregue = 1 WHERE CodEncomenda='" + e.CodEncomenda + "' AND EmpresaId='" + EmpresaId + "'; "; query += "ELSE "; query += "INSERT INTO EncomendasFornecedor VALUES('"; query += e.CodEncomenda + "', '" + sanitize(e.Entidade) + "', '" + sanitize(e.Origem) + "'," + e.TotalDesc.ToString().Replace(",", ".") + "," + e.TotalIva.ToString().Replace(",", ".") + "," + e.TotalMerc.ToString().Replace(",", ".") + ",'" + e.ModoPag + "','" + parsedDate + "', 1"; query += ",'" + EmpresaId + "');"; SqlCommand com = new SqlCommand(query, sc); com.ExecuteScalar(); //Carregar linhas do doc foreach (Lib_Primavera.Model.LinhaDocCompra l in e.LinhasEnc) { string queryl = "IF (SELECT COUNT(Id) FROM LinePurchases WHERE Id='" + l.Id + "' AND EmpresaId='" + EmpresaId + "') > 0 "; queryl += "UPDATE LinePurchases SET IdCabecDoc='" + l.IdCabecDoc + "', CodArtigo='" + l.CodArtigo + "',Descricao='" + sanitize(l.DescArtigo) + "',Quantidade=" + Math.Truncate(l.Quantidade) + ",Unidade='" + l.Unidade + "',Desconto1=" + l.Desconto + ",PrecUnit=" + l.PrecoUnitario.ToString().Replace(",", ".") + ",TotalLiquido=" + l.TotalILiquido.ToString().Replace(",", ".") + ",PrecoLiquido=" + l.TotalLiquido.ToString().Replace(",", ".") + ",Armazem='" + l.Armazem + "',Lote='" + l.Lote + "',NumLinha=" + l.NumLinha + " WHERE Id='" + l.Id + "' AND EmpresaId='" + EmpresaId + "';"; queryl += "ELSE "; queryl += "INSERT INTO LinePurchases VALUES('" + l.Id + "', '" + l.IdCabecDoc + "', '" + l.CodArtigo + "','" + sanitize(l.DescArtigo) + "'," + Math.Truncate(l.Quantidade) + ",'" + l.Unidade + "'," + l.Desconto + "," + l.PrecoUnitario.ToString().Replace(",", ".") + "," + l.TotalILiquido.ToString().Replace(",", ".") + "," + l.TotalLiquido.ToString().Replace(",", ".") + ",'" + l.Armazem + "','" + l.Lote + "','" + EmpresaId + "'," + l.NumLinha + ");"; SqlCommand coml = new SqlCommand(queryl, sc); coml.ExecuteScalar(); } } //Carregar encomendas feitas pendentes List <Lib_Primavera.Model.Encomenda> encsPendentes = Lib_Primavera.PriIntegration.ListaEncomendasFiltrado('P' /*, DashboardIntegration.Properties.Settings.Default.Company.Trim(), DashboardIntegration.Properties.Settings.Default.User.Trim(), DashboardIntegration.Properties.Settings.Default.Password.Trim()*/); foreach (Lib_Primavera.Model.Encomenda e in encsPendentes) { string parsedDate = e.DataDoc.ToString("yyyy-MM-dd hh:mm:ss"); string query = "IF (SELECT COUNT(CodEncomenda) FROM EncomendasFornecedor WHERE CodEncomenda='" + e.CodEncomenda + "' AND EmpresaId='" + EmpresaId + "') > 0 "; query += "UPDATE EncomendasFornecedor SET Entidade='" + sanitize(e.Entidade) + "', Origem='" + sanitize(e.Origem) + "',TotalDesc=" + e.TotalDesc.ToString().Replace(",", ".") + ",TotalIva=" + e.TotalIva.ToString().Replace(",", ".") + ",TotalMerc=" + e.TotalMerc.ToString().Replace(",", ".") + ",ModoPag='" + e.ModoPag + "',DataDoc='" + parsedDate + "',Entregue = 0 WHERE CodEncomenda='" + e.CodEncomenda + "' AND EmpresaId='" + EmpresaId + "'; "; query += "ELSE "; query += "INSERT INTO EncomendasFornecedor VALUES('"; query += e.CodEncomenda + "', '" + sanitize(e.Entidade) + "', '" + sanitize(e.Origem) + "'," + e.TotalDesc.ToString().Replace(",", ".") + "," + e.TotalIva.ToString().Replace(",", ".") + "," + e.TotalMerc.ToString().Replace(",", ".") + ",'" + e.ModoPag + "','" + parsedDate + "', 0"; query += ",'" + EmpresaId + "');"; try { SqlCommand com = new SqlCommand(query, sc); com.ExecuteScalar(); //Carregar linhas do doc foreach (Lib_Primavera.Model.LinhaDocCompra l in e.LinhasEnc) { string queryl = "IF (SELECT COUNT(Id) FROM LinePurchases WHERE Id='" + l.Id + "' AND EmpresaId='" + EmpresaId + "') > 0 "; queryl += "UPDATE LinePurchases SET IdCabecDoc='" + l.IdCabecDoc + "', CodArtigo='" + l.CodArtigo + "',Descricao='" + sanitize(l.DescArtigo) + "',Quantidade=" + Math.Truncate(l.Quantidade) + ",Unidade='" + l.Unidade + "',Desconto1=" + l.Desconto + ",PrecUnit=" + l.PrecoUnitario.ToString().Replace(",", ".") + ",TotalLiquido=" + l.TotalILiquido.ToString().Replace(",", ".") + ",PrecoLiquido=" + l.TotalLiquido.ToString().Replace(",", ".") + ",Armazem='" + l.Armazem + "',Lote='" + l.Lote + "',NumLinha=" + l.NumLinha + " WHERE Id='" + l.Id + "' AND EmpresaId='" + EmpresaId + "';"; queryl += "ELSE "; queryl += "INSERT INTO LinePurchases VALUES('" + l.Id + "', '" + l.IdCabecDoc + "', '" + l.CodArtigo + "','" + sanitize(l.DescArtigo) + "'," + Math.Truncate(l.Quantidade) + ",'" + l.Unidade + "'," + l.Desconto + "," + l.PrecoUnitario.ToString().Replace(",", ".") + "," + l.TotalILiquido.ToString().Replace(",", ".") + "," + l.TotalLiquido.ToString().Replace(",", ".") + ",'" + l.Armazem + "','" + l.Lote + "','" + EmpresaId + "'," + l.NumLinha + ");"; SqlCommand coml = new SqlCommand(queryl, sc); coml.ExecuteScalar(); } } catch (System.Data.SqlClient.SqlException ex) { continue; } } } /* AVG of each product */ PriceArtigo = new Dictionary <String, Double>(); SqlCommand comp = new SqlCommand("SELECT codArtigo, AVG(PrecUnit) FROM LinePurchases GROUP BY codArtigo ", sc); SqlDataReader dr = comp.ExecuteReader(); while (dr.Read()) { IDataRecord rec = (IDataRecord)dr; String cod = (String)(rec[0]); double price = (double)(decimal)(rec[1]); PriceArtigo.Add(cod, price); } dr.Close(); XmlNodeList masterFiles = xmlDoc.SelectNodes("/ns:AuditFile/ns:MasterFiles/*", xmlnsManager); XmlNodeList masterFiles2 = root.SelectNodes("/ns:MasterFiles/*", xmlnsManager); foreach (XmlNode node in masterFiles) { switch (node.Name) { case "Customer": parseCostumer(node, xmlnsManager); break; case "Supplier": parseSupplier(node, xmlnsManager); break; case "Product": parseProduct(node, xmlnsManager); break; default: break; } } XmlNodeList SourceDocuments = xmlDoc.SelectNodes("/ns:AuditFile/ns:SourceDocuments/*", xmlnsManager); XmlNodeList auxNode = null; foreach (XmlNode node in SourceDocuments) { switch (node.Name) { case "SalesInvoices": string TotalDebit = node.SelectSingleNode("descendant::ns:TotalDebit", xmlnsManager).InnerText; string TotalCredit = node.SelectSingleNode("descendant::ns:TotalCredit", xmlnsManager).InnerText; string entriesS = node.SelectSingleNode("descendant::ns:NumberOfEntries", xmlnsManager).InnerText; int stringSize = entriesS.Length; double entries = 0; for (int i = 0; i < stringSize; i++) { entries += (int)Char.GetNumericValue(entriesS[i]) * Math.Pow(10, (stringSize - i - 1)); } int iEntries = (int)entries; string query = "INSERT INTO SalesInvoices VALUES('" + TotalDebit + "', '" + TotalDebit + "', " + iEntries + ",'" + EmpresaId + "')"; SqlCommand com = new SqlCommand(query, sc); com.ExecuteScalar(); auxNode = node.SelectNodes("descendant::ns:Invoice", xmlnsManager); foreach (XmlNode Invoice in auxNode) { parseInvoice(Invoice, xmlnsManager); } break; case "MovementOfGoods": auxNode = node.SelectNodes("descendant::StockMovement", xmlnsManager); break; case "WorkingDocuments": break; case "Payments": break; } } sc.Close(); }
public static List<Lib_Primavera.Model.Artigo> GetArtigos(Lib_Primavera.Model.Carrinho car) { StdBELista objListLin; List<Lib_Primavera.Model.Artigo> artigos = new List<Lib_Primavera.Model.Artigo>(); if (PriEngine.InitializeCompany(SINF.Properties.Settings.Default.Company.Trim(), SINF.Properties.Settings.Default.User.Trim(), SINF.Properties.Settings.Default.Password.Trim()) == true) { foreach(String codArtigo in car.Produtos_id){ Lib_Primavera.Model.Artigo artigo = new Lib_Primavera.Model.Artigo(); string query = "SELECT a.*, m.*, f.Descricao as familiaDesc, i.Taxa, i.Iva " + "FROM Artigo as a, ArtigoMoeda as m, Familias as f, Iva as i " + "where a.Artigo = m.Artigo AND a.Artigo='" + codArtigo + "' " + "AND a.Familia = f.Familia AND i.Iva = a.Iva"; objListLin = PriEngine.Engine.Consulta(query); if (!objListLin.NoFim()) { artigo.CodArtigo = objListLin.Valor("Artigo"); artigo.DescArtigo = objListLin.Valor("Descricao"); artigo.Categoria = objListLin.Valor("Familia"); artigo.SubCategoria = objListLin.Valor("SubFamilia"); artigo.CategoriaDesc = objListLin.Valor("familiaDesc"); artigo.PVP = objListLin.Valor("PVP1"); artigo.Moeda = objListLin.Valor("Moeda"); artigo.UnidadeBase = objListLin.Valor("UnidadeBase"); artigo.Marca = objListLin.Valor("Marca"); artigo.Modelo = objListLin.Valor("Modelo"); artigo.Peso = objListLin.Valor("Peso"); artigo.IVA = objListLin.Valor("Taxa"); if (artigo.SubCategoria != "") { string querySubFamilia = "SELECT * FROM SubFamilias WHERE SubFamilias.SubFamilia = '" + artigo.SubCategoria + "'"; StdBELista subfam = PriEngine.Engine.Consulta(querySubFamilia); if (!subfam.NoFim()) artigo.SubCategoriaDesc = subfam.Valor("Descricao"); } if (artigo.Marca != "") { string queryMarca = "SELECT Descricao FROM Marcas WHERE Marcas.Marca = '" + artigo.Marca + "'"; StdBELista marca = PriEngine.Engine.Consulta(queryMarca); if (!marca.NoFim()) artigo.MarcaDesc = marca.Valor("Descricao"); } } else artigo = null; artigos.Add(artigo); } } return artigos; }
// GET: api/artigos/a0001 public Artigo Get(string id) { Lib_Primavera.Model.Artigo artigo = Lib_Primavera.PriIntegration.GetArtigo(id); return(artigo); }