Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.31 KB | None | 0 0
  1. private bool ImportaVendas(SortedDictionary<string, Dados[]> d)
  2. {
  3. try
  4. {
  5. foreach (KeyValuePair<string, Dados[]> __dados in d.OrderBy(key => key.Value[0].DataDoc))
  6. {
  7. if (__dados.Value.Count() > 0)
  8. {
  9. var TipoDoc = txtTipoDoc.Text.Trim().ToUpper();
  10. var Serie = txtSerie.Text.Trim().ToUpper();
  11. var Entidade = __dados.Value[0].Entidade.Trim().ToUpper();
  12. var NumDocExt = __dados.Value[0].Referencia;
  13. GcpBEDocumentoVenda Doc = new GcpBEDocumentoVenda();
  14.  
  15. if (!BSO.Comercial.Vendas.ExisteReferencia("000", TipoDoc, Serie, Entidade, NumDocExt))
  16. {
  17. Doc.set_Tipodoc(TipoDoc);
  18. Doc.set_Serie(Serie);
  19. Doc.set_DataDoc(__dados.Value[0].DataDoc);
  20. Doc.set_DataVenc(__dados.Value[0].DataDoc);
  21. Doc.set_Entidade(Entidade);
  22. Doc.set_EntidadeFac(Entidade);
  23. Doc.set_Referencia(NumDocExt);
  24. Doc.set_Requisicao(NumDocExt);
  25. Doc.set_TipoEntidade("C");
  26.  
  27. Doc = BSO.Comercial.Vendas.PreencheDadosRelacionados(Doc);
  28.  
  29. Doc.set_DataDoc(__dados.Value[0].DataDoc);
  30.  
  31. foreach (var item in __dados.Value)
  32. {
  33. CriaUnidadeIfNotExist(item);
  34. CriaArtigoIfNotExist(item);
  35. CriaArtigoLoteIfNotExist(item);
  36.  
  37. Doc = BSO.Comercial.Vendas.AdicionaLinha(Doc, item.Artigo, item.Quantidade, null, null, item.PrecUnitario);
  38. var Linhas = Doc.get_Linhas();
  39. if (!string.IsNullOrEmpty(item.Lote))
  40. {
  41. Linhas[Linhas.NumItens].set_Lote(item.Lote);
  42. }
  43. if (!string.IsNullOrEmpty(item.Armazem) && !string.IsNullOrEmpty(item.Localizacao))
  44. {
  45. Linhas[Linhas.NumItens].set_Armazem(item.Armazem);
  46. Linhas[Linhas.NumItens].set_Localizacao(item.Localizacao);
  47. }
  48. else if (BSO.Comercial.Artigos.DaValorAtributo(item.Artigo, "MovStock") == "S")
  49. {
  50. var arm = BSO.Comercial.Artigos.DaValorAtributo(item.Artigo, "ArmazemSugestao");
  51. var loc = BSO.Comercial.Artigos.DaValorAtributo(item.Artigo, "LocalizacaoSugestao");
  52. if (!string.IsNullOrEmpty(arm)) { Linhas[Linhas.NumItens].set_Armazem(arm); }
  53. if (!string.IsNullOrEmpty(loc)) { Linhas[Linhas.NumItens].set_Localizacao(loc); }
  54. }
  55. Linhas[Linhas.NumItens].set_Descricao(item.Descricao);
  56. Linhas[Linhas.NumItens].set_CodIva(item.CodIva);
  57. Linhas[Linhas.NumItens].set_Unidade(item.UnidadeBase);
  58. }
  59. BSO.Comercial.Vendas.PreencheDadosRelacionados(Doc);
  60. Doc.set_Moeda(__dados.Value[0].Moeda);
  61. Doc.set_Cambio(__dados.Value[0].Cambio);
  62. Doc.set_CambioMBase(__dados.Value[0].CambioMBase);
  63. Doc.set_CambioMAlt(__dados.Value[0].CambioMAlt);
  64. Doc.set_DataDoc(__dados.Value[0].DataDoc);
  65. Doc.set_DataVenc(__dados.Value[0].DataDoc);
  66. try
  67. {
  68.  
  69. BSO.IniciaTransaccao();
  70. BSO.Comercial.Vendas.Actualiza(Doc);
  71. BSO.TerminaTransaccao();
  72.  
  73. }
  74. catch (Exception err)
  75. {
  76. BSO.DesfazTransaccao();
  77. MessageBox.Show("Erro ao carregar dados da grelha\n" + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  78. return false;
  79. }
  80. if (txtLocalizacaoPDF.Text.Trim() != String.Empty)
  81. {
  82. var localizacao = txtLocalizacaoPDF.Text.Trim();
  83. var ficheiro = String.Format("{0}", Doc.get_Tipodoc() + "_" + Doc.get_NumDoc() + "_" + Doc.get_Serie() + ".pdf");
  84. BSO.Comercial.Vendas.ImprimeDocumento(Doc.get_Tipodoc(), Doc.get_Serie(), Doc.get_NumDoc(), Doc.get_Filial(), 1, null, false, localizacao + "\\" + ficheiro);
  85. foreach (var item in d[__dados.Key])
  86. {
  87. item.Resultado = "Doc Gerado: " + ficheiro;
  88. }
  89. }
  90. }
  91. else
  92. {
  93. foreach (var item in d[__dados.Key])
  94. {
  95. item.Resultado = "Doc jรก importado";
  96. }
  97. }
  98. }
  99. }
  100. CarregaGrelha(d);
  101. }
  102. catch (InvalidCastException errCase)
  103. {
  104. MessageBox.Show("Erro ao carregar dados da grelha\n" + errCase.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  105. return false;
  106. }
  107. catch (Exception err)
  108. {
  109. MessageBox.Show("Erro grave ao carregar dados da grelha\n" + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  110. return false;
  111. }
  112. return true;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement