public static List <Model.DocVenda> Encomendas_List() { StdBELista objListCab; StdBELista objListLin; Model.DocVenda dv = new Model.DocVenda(); List <Model.DocVenda> listdv = new List <Model.DocVenda>(); Model.LinhaDocVenda lindv = new Model.LinhaDocVenda(); List <Model.LinhaDocVenda> listlindv = new List <Model.LinhaDocVenda>(); if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true) { objListCab = PriEngine.Engine.Consulta("SELECT id, Entidade, Data, NumDoc, TotalMerc, Serie From CabecDoc where TipoDoc='FA'"); while (!objListCab.NoFim()) { dv = new Model.DocVenda(); dv.id = objListCab.Valor("id"); dv.Entidade = objListCab.Valor("Entidade"); dv.NumDoc = objListCab.Valor("NumDoc"); dv.Data = objListCab.Valor("Data"); dv.TotalMerc = objListCab.Valor("TotalMerc"); dv.Serie = objListCab.Valor("Serie"); objListLin = PriEngine.Engine.Consulta("SELECT idCabecDoc, Artigo, Descricao, Quantidade, Unidade, PrecUnit, Desconto1, TotalILiquido, PrecoLiquido from LinhasDoc where IdCabecDoc='" + dv.id + "' order By NumLinha"); listlindv = new List <Model.LinhaDocVenda>(); while (!objListLin.NoFim()) { lindv = new Model.LinhaDocVenda(); lindv.IdCabecDoc = objListLin.Valor("idCabecDoc"); lindv.CodArtigo = objListLin.Valor("Artigo"); lindv.DescArtigo = objListLin.Valor("Descricao"); lindv.Quantidade = objListLin.Valor("Quantidade"); lindv.Unidade = objListLin.Valor("Unidade"); lindv.Desconto = objListLin.Valor("Desconto1"); lindv.PrecoUnitario = objListLin.Valor("PrecUnit"); lindv.TotalILiquido = objListLin.Valor("TotalILiquido"); lindv.TotalLiquido = objListLin.Valor("PrecoLiquido"); listlindv.Add(lindv); objListLin.Seguinte(); } dv.LinhasDoc = listlindv; listdv.Add(dv); objListCab.Seguinte(); } } return(listdv); }
public static List <Model.DocVenda> GET_Pedidos(string idCliente) { StdBELista objList, objListLin; List <Model.DocVenda> listdv = new List <Model.DocVenda>(); List <Model.LinhaDocVenda> listlindv = new List <Model.LinhaDocVenda>(); LinhaDocVenda lindv; if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true) { objList = PriEngine.Engine.Consulta("select Id,Data, Estado from CabecDoc JOIN CabecDocStatus ON CabecDoc.Id = CabecDocStatus.IdCabecDoc where TipoDoc = 'ECL' and Entidade = '" + idCliente + "'"); while (!objList.NoFim()) { Model.DocVenda dv = new Model.DocVenda(); dv.id = objList.Valor("Id"); dv.Data = objList.Valor("Data"); if (objList.Valor("Estado") == "T") { dv.estado = "Pronto"; } else if (objList.Valor("Estado") == "P") { dv.estado = "Em Espera"; } else { dv.estado = "Anulado"; } objListLin = PriEngine.Engine.Consulta("SELECT Artigo,Descricao,Quantidade from LinhasDoc where IdCabecDoc='" + dv.id + "' order By NumLinha"); listlindv = new List <Model.LinhaDocVenda>(); while (!objListLin.NoFim()) { lindv = new Model.LinhaDocVenda(); lindv.DescArtigo = objListLin.Valor("Descricao"); lindv.CodArtigo = objListLin.Valor("Artigo"); lindv.Quantidade = objListLin.Valor("Quantidade"); listlindv.Add(lindv); objListLin.Seguinte(); } dv.LinhasDoc = listlindv; listdv.Add(dv); objList.Seguinte(); } } return(listdv); }
public static Model.RespostaErro Encomendas_New(Model.DocVenda dv) { Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro(); GcpBEDocumentoVenda myEnc = new GcpBEDocumentoVenda(); GcpBELinhaDocumentoVenda myLin = new GcpBELinhaDocumentoVenda(); GcpBELinhasDocumentoVenda myLinhas = new GcpBELinhasDocumentoVenda(); PreencheRelacaoVendas rl = new PreencheRelacaoVendas(); List <Model.LinhaDocVenda> lstlindv = new List <Model.LinhaDocVenda>(); try { if (PriEngine.InitializeCompany(ElectroSinf.Properties.Settings.Default.Company.Trim(), ElectroSinf.Properties.Settings.Default.User.Trim(), ElectroSinf.Properties.Settings.Default.Password.Trim()) == true) { //atributos que por enquanto não são dinamicos: string serie = "1"; double desconto = 0.0; string armazem = "A1"; // Atribui valores ao cabecalho do doc myEnc.set_Entidade(dv.Entidade); myEnc.set_Serie(serie); myEnc.set_Tipodoc(dv.DocType); myEnc.set_TipoEntidade("C"); // Linhas do documento para a lista de linhas //lstlindv = dv.LinhasDoc; PriEngine.Engine.Comercial.Vendas.PreencheDadosRelacionados(myEnc, rl); double pvp1 = 0, quantidade = 0; string idArtigo = ""; int Stock = 0; StdBELista carrinho = PriEngine.Engine.Consulta("SELECT * FROM TDU_Carrinho WHERE CDU_IdCliente='" + dv.Entidade + "'"); while (!carrinho.NoFim()) { idArtigo = carrinho.Valor("CDU_IdArtigo"); quantidade = Convert.ToDouble(carrinho.Valor("CDU_Quantidade")); armazem = carrinho.Valor("CDU_Armazem"); Stock = (int)PriEngine.Engine.Comercial.ArtigosArmazens.DaStockArtigo(idArtigo); //ARMAZEM if (quantidade > Stock) { erro.Erro = 1; erro.Descricao = "quantidadeErrada"; return(erro); } pvp1 = PriEngine.Engine.Comercial.ArtigosPrecos.DaPrecoArtigoMoeda(idArtigo, "EUR", "UN", "PVP1", false, 0); PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, idArtigo, quantidade, armazem, "", pvp1, desconto); carrinho.Seguinte(); } /* * foreach (Model.LinhaDocVenda lin in lstlindv) * { * pvp1 = PriEngine.Engine.Comercial.ArtigosPrecos.DaPrecoArtigoMoeda(lin.CodArtigo, "EUR", "UN", "PVP1", false, 0); * PriEngine.Engine.Comercial.Vendas.AdicionaLinha(myEnc, lin.CodArtigo, lin.Quantidade, armazem, "", pvp1, desconto); * } */ PriEngine.Engine.IniciaTransaccao(); PriEngine.Engine.Comercial.Vendas.Actualiza(myEnc, "Teste"); PriEngine.Engine.TerminaTransaccao(); erro.Erro = 0; erro.Descricao = "Sucesso"; carrinho.Inicio(); while (!carrinho.NoFim()) { idArtigo = carrinho.Valor("CDU_IdArtigo"); StdBECamposChave tdu_carrinho = new StdBECamposChave(); tdu_carrinho.AddCampoChave("CDU_IdCliente", dv.Entidade); tdu_carrinho.AddCampoChave("CDU_IdArtigo", idArtigo); PriEngine.Engine.TabelasUtilizador.Remove("TDU_Carrinho", tdu_carrinho); carrinho.Seguinte(); } return(erro); } else { erro.Erro = 1; erro.Descricao = "Erro ao abrir empresa"; return(erro); } } catch (Exception ex) { try { PriEngine.Engine.DesfazTransaccao(); } catch (Exception) { } erro.Erro = 1; erro.Descricao = ex.Message; Console.Write(erro.Descricao); return(erro); } }