Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private bool ImportaVendas(SortedDictionary<string, Dados[]> d)
- {
- try
- {
- foreach (KeyValuePair<string, Dados[]> __dados in d.OrderBy(key => key.Value[0].DataDoc))
- {
- if (__dados.Value.Count() > 0)
- {
- var TipoDoc = txtTipoDoc.Text.Trim().ToUpper();
- var Serie = txtSerie.Text.Trim().ToUpper();
- var Entidade = __dados.Value[0].Entidade.Trim().ToUpper();
- var NumDocExt = __dados.Value[0].Referencia;
- GcpBEDocumentoVenda Doc = new GcpBEDocumentoVenda();
- if (!BSO.Comercial.Vendas.ExisteReferencia("000", TipoDoc, Serie, Entidade, NumDocExt))
- {
- Doc.set_Tipodoc(TipoDoc);
- Doc.set_Serie(Serie);
- Doc.set_DataDoc(__dados.Value[0].DataDoc);
- Doc.set_DataVenc(__dados.Value[0].DataDoc);
- Doc.set_Entidade(Entidade);
- Doc.set_EntidadeFac(Entidade);
- Doc.set_Referencia(NumDocExt);
- Doc.set_Requisicao(NumDocExt);
- Doc.set_TipoEntidade("C");
- Doc = BSO.Comercial.Vendas.PreencheDadosRelacionados(Doc);
- Doc.set_DataDoc(__dados.Value[0].DataDoc);
- foreach (var item in __dados.Value)
- {
- CriaUnidadeIfNotExist(item);
- CriaArtigoIfNotExist(item);
- CriaArtigoLoteIfNotExist(item);
- Doc = BSO.Comercial.Vendas.AdicionaLinha(Doc, item.Artigo, item.Quantidade, null, null, item.PrecUnitario);
- var Linhas = Doc.get_Linhas();
- if (!string.IsNullOrEmpty(item.Lote))
- {
- Linhas[Linhas.NumItens].set_Lote(item.Lote);
- }
- if (!string.IsNullOrEmpty(item.Armazem) && !string.IsNullOrEmpty(item.Localizacao))
- {
- Linhas[Linhas.NumItens].set_Armazem(item.Armazem);
- Linhas[Linhas.NumItens].set_Localizacao(item.Localizacao);
- }
- else if (BSO.Comercial.Artigos.DaValorAtributo(item.Artigo, "MovStock") == "S")
- {
- var arm = BSO.Comercial.Artigos.DaValorAtributo(item.Artigo, "ArmazemSugestao");
- var loc = BSO.Comercial.Artigos.DaValorAtributo(item.Artigo, "LocalizacaoSugestao");
- if (!string.IsNullOrEmpty(arm)) { Linhas[Linhas.NumItens].set_Armazem(arm); }
- if (!string.IsNullOrEmpty(loc)) { Linhas[Linhas.NumItens].set_Localizacao(loc); }
- }
- Linhas[Linhas.NumItens].set_Descricao(item.Descricao);
- Linhas[Linhas.NumItens].set_CodIva(item.CodIva);
- Linhas[Linhas.NumItens].set_Unidade(item.UnidadeBase);
- }
- BSO.Comercial.Vendas.PreencheDadosRelacionados(Doc);
- Doc.set_Moeda(__dados.Value[0].Moeda);
- Doc.set_Cambio(__dados.Value[0].Cambio);
- Doc.set_CambioMBase(__dados.Value[0].CambioMBase);
- Doc.set_CambioMAlt(__dados.Value[0].CambioMAlt);
- Doc.set_DataDoc(__dados.Value[0].DataDoc);
- Doc.set_DataVenc(__dados.Value[0].DataDoc);
- try
- {
- BSO.IniciaTransaccao();
- BSO.Comercial.Vendas.Actualiza(Doc);
- BSO.TerminaTransaccao();
- }
- catch (Exception err)
- {
- BSO.DesfazTransaccao();
- MessageBox.Show("Erro ao carregar dados da grelha\n" + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
- if (txtLocalizacaoPDF.Text.Trim() != String.Empty)
- {
- var localizacao = txtLocalizacaoPDF.Text.Trim();
- var ficheiro = String.Format("{0}", Doc.get_Tipodoc() + "_" + Doc.get_NumDoc() + "_" + Doc.get_Serie() + ".pdf");
- BSO.Comercial.Vendas.ImprimeDocumento(Doc.get_Tipodoc(), Doc.get_Serie(), Doc.get_NumDoc(), Doc.get_Filial(), 1, null, false, localizacao + "\\" + ficheiro);
- foreach (var item in d[__dados.Key])
- {
- item.Resultado = "Doc Gerado: " + ficheiro;
- }
- }
- }
- else
- {
- foreach (var item in d[__dados.Key])
- {
- item.Resultado = "Doc jรก importado";
- }
- }
- }
- }
- CarregaGrelha(d);
- }
- catch (InvalidCastException errCase)
- {
- MessageBox.Show("Erro ao carregar dados da grelha\n" + errCase.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
- catch (Exception err)
- {
- MessageBox.Show("Erro grave ao carregar dados da grelha\n" + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement