public void Grava_Dados_Fornecedor_e_Cliente(Dictionary <string, object> dados) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { Table <TB_FORNECEDOR> Entidade = ctx.GetTable <TB_FORNECEDOR>(); TB_FORNECEDOR novo = new TB_FORNECEDOR(); novo.NOME_FORNECEDOR = dados["NOME_FORNECEDOR"].ToString(); novo.NOME_FANTASIA_FORNECEDOR = dados["NOME_FANTASIA_FORNECEDOR"].ToString(); novo.CNPJ_FORNECEDOR = dados["CNPJ_FORNECEDOR"].ToString(); novo.IE_FORNECEDOR = dados["IE_FORNECEDOR"].ToString(); novo.ENDERECO_FORNECEDOR = dados["ENDERECO_FORNECEDOR"].ToString(); novo.NUMERO_END_FORNECEDOR = dados["NUMERO_END_FORNECEDOR"].ToString(); novo.COMPL_END_FORNECEDOR = dados["COMPL_END_FORNECEDOR"].ToString(); novo.CEP_FORNECEDOR = dados["CEP_FORNECEDOR"].ToString(); novo.BAIRRO_FORNECEDOR = dados["BAIRRO_FORNECEDOR"].ToString(); novo.ID_MUNICIPIO_FORNECEDOR = Convert.ToDecimal(dados["ID_MUNICIPIO_FORNECEDOR"]); novo.ID_UF_FORNECEDOR = Convert.ToDecimal(dados["ID_UF_FORNECEDOR"]); novo.TELEFONE1_FORNECEDOR = dados["TELEFONE1_FORNECEDOR"].ToString(); novo.TELEFONE2_FORNECEDOR = dados["TELEFONE2_FORNECEDOR"].ToString(); novo.FAX_FORNECEDOR = dados["FAX_FORNECEDOR"].ToString(); novo.OBS_FORNECEDOR = dados["OBS_FORNECEDOR"].ToString(); novo.EMAIL_FORNECEDOR = dados["EMAIL_FORNECEDOR"].ToString(); novo.CONTATO_FORNECEDOR = dados["CONTATO_FORNECEDOR"].ToString(); novo.CODIGO_CP_FORNECEDOR = Convert.ToDecimal(dados["CODIGO_CP_FORNECEDOR"]); novo.CLIENTE = dados.ContainsKey("CLIENTE") ? Convert.ToDecimal(dados["CLIENTE"]) : 0; novo.CODIGO_EMITENTE = Convert.ToDecimal(dados["ID_EMPRESA"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); if (novo.CLIENTE == 1) { var query = (from linha in ctx.GetTable <TB_CLIENTE>() orderby linha.CNPJ_CLIENTE where linha.CNPJ_CLIENTE == dados["CNPJ_FORNECEDOR"].ToString() select linha).ToList(); var query2 = (from linha in ctx.GetTable <TB_CLIENTE>() orderby linha.NOMEFANTASIA_CLIENTE where linha.NOMEFANTASIA_CLIENTE == dados["NOME_FANTASIA_FORNECEDOR"].ToString() select linha).ToList(); if (query.Any() || query2.Any()) { var query3 = query.Any() ? query : query2; foreach (var item in query3) { item.NOME_CLIENTE = dados["NOME_FORNECEDOR"].ToString(); item.NOMEFANTASIA_CLIENTE = dados["NOME_FANTASIA_FORNECEDOR"].ToString(); item.CNPJ_CLIENTE = dados["CNPJ_CLIENTE"].ToString(); item.IE_CLIENTE = dados["IE_FORNECEDOR"].ToString(); item.IE_SUFRAMA = dados["IE_SUFRAMA"].ToString(); item.ENDERECO_FATURA = dados["ENDERECO_FORNECEDOR"].ToString(); item.NUMERO_END_FATURA = dados["NUMERO_END_FORNECEDOR"].ToString(); item.COMP_END_FATURA = dados["COMPL_END_FORNECEDOR"].ToString(); item.CEP_FATURA = dados["CEP_FORNECEDOR"].ToString(); item.BAIRRO_FATURA = dados["BAIRRO_FORNECEDOR"].ToString(); item.CIDADE_FATURA = Convert.ToDecimal(dados["ID_MUNICIPIO_FORNECEDOR"]); item.ESTADO_FATURA = Convert.ToDecimal(dados["ID_UF_FORNECEDOR"]); item.TELEFONE_FATURA = dados["TELEFONE1_FORNECEDOR"].ToString(); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.GetTable <TB_CLIENTE>().GetModifiedMembers(item), "TB_CLIENTE", Convert.ToDecimal(dados["ID_USUARIO"])); } } else { Table <TB_CLIENTE> Entidade1 = ctx.GetTable <TB_CLIENTE>(); TB_CLIENTE novo1 = new TB_CLIENTE(); novo1.NOME_CLIENTE = dados["NOME_FORNECEDOR"].ToString(); novo1.NOMEFANTASIA_CLIENTE = dados["NOME_FANTASIA_FORNECEDOR"].ToString(); novo1.CNPJ_CLIENTE = dados["CNPJ_FORNECEDOR"].ToString(); novo1.IE_CLIENTE = dados["IE_FORNECEDOR"].ToString(); novo1.IE_SUFRAMA = string.Empty; novo1.ENDERECO_FATURA = dados["ENDERECO_FORNECEDOR"].ToString(); novo1.NUMERO_END_FATURA = dados["NUMERO_END_FORNECEDOR"].ToString(); novo1.COMP_END_FATURA = dados["COMPL_END_FORNECEDOR"].ToString(); novo1.CEP_FATURA = dados["CEP_FORNECEDOR"].ToString(); novo1.BAIRRO_FATURA = dados["BAIRRO_FORNECEDOR"].ToString(); novo1.CIDADE_FATURA = Convert.ToDecimal(dados["ID_MUNICIPIO_FORNECEDOR"]); novo1.ESTADO_FATURA = Convert.ToDecimal(dados["ID_UF_FORNECEDOR"]); novo1.TELEFONE_FATURA = dados["TELEFONE1_FORNECEDOR"].ToString(); novo1.ENDERECO_ENTREGA = string.Empty; novo1.NUMERO_END_ENTREGA = string.Empty; novo1.COMP_END_ENTREGA = string.Empty; novo1.CEP_ENTREGA = string.Empty; novo1.BAIRRO_ENTREGA = string.Empty; novo1.CIDADE_ENTREGA = 0; novo1.ESTADO_ENTREGA = 0; novo1.TELEFONE_ENTREGA = string.Empty; novo1.ENDERECO_COBRANCA = string.Empty; novo1.CEP_COBRANCA = string.Empty; novo1.BAIRRO_COBRANCA = string.Empty; novo1.CIDADE_COBRANCA = 0; novo1.ESTADO_COBRANCA = 0; novo1.TELEFONE_COBRANCA = string.Empty; novo1.CODIGO_CP_CLIENTE = Convert.ToDecimal(dados["CODIGO_CP_FORNECEDOR"]); novo1.ID_LIMITE = 1; novo1.CODIGO_VENDEDOR_CLIENTE = 1; novo1.OBS_CLIENTE = ""; novo1.PESSOA = 0; novo1.EMAIL_CLIENTE = dados["EMAIL_FORNECEDOR"].ToString(); novo1.ENVIO_NFE_CLIENTE = 2; novo1.CODIGO_EMITENTE = Convert.ToDecimal(dados["ID_EMPRESA"]); novo1.CLIENTE_BLOQUEADO = 0; novo1.FORNECEDOR = 1; novo1.DATA_ULTIMA_FATURA = new DateTime(1901, 01, 01); novo1.VALOR_ULTIMA_FATURA = 0; novo1.DATA_CADASTRO = DateTime.Now; Entidade1.InsertOnSubmit(novo1); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo1, Entidade1.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); } } ctx.SubmitChanges(); } }
public void Atualiza_Cliente_e_Fornecedor(Dictionary <string, object> dados) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from item in ctx.GetTable <TB_CLIENTE>() where item.ID_CLIENTE == Convert.ToDecimal(dados["ID_CLIENTE"]) select item).ToList(); if (query.Count() == 0) { throw new Exception("Não foi possível encontrar o cliente com o ID [" + dados["ID_CLIENTE"].ToString() + "]"); } decimal id_uf = decimal.TryParse(dados["ESTADO_ENTREGA"].ToString(), out id_uf) ? Convert.ToDecimal(dados["ESTADO_ENTREGA"]) : 0; decimal cidade = decimal.TryParse(dados["CIDADE_ENTREGA"].ToString(), out cidade) ? Convert.ToDecimal(dados["CIDADE_ENTREGA"]) : 0; decimal id_uf1 = decimal.TryParse(dados["ESTADO_COBRANCA"].ToString(), out id_uf1) ? Convert.ToDecimal(dados["ESTADO_COBRANCA"]) : 0; decimal cidade1 = decimal.TryParse(dados["CIDADE_COBRANCA"].ToString(), out cidade1) ? Convert.ToDecimal(dados["CIDADE_COBRANCA"]) : 0; string CNPJ = ""; foreach (var cliente in query) { CNPJ = dados["CNPJ_CLIENTE"].ToString(); cliente.NOME_CLIENTE = dados["NOME_CLIENTE"].ToString(); cliente.NOMEFANTASIA_CLIENTE = dados["NOMEFANTASIA_CLIENTE"].ToString(); cliente.CNPJ_CLIENTE = dados["CNPJ_CLIENTE"].ToString(); cliente.IE_CLIENTE = dados["IE_CLIENTE"].ToString(); cliente.IE_SUFRAMA = dados["IE_SUFRAMA"].ToString(); cliente.ENDERECO_FATURA = dados["ENDERECO_FATURA"].ToString(); cliente.NUMERO_END_FATURA = dados["NUMERO_END_FATURA"].ToString(); cliente.COMP_END_FATURA = dados["COMP_END_FATURA"].ToString(); cliente.CEP_FATURA = dados["CEP_FATURA"].ToString(); cliente.BAIRRO_FATURA = dados["BAIRRO_FATURA"].ToString(); cliente.CIDADE_FATURA = Convert.ToDecimal(dados["CIDADE_FATURA"]); cliente.ESTADO_FATURA = Convert.ToDecimal(dados["ESTADO_FATURA"]); cliente.TELEFONE_FATURA = dados["TELEFONE_FATURA"].ToString(); cliente.ENDERECO_ENTREGA = dados["ENDERECO_ENTREGA"].ToString(); cliente.NUMERO_END_ENTREGA = dados["NUMERO_END_ENTREGA"].ToString(); cliente.COMP_END_ENTREGA = dados["COMP_END_ENTREGA"].ToString(); cliente.CEP_ENTREGA = dados["CEP_ENTREGA"].ToString(); cliente.BAIRRO_ENTREGA = dados["BAIRRO_ENTREGA"].ToString(); cliente.CIDADE_ENTREGA = cidade; cliente.ESTADO_ENTREGA = id_uf; cliente.TELEFONE_ENTREGA = dados["TELEFONE_ENTREGA"].ToString(); cliente.ENDERECO_COBRANCA = dados["ENDERECO_COBRANCA"].ToString(); cliente.CEP_COBRANCA = dados["CEP_COBRANCA"].ToString(); cliente.BAIRRO_COBRANCA = dados["BAIRRO_COBRANCA"].ToString(); cliente.CIDADE_COBRANCA = cidade1; cliente.ESTADO_COBRANCA = id_uf1; cliente.TELEFONE_COBRANCA = dados["TELEFONE_COBRANCA"].ToString(); cliente.CODIGO_CP_CLIENTE = Convert.ToDecimal(dados["CODIGO_CP_CLIENTE"]); cliente.ID_LIMITE = Convert.ToDecimal(dados["ID_LIMITE_CLIENTE"]); cliente.CODIGO_VENDEDOR_CLIENTE = Convert.ToDecimal(dados["CODIGO_VENDEDOR_CLIENTE"]); cliente.OBS_CLIENTE = dados["OBS_CLIENTE"].ToString(); cliente.EMAIL_CLIENTE = dados["EMAIL_CLIENTE"].ToString(); cliente.ENVIO_NFE_CLIENTE = Convert.ToDecimal(dados["ENVIO_NFE_CLIENTE"]); cliente.PESSOA = Convert.ToDecimal(dados["PESSOA"]); cliente.CLIENTE_BLOQUEADO = Convert.ToDecimal(dados["CLIENTE_BLOQUEADO"]); cliente.FORNECEDOR = Convert.ToDecimal(dados["FORNECEDOR"]); cliente.CODIGO_REGIAO = dados["CODIGO_REGIAO"].ToString(); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.GetTable <TB_CLIENTE>().GetModifiedMembers(cliente), "TB_CLIENTE", Convert.ToDecimal(dados["ID_USUARIO"])); } // Atualiza Fornecedor var query1 = (from item in ctx.TB_FORNECEDORs orderby item.CNPJ_FORNECEDOR where item.CNPJ_FORNECEDOR == dados["CNPJ_CLIENTE"].ToString() select item).ToList(); var query2 = (from item in ctx.TB_FORNECEDORs orderby item.NOME_FANTASIA_FORNECEDOR where item.NOME_FANTASIA_FORNECEDOR == dados["NOMEFANTASIA_CLIENTE"].ToString() select item).ToList(); if (query1.Any() || query2.Any()) { var query3 = query1.Any() ? query1 : query2; foreach (var novo1 in query3) { novo1.NOME_FORNECEDOR = dados["NOME_CLIENTE"].ToString(); novo1.NOME_FANTASIA_FORNECEDOR = dados["NOMEFANTASIA_CLIENTE"].ToString(); novo1.IE_FORNECEDOR = dados["IE_CLIENTE"].ToString(); novo1.ENDERECO_FORNECEDOR = dados["ENDERECO_FATURA"].ToString(); novo1.NUMERO_END_FORNECEDOR = dados["NUMERO_END_ENTREGA"].ToString(); novo1.COMPL_END_FORNECEDOR = dados["COMP_END_FATURA"].ToString(); novo1.CEP_FORNECEDOR = dados["CEP_FATURA"].ToString(); novo1.BAIRRO_FORNECEDOR = dados["BAIRRO_FATURA"].ToString(); novo1.ID_MUNICIPIO_FORNECEDOR = Convert.ToDecimal(dados["CIDADE_FATURA"]); novo1.ID_UF_FORNECEDOR = Convert.ToDecimal(dados["ESTADO_FATURA"]); novo1.TELEFONE1_FORNECEDOR = dados["TELEFONE_FATURA"].ToString(); novo1.EMAIL_FORNECEDOR = dados["EMAIL_CLIENTE"].ToString(); novo1.CODIGO_EMITENTE = Convert.ToDecimal(dados["ID_EMPRESA"]); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_FORNECEDORs.GetModifiedMembers(novo1), ctx.TB_FORNECEDORs.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); } } else { Table <TB_FORNECEDOR> Entidade1 = ctx.GetTable <TB_FORNECEDOR>(); TB_FORNECEDOR novo1 = new TB_FORNECEDOR(); novo1.NOME_FORNECEDOR = dados["NOME_CLIENTE"].ToString(); novo1.NOME_FANTASIA_FORNECEDOR = dados["NOMEFANTASIA_CLIENTE"].ToString(); novo1.CNPJ_FORNECEDOR = dados["CNPJ_CLIENTE"].ToString(); novo1.IE_FORNECEDOR = dados["IE_CLIENTE"].ToString(); novo1.ENDERECO_FORNECEDOR = dados["ENDERECO_FATURA"].ToString(); novo1.NUMERO_END_FORNECEDOR = dados["NUMERO_END_ENTREGA"].ToString(); novo1.COMPL_END_FORNECEDOR = dados["COMP_END_FATURA"].ToString(); novo1.CEP_FORNECEDOR = dados["CEP_FATURA"].ToString(); novo1.BAIRRO_FORNECEDOR = dados["BAIRRO_FATURA"].ToString(); novo1.ID_MUNICIPIO_FORNECEDOR = Convert.ToDecimal(dados["CIDADE_FATURA"]); novo1.ID_UF_FORNECEDOR = Convert.ToDecimal(dados["ESTADO_FATURA"]); novo1.TELEFONE1_FORNECEDOR = dados["TELEFONE_FATURA"].ToString(); novo1.TELEFONE2_FORNECEDOR = string.Empty; novo1.FAX_FORNECEDOR = string.Empty; novo1.OBS_FORNECEDOR = string.Empty; novo1.EMAIL_FORNECEDOR = dados["EMAIL_CLIENTE"].ToString(); novo1.CONTATO_FORNECEDOR = string.Empty; novo1.CLIENTE = 1; novo1.CODIGO_EMITENTE = Convert.ToDecimal(dados["ID_EMPRESA"]); Entidade1.InsertOnSubmit(novo1); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo1, Entidade1.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); } ctx.SubmitChanges(); } }
public List <Dictionary <string, object> > Gera_Ordem_Compra_Sugestao(List <Dictionary <string, object> > LINHAS, decimal ID_UF_EMITENTE, decimal ID_USUARIO) { List <Dictionary <string, object> > retorno = new List <Dictionary <string, object> >(); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var _query = (from _linha in ctx.TB_STATUS_PEDIDO_COMPRAs where _linha.STATUS_ESPECIFICO_ITEM_COMPRA == 1 select _linha).ToList(); decimal STATUS_COTACAO = _query.First().CODIGO_STATUS_COMPRA; var query1 = (from _linha in ctx.TB_STATUS_PEDIDOs where _linha.STATUS_ESPECIFICO == 7 select _linha).ToList(); if (query1.Count == 0) { throw new Exception("O status [ORDEM DE COMPRA] não está cadastradado"); } var CODIGO_CP = (from _linha in ctx.TB_COND_PAGTOs where _linha.CONDICAO_CLIENTE_NOVO == 1 select _linha.CODIGO_CP).ToList().First(); TB_FORNECEDOR _fornecedor = Dados_Fornecedor(); NUMERO_PEDIDO_COMPRA = Doran_Compras.Obtem_Novo_Numero_Pedido(); decimal NUMERO_ITEM_COMPRA = 0; foreach (Dictionary <string, object> linha in LINHAS) { using (Doran_ERP_Servicos_DadosDataContext ctx1 = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <TB_PEDIDO_COMPRA> Entidade = ctx1.GetTable <TB_PEDIDO_COMPRA>(); TB_PEDIDO_COMPRA novo = new TB_PEDIDO_COMPRA(); novo.NUMERO_PEDIDO_COMPRA = NUMERO_PEDIDO_COMPRA; string qtde = linha["QTDE_COMPRA"].ToString(); qtde = qtde.Replace(".", ","); novo.ID_PRODUTO_COMPRA = Convert.ToDecimal(linha["ID_PRODUTO_PEDIDO"]); novo.CODIGO_PRODUTO_COMPRA = linha["CODIGO_PRODUTO_PEDIDO"].ToString(); novo.CODIGO_COMPLEMENTO_PRODUTO_COMPRA = 0; novo.UNIDADE_ITEM_COMPRA = linha["UNIDADE"].ToString(); novo.QTDE_ITEM_COMPRA = Convert.ToDecimal(qtde); novo.TIPO_DESCONTO_ITEM_COMPRA = 0; novo.VALOR_DESCONTO_ITEM_COMPRA = 0; novo.PRECO_ITEM_COMPRA = 0; novo.VALOR_TOTAL_ITEM_COMPRA = 0; novo.ALIQ_ICMS_ITEM_COMPRA = 0; novo.BASE_ICMS_ITEM_COMPRA = 0; novo.VALOR_ICMS_ITEM_COMPRA = 0; novo.BASE_ICMS_ST_ITEM_COMPRA = 0; novo.VALOR_ICMS_ST_ITEM_COMPRA = 0; novo.ALIQ_IPI_ITEM_COMPRA = 0; novo.VALOR_IPI_ITEM_COMPRA = 0; novo.CODIGO_FORNECEDOR_ITEM_COMPRA = string.Empty; novo.NUMERO_LOTE_ITEM_COMPRA = string.Empty; novo.OBS_ITEM_COMPRA = string.Empty; novo.STATUS_ITEM_COMPRA = STATUS_COTACAO; novo.DATA_ITEM_COMPRA = DateTime.Now; novo.PREVISAO_ENTREGA_ITEM_COMPRA = DateTime.Today.AddDays(1); novo.ENTREGA_EFETIVA_ITEM_COMPRA = new DateTime(1901, 01, 01); novo.CODIGO_COND_PAGTO = CODIGO_CP; novo.QTDE_NF_ITEM_COMPRA = 0; novo.CODIGO_FORNECEDOR = _fornecedor.CODIGO_FORNECEDOR; novo.CONTATO_COTACAO_FORNECEDOR = _fornecedor.CONTATO_FORNECEDOR.Trim(); novo.EMAIL_COTACAO_FORNECEDOR = _fornecedor.EMAIL_FORNECEDOR.Trim(); novo.TELEFONE_COTACAO_FORNECEDOR = _fornecedor.TELEFONE1_FORNECEDOR.Trim(); novo.FRETE_COTACAO_FORNECEDOR = 0; novo.VALOR_FRETE_COTACAO_FORNECEDOR = 0; novo.ID_UF_COTACAO_FORNECEDOR = ID_UF_EMITENTE; novo.CODIGO_CP_COTACAO_FORNECEDOR = _fornecedor.CODIGO_CP_FORNECEDOR; novo.DATA_PEDIDO_COTACAO = DateTime.Now; novo.DATA_RESPOSTA = new DateTime(1901, 01, 01); novo.CHAVE_COTACAO = -1; novo.COTACAO_ENVIADA = 1; novo.COTACAO_RESPONDIDA = 2; novo.OBS_FORNECEDOR = string.Empty; novo.DATA_VALIDADE_COTACAO = DateTime.Today.AddDays(15); novo.MARCA_PEDIDO = 0; novo.COTACAO_VENCEDORA = 1; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx1, novo, Entidade.ToString(), ID_USUARIO); ctx1.SubmitChanges(); NUMERO_ITEM_COMPRA = novo.NUMERO_ITEM_COMPRA; } var query = (from _linha in ctx.TB_PEDIDO_VENDAs where _linha.NUMERO_PEDIDO == Convert.ToDecimal(linha["NUMERO_PEDIDO"]) && _linha.NUMERO_ITEM == Convert.ToDecimal(linha["NUMERO_ITEM"]) select _linha).ToList(); Dictionary <string, object> linhaRetorno = new Dictionary <string, object>(); linhaRetorno.Add("NUMERO_PEDIDO", Convert.ToDecimal(linha["NUMERO_PEDIDO"])); linhaRetorno.Add("NUMERO_ITEM", Convert.ToDecimal(linha["NUMERO_ITEM"])); foreach (var item in query) { item.STATUS_ITEM_PEDIDO = query1.First().CODIGO_STATUS_PEDIDO; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update_PEDIDO_VENDA(ctx, ctx.TB_PEDIDO_VENDAs.GetModifiedMembers(item), "TB_PEDIDO_VENDA", item.NUMERO_PEDIDO, ID_USUARIO); linhaRetorno.Add("STATUS_ITEM_PEDIDO", query1.First().CODIGO_STATUS_PEDIDO); linhaRetorno.Add("DESCRICAO_STATUS_PEDIDO", query1.First().DESCRICAO_STATUS_PEDIDO.Trim()); linhaRetorno.Add("COR_STATUS", query1.First().COR_STATUS.Trim()); linhaRetorno.Add("COR_FONTE_STATUS", query1.First().COR_FONTE_STATUS.Trim()); linhaRetorno.Add("NUMERO_PEDIDO_COMPRA", NUMERO_PEDIDO_COMPRA); linhaRetorno.Add("STATUS_COMPRA", STATUS_COTACAO); linhaRetorno.Add("COR_STATUS_PEDIDO_COMPRA", _query.First().COR_STATUS_PEDIDO_COMPRA.Trim()); linhaRetorno.Add("COR_FONTE_STATUS_PEDIDO_COMPRA", _query.First().COR_FONTE_STATUS_PEDIDO_COMPRA.Trim()); linhaRetorno.Add("DESCRICAO_STATUS_PEDIDO_COMPRA", _query.First().DESCRICAO_STATUS_PEDIDO_COMPRA.Trim()); } retorno.Add(linhaRetorno); } ctx.SubmitChanges(); } return(retorno); }
public void Grava_Dados_Cliente_e_Fornecedor(Dictionary <string, object> dados) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var existe_cnpj = (from linha in ctx.GetTable <TB_CLIENTE>() orderby linha.CNPJ_CLIENTE where linha.CNPJ_CLIENTE == dados["CNPJ_CLIENTE"].ToString() select linha).Any(); if (existe_cnpj) { throw new Exception("Já existe um cliente cadastrado com este CNPJ [" + dados["CNPJ_CLIENTE"].ToString() + "]"); } var existe_nome_fantasia = (from linha in ctx.GetTable <TB_CLIENTE>() orderby linha.NOMEFANTASIA_CLIENTE where linha.NOMEFANTASIA_CLIENTE == dados["NOMEFANTASIA_CLIENTE"].ToString() select linha).Any(); if (existe_nome_fantasia) { throw new Exception("Já existe um cliente cadastrado com este nome fantasia [" + dados["NOMEFANTASIA_CLIENTE"].ToString() + "]"); } decimal id_uf = decimal.TryParse(dados["ESTADO_ENTREGA"].ToString(), out id_uf) ? Convert.ToDecimal(dados["ESTADO_ENTREGA"]) : 0; decimal cidade = decimal.TryParse(dados["CIDADE_ENTREGA"].ToString(), out cidade) ? Convert.ToDecimal(dados["CIDADE_ENTREGA"]) : 0; decimal id_uf1 = decimal.TryParse(dados["ESTADO_COBRANCA"].ToString(), out id_uf1) ? Convert.ToDecimal(dados["ESTADO_COBRANCA"]) : 0; decimal cidade1 = decimal.TryParse(dados["CIDADE_COBRANCA"].ToString(), out cidade1) ? Convert.ToDecimal(dados["CIDADE_COBRANCA"]) : 0; System.Data.Linq.Table <Doran_Servicos_ORM.TB_CLIENTE> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CLIENTE>(); Doran_Servicos_ORM.TB_CLIENTE novo = new Doran_Servicos_ORM.TB_CLIENTE(); novo.NOME_CLIENTE = dados["NOME_CLIENTE"].ToString(); novo.NOMEFANTASIA_CLIENTE = dados["NOMEFANTASIA_CLIENTE"].ToString(); novo.CNPJ_CLIENTE = dados["CNPJ_CLIENTE"].ToString(); novo.IE_CLIENTE = dados["IE_CLIENTE"].ToString(); novo.IE_SUFRAMA = dados["IE_SUFRAMA"].ToString(); novo.ENDERECO_FATURA = dados["ENDERECO_FATURA"].ToString(); novo.NUMERO_END_FATURA = dados["NUMERO_END_FATURA"].ToString(); novo.COMP_END_FATURA = dados["COMP_END_FATURA"].ToString(); novo.CEP_FATURA = dados["CEP_FATURA"].ToString(); novo.BAIRRO_FATURA = dados["BAIRRO_FATURA"].ToString(); novo.CIDADE_FATURA = Convert.ToDecimal(dados["CIDADE_FATURA"]); novo.ESTADO_FATURA = Convert.ToDecimal(dados["ESTADO_FATURA"]); novo.TELEFONE_FATURA = dados["TELEFONE_FATURA"].ToString(); novo.ENDERECO_ENTREGA = dados["ENDERECO_ENTREGA"].ToString(); novo.NUMERO_END_ENTREGA = dados["NUMERO_END_ENTREGA"].ToString(); novo.COMP_END_ENTREGA = dados["COMP_END_ENTREGA"].ToString(); novo.CEP_ENTREGA = dados["CEP_ENTREGA"].ToString(); novo.BAIRRO_ENTREGA = dados["BAIRRO_ENTREGA"].ToString(); novo.CIDADE_ENTREGA = cidade; novo.ESTADO_ENTREGA = id_uf; novo.TELEFONE_ENTREGA = dados["TELEFONE_ENTREGA"].ToString(); novo.ENDERECO_COBRANCA = dados["ENDERECO_COBRANCA"].ToString(); novo.CEP_COBRANCA = dados["CEP_COBRANCA"].ToString(); novo.BAIRRO_COBRANCA = dados["BAIRRO_COBRANCA"].ToString(); novo.CIDADE_COBRANCA = cidade1; novo.ESTADO_COBRANCA = id_uf1; novo.TELEFONE_COBRANCA = dados["TELEFONE_COBRANCA"].ToString(); novo.CODIGO_CP_CLIENTE = Convert.ToDecimal(dados["CODIGO_CP_CLIENTE"]); novo.ID_LIMITE = Convert.ToDecimal(dados["ID_LIMITE_CLIENTE"]); novo.CODIGO_VENDEDOR_CLIENTE = Convert.ToDecimal(dados["CODIGO_VENDEDOR_CLIENTE"]); novo.OBS_CLIENTE = dados["OBS_CLIENTE"].ToString(); novo.PESSOA = Convert.ToDecimal(dados["PESSOA"]); novo.EMAIL_CLIENTE = dados["EMAIL_CLIENTE"].ToString(); novo.ENVIO_NFE_CLIENTE = Convert.ToDecimal(dados["ENVIO_NFE_CLIENTE"]); novo.CODIGO_EMITENTE = Convert.ToDecimal(dados["ID_EMPRESA"]); novo.CLIENTE_BLOQUEADO = Convert.ToDecimal(dados["CLIENTE_BLOQUEADO"]); novo.FORNECEDOR = Convert.ToDecimal(dados["FORNECEDOR"]); novo.DATA_ULTIMA_FATURA = new DateTime(1901, 01, 01); novo.VALOR_ULTIMA_FATURA = 0; novo.DATA_CADASTRO = DateTime.Now; novo.CODIGO_REGIAO = dados["CODIGO_REGIAO"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); if (novo.FORNECEDOR == 1) { // Grava Fornecedor var fornecedor_cnpj = (from linha in ctx.GetTable <TB_FORNECEDOR>() orderby linha.CNPJ_FORNECEDOR where linha.CNPJ_FORNECEDOR == dados["CNPJ_CLIENTE"].ToString() select linha).ToList(); var fornecedor_nome_fantasia = (from linha in ctx.GetTable <TB_FORNECEDOR>() orderby linha.NOME_FANTASIA_FORNECEDOR where linha.NOME_FANTASIA_FORNECEDOR == dados["NOMEFANTASIA_CLIENTE"].ToString() select linha).ToList(); if (!fornecedor_cnpj.Any() && !fornecedor_nome_fantasia.Any()) { Table <TB_FORNECEDOR> Entidade1 = ctx.GetTable <TB_FORNECEDOR>(); TB_FORNECEDOR novo1 = new TB_FORNECEDOR(); novo1.NOME_FORNECEDOR = dados["NOME_CLIENTE"].ToString(); novo1.NOME_FANTASIA_FORNECEDOR = dados["NOMEFANTASIA_CLIENTE"].ToString(); novo1.CNPJ_FORNECEDOR = dados["CNPJ_CLIENTE"].ToString(); novo1.IE_FORNECEDOR = dados["IE_CLIENTE"].ToString(); novo1.ENDERECO_FORNECEDOR = dados["ENDERECO_FATURA"].ToString(); novo1.NUMERO_END_FORNECEDOR = dados["NUMERO_END_ENTREGA"].ToString(); novo1.COMPL_END_FORNECEDOR = dados["COMP_END_FATURA"].ToString(); novo1.CEP_FORNECEDOR = dados["CEP_FATURA"].ToString(); novo1.BAIRRO_FORNECEDOR = dados["BAIRRO_FATURA"].ToString(); novo1.ID_MUNICIPIO_FORNECEDOR = Convert.ToDecimal(dados["CIDADE_FATURA"]); novo1.ID_UF_FORNECEDOR = Convert.ToDecimal(dados["ESTADO_FATURA"]); novo1.TELEFONE1_FORNECEDOR = dados["TELEFONE_FATURA"].ToString(); novo1.TELEFONE2_FORNECEDOR = string.Empty; novo1.FAX_FORNECEDOR = string.Empty; novo1.OBS_FORNECEDOR = string.Empty; novo1.EMAIL_FORNECEDOR = dados["EMAIL_CLIENTE"].ToString(); novo1.CONTATO_FORNECEDOR = string.Empty; novo1.CLIENTE = 1; novo1.CODIGO_EMITENTE = Convert.ToDecimal(dados["ID_EMPRESA"]); Entidade1.InsertOnSubmit(novo1); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo1, Entidade1.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); } else { foreach (var item in fornecedor_nome_fantasia) { item.NOME_FORNECEDOR = dados["NOME_CLIENTE"].ToString(); item.NOME_FANTASIA_FORNECEDOR = dados["NOMEFANTASIA_CLIENTE"].ToString(); item.CNPJ_FORNECEDOR = dados["CNPJ_CLIENTE"].ToString(); item.IE_FORNECEDOR = dados["IE_CLIENTE"].ToString(); item.ENDERECO_FORNECEDOR = dados["ENDERECO_FATURA"].ToString(); item.NUMERO_END_FORNECEDOR = dados["NUMERO_END_ENTREGA"].ToString(); item.COMPL_END_FORNECEDOR = dados["COMP_END_FATURA"].ToString(); item.CEP_FORNECEDOR = dados["CEP_FATURA"].ToString(); item.BAIRRO_FORNECEDOR = dados["BAIRRO_FATURA"].ToString(); item.ID_MUNICIPIO_FORNECEDOR = Convert.ToDecimal(dados["CIDADE_FATURA"]); item.ID_UF_FORNECEDOR = Convert.ToDecimal(dados["ESTADO_FATURA"]); item.TELEFONE1_FORNECEDOR = dados["TELEFONE_FATURA"].ToString(); item.TELEFONE2_FORNECEDOR = string.Empty; item.FAX_FORNECEDOR = string.Empty; item.OBS_FORNECEDOR = string.Empty; item.EMAIL_FORNECEDOR = dados["EMAIL_CLIENTE"].ToString(); item.CLIENTE = 1; item.CODIGO_EMITENTE = Convert.ToDecimal(dados["ID_EMPRESA"]); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.GetTable <TB_FORNECEDOR>().GetModifiedMembers(item), "TB_FORNECEDOR", Convert.ToDecimal(dados["ID_USUARIO"])); } } } ctx.SubmitChanges(); } }
public Dictionary <string, object> Gera_Ordem_Compra(decimal ID_UF_EMITENTE, decimal ID_USUARIO) { Dictionary <string, object> retorno = new Dictionary <string, object>(); TB_FORNECEDOR _fornecedor = Dados_Fornecedor(); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { try { string str_conn = ConfigurationManager.ConnectionStrings["Doran_Servicos_ORM.Properties.Settings.Doran_ERP_ServicosConnectionString"].ConnectionString; ctx.Connection.ConnectionString = str_conn; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(IsolationLevel.ReadUncommitted); var _query = (from linha in ctx.TB_STATUS_PEDIDO_COMPRAs where linha.STATUS_ESPECIFICO_ITEM_COMPRA == 1 select linha).ToList(); decimal STATUS_COTACAO = 0; foreach (var item in _query) { STATUS_COTACAO = item.CODIGO_STATUS_COMPRA; } var query1 = (from linha in ctx.TB_STATUS_PEDIDOs where linha.STATUS_ESPECIFICO == 7 select linha).ToList(); if (!query1.Any()) { throw new Exception("O status [ORDEM DE COMPRA] não está cadastradado"); } foreach (var item in query1) { retorno.Add("CODIGO_STATUS_PEDIDO", item.CODIGO_STATUS_PEDIDO); retorno.Add("STATUS_ITEM_PEDIDO", item.CODIGO_STATUS_PEDIDO); retorno.Add("DESCRICAO_STATUS_PEDIDO", item.DESCRICAO_STATUS_PEDIDO.Trim()); retorno.Add("COR_STATUS", item.COR_STATUS.Trim()); retorno.Add("COR_FONTE_STATUS", item.COR_FONTE_STATUS.Trim()); } var CODIGO_CP = (from linha in ctx.TB_COND_PAGTOs select linha.CODIGO_CP).ToList().First(); NUMERO_PEDIDO_COMPRA = Doran_Compras.Obtem_Novo_Numero_Pedido(); //decimal NUMERO_ITEM_COMPRA = 0; DateTime _hoje = DateTime.Now; //foreach (var item in query) //{ // System.Data.Linq.Table<TB_PEDIDO_COMPRA> Entidade = ctx.GetTable<TB_PEDIDO_COMPRA>(); // TB_PEDIDO_COMPRA novo = new TB_PEDIDO_COMPRA(); // novo.NUMERO_PEDIDO_COMPRA = NUMERO_PEDIDO_COMPRA; // novo.ID_PRODUTO_COMPRA = item.ID_PRODUTO_PEDIDO; // novo.CODIGO_PRODUTO_COMPRA = item.TB_PRODUTO.CODIGO_PRODUTO.Trim(); // novo.CODIGO_COMPLEMENTO_PRODUTO_COMPRA = item.CODIGO_COMPLEMENTO_PEDIDO; // novo.UNIDADE_ITEM_COMPRA = item.UNIDADE_ITEM_PEDIDO; // novo.TIPO_DESCONTO_ITEM_COMPRA = 0; // novo.VALOR_DESCONTO_ITEM_COMPRA = 0; // novo.PRECO_ITEM_COMPRA = 0; // novo.VALOR_TOTAL_ITEM_COMPRA = 0; // novo.ALIQ_ICMS_ITEM_COMPRA = 0; // novo.BASE_ICMS_ITEM_COMPRA = 0; // novo.VALOR_ICMS_ITEM_COMPRA = 0; // novo.BASE_ICMS_ST_ITEM_COMPRA = 0; // novo.VALOR_ICMS_ST_ITEM_COMPRA = 0; // novo.ALIQ_IPI_ITEM_COMPRA = 0; // novo.VALOR_IPI_ITEM_COMPRA = 0; // novo.CODIGO_FORNECEDOR_ITEM_COMPRA = string.Empty; // novo.OBS_ITEM_COMPRA = string.Empty; // novo.STATUS_ITEM_COMPRA = STATUS_COTACAO; // novo.DATA_ITEM_COMPRA = DateTime.Now; // novo.PREVISAO_ENTREGA_ITEM_COMPRA = ((DateTime)item.ENTREGA_PEDIDO).AddDays(-5) < DateTime.Today ? // DateTime.Today.AddDays(1) : ((DateTime)item.ENTREGA_PEDIDO).AddDays(-5); // novo.ENTREGA_EFETIVA_ITEM_COMPRA = new DateTime(1901, 01, 01); // novo.CODIGO_COND_PAGTO = CODIGO_CP; // novo.QTDE_NF_ITEM_COMPRA = 0; // novo.CODIGO_FORNECEDOR = _fornecedor.CODIGO_FORNECEDOR; // novo.CONTATO_COTACAO_FORNECEDOR = _fornecedor.CONTATO_FORNECEDOR.Trim(); // novo.EMAIL_COTACAO_FORNECEDOR = _fornecedor.EMAIL_FORNECEDOR.Trim(); // novo.TELEFONE_COTACAO_FORNECEDOR = _fornecedor.TELEFONE1_FORNECEDOR.Trim(); // novo.FRETE_COTACAO_FORNECEDOR = 0; // novo.VALOR_FRETE_COTACAO_FORNECEDOR = 0; // novo.ID_UF_COTACAO_FORNECEDOR = ID_UF_EMITENTE; // novo.CODIGO_CP_COTACAO_FORNECEDOR = _fornecedor.CODIGO_CP_FORNECEDOR; // novo.DATA_PEDIDO_COTACAO = DateTime.Now; // novo.DATA_RESPOSTA = new DateTime(1901, 01, 01); // novo.CHAVE_COTACAO = -1; // novo.COTACAO_ENVIADA = 0; // novo.COTACAO_RESPONDIDA = 0; // novo.OBS_FORNECEDOR = string.Empty; // novo.DATA_VALIDADE_COTACAO = DateTime.Today.AddDays(15); // novo.MARCA_PEDIDO = 0; // novo.COTACAO_VENCEDORA = 0; // novo.PRECO_RESERVA = 0; // novo.NUMERO_PEDIDO_VENDA = 0; // novo.NUMERO_ITEM_VENDA = 0; // Entidade.InsertOnSubmit(novo); // Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); // ctx.SubmitChanges(); // NUMERO_ITEM_COMPRA = novo.NUMERO_ITEM_COMPRA; // ///////////////////// // var DATA_STATUS_ANTERIOR = (from linha in ctx.TB_MUDANCA_STATUS_PEDIDOs // where linha.NUMERO_PEDIDO_VENDA == item.NUMERO_PEDIDO // && linha.NUMERO_ITEM_VENDA == item.NUMERO_ITEM // select linha).Any() ? // (from linha in ctx.TB_MUDANCA_STATUS_PEDIDOs // where linha.NUMERO_PEDIDO_VENDA == item.NUMERO_PEDIDO // && linha.NUMERO_ITEM_VENDA == item.NUMERO_ITEM // select linha.DATA_MUDANCA).Max() : item.DATA_PEDIDO; // System.Data.Linq.Table<TB_MUDANCA_STATUS_PEDIDO> Entidade3 = ctx.GetTable<TB_MUDANCA_STATUS_PEDIDO>(); // TB_MUDANCA_STATUS_PEDIDO novo3 = new TB_MUDANCA_STATUS_PEDIDO(); // novo3.NUMERO_PEDIDO_VENDA = item.NUMERO_PEDIDO; // novo3.NUMERO_ITEM_VENDA = item.NUMERO_ITEM; // novo3.DATA_MUDANCA = _hoje; // novo3.ID_USUARIO = ID_USUARIO; // novo3.ID_STATUS_ANTERIOR = item.STATUS_ITEM_PEDIDO; // novo3.ID_STATUS_NOVO = Convert.ToDecimal(retorno["CODIGO_STATUS_PEDIDO"]); // novo3.DATA_STATUS_ANTERIOR = DATA_STATUS_ANTERIOR; // novo3.ID_PRODUTO = item.ID_PRODUTO_PEDIDO; // Entidade3.InsertOnSubmit(novo3); // Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx, novo3, Entidade3.ToString(), item.NUMERO_PEDIDO, ID_USUARIO); // ctx.SubmitChanges(); // //// // item.STATUS_ITEM_PEDIDO = Convert.ToDecimal(retorno["CODIGO_STATUS_PEDIDO"]); // item.ITEM_A_COMPRAR = 0; // item.ID_USUARIO_ITEM_A_COMPRAR = 0; // if (!retorno.ContainsKey("NUMERO_PEDIDO_COMPRA")) // retorno.Add("NUMERO_PEDIDO_COMPRA", NUMERO_PEDIDO_COMPRA); // Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update_PEDIDO_VENDA(ctx, ctx.TB_PEDIDO_VENDAs.GetModifiedMembers(item), // "TB_PEDIDO_VENDA", item.NUMERO_PEDIDO, ID_USUARIO); // ctx.SubmitChanges(); // System.Data.Linq.Table<TB_ASSOCIACAO_COMPRA_VENDA> Entidade2 = ctx.GetTable<TB_ASSOCIACAO_COMPRA_VENDA>(); // TB_ASSOCIACAO_COMPRA_VENDA novo2 = new TB_ASSOCIACAO_COMPRA_VENDA(); // novo2.NUMERO_PEDIDO_VENDA = item.NUMERO_PEDIDO; // novo2.NUMERO_ITEM_VENDA = item.NUMERO_ITEM; // novo2.NUMERO_PEDIDO_COMPRA = NUMERO_PEDIDO_COMPRA; // novo2.NUMERO_ITEM_COMPRA = NUMERO_ITEM_COMPRA; // Entidade2.InsertOnSubmit(novo2); // Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo2, Entidade2.ToString(), ID_USUARIO); // ctx.SubmitChanges(); //} ctx.Transaction.Commit(); } catch { ctx.Transaction.Rollback(); throw; } return(retorno); } }