public string GravaNovoPAGTO(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_PAGTO_PARCIAL> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_PAGTO_PARCIAL>(); Doran_Servicos_ORM.TB_PAGTO_PARCIAL novo = new Doran_Servicos_ORM.TB_PAGTO_PARCIAL(); DateTime dt = Convert.ToDateTime(dados["DATA_PAGTO"].ToString() + " " + DateTime.Now.Hour.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Minute.ToString().PadLeft(2, '0') + ":" + DateTime.Now.Second.ToString().PadLeft(2, '0')); novo.NUMERO_FINANCEIRO = Convert.ToDecimal(dados["NUMERO_FINANCEIRO"]); novo.DATA_PAGTO = dt; novo.VALOR_PAGTO = Convert.ToDecimal(dados["VALOR_PAGTO"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria.Th2_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); string soma = SomaPagtoParcial(Convert.ToDecimal(dados["NUMERO_FINANCEIRO"])).ToString(); return(soma); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovoEmitente(Dictionary <string, object> dados) { try { decimal ID_MUNICIPIO_RETIRADA = decimal.TryParse(dados["COD_MUNICIPIO_RETIRADA_EMITENTE"].ToString(), out ID_MUNICIPIO_RETIRADA) ? Convert.ToDecimal(dados["COD_MUNICIPIO_RETIRADA_EMITENTE"]) : 0; decimal ID_UF_RETIRADA = decimal.TryParse(dados["ID_UF_RETIRADA_EMITENTE"].ToString(), out ID_UF_RETIRADA) ? Convert.ToDecimal(dados["ID_UF_RETIRADA_EMITENTE"]) : 0; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_EMITENTE> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_EMITENTE>(); Doran_Servicos_ORM.TB_EMITENTE novo = new Doran_Servicos_ORM.TB_EMITENTE(); novo.NOME_EMITENTE = dados["NOME_EMITENTE"].ToString(); novo.NOME_FANTASIA_EMITENTE = dados["NOME_FANTASIA_EMITENTE"].ToString(); novo.CNPJ_EMITENTE = dados["CNPJ_EMITENTE"].ToString(); novo.IE_EMITENTE = dados["IE_EMITENTE"].ToString(); novo.ENDERECO_EMITENTE = dados["ENDERECO_EMITENTE"].ToString(); novo.NUMERO_END_EMITENTE = dados["NUMERO_END_EMITENTE"].ToString(); novo.COMPLEMENTO_END_EMITENTE = dados["COMPLEMENTO_END_EMITENTE"].ToString(); novo.CEP_EMITENTE = dados["CEP_EMITENTE"].ToString(); novo.BAIRRO_EMITENTE = dados["BAIRRO_EMITENTE"].ToString(); novo.CODIGO_MUNICIPIO_EMITENTE = Convert.ToDecimal(dados["CODIGO_MUNICIPIO_EMITENTE"]); novo.ID_UF_EMITENTE = Convert.ToDecimal(dados["ID_UF_EMITENTE"]); novo.ENDERECO_RETIRADA_EMITENTE = dados["ENDERECO_RETIRADA_EMITENTE"].ToString(); novo.NUMERO_END_RETIRADA_EMITENTE = dados["NUMERO_END_RETIRADA_EMITENTE"].ToString(); novo.COMPL_RETIRADA_EMITENTE = dados["COMPL_RETIRADA_EMITENTE"].ToString(); novo.CEP_RETIRADA_EMITENTE = dados["CEP_RETIRADA_EMITENTE"].ToString(); novo.BAIRRO_RETIRADA_EMITENTE = dados["BAIRRO_RETIRADA_EMITENTE"].ToString(); novo.COD_MUNICIPIO_RETIRADA_EMITENTE = ID_MUNICIPIO_RETIRADA; novo.ID_UF_RETIRADA_EMITENTE = ID_UF_RETIRADA; novo.TELEFONE_EMITENTE = dados["TELEFONE_EMITENTE"].ToString(); novo.FAX_EMITENTE = dados["FAX_EMITENTE"].ToString(); novo.OBS_EMITENTE = dados["OBS_EMITENTE"].ToString(); novo.EMAIL_EMITENTE = dados["EMAIL_EMITENTE"].ToString(); novo.NUMERO_NF_EMITENTE = Convert.ToDecimal(dados["NUMERO_NF_EMITENTE"]); novo.SERIE_NF_EMITENTE = dados["SERIE_NF_EMITENTE"].ToString(); novo.SITE_EMITENTE = dados["SITE_EMITENTE"].ToString(); novo.CRT_EMITENTE = Convert.ToDecimal(dados["CRT_EMITENTE"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public Dictionary <string, object> Grava_Novo_Item_Orcamento(Dictionary <string, object> dados) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { try { ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(IsolationLevel.ReadUncommitted); decimal CODIGO_CLIENTE = decimal.TryParse(dados["CODIGO_CLIENTE"].ToString(), out CODIGO_CLIENTE) ? Convert.ToDecimal(dados["CODIGO_CLIENTE"]) : 0; if (CODIGO_CLIENTE > 0) { decimal CLIENTE_BLOQUEADO = (from linha in ctx.TB_CLIENTEs where linha.ID_CLIENTE == CODIGO_CLIENTE select linha).Any() ? (from linha in ctx.TB_CLIENTEs where linha.ID_CLIENTE == CODIGO_CLIENTE select linha.CLIENTE_BLOQUEADO).First().HasValue ? (from linha in ctx.TB_CLIENTEs where linha.ID_CLIENTE == CODIGO_CLIENTE select linha.CLIENTE_BLOQUEADO).First().Value : 0 : 0; if (CLIENTE_BLOQUEADO == 1) { throw new Exception("Cliente bloqueado"); } } if (Convert.ToDecimal(dados["NUMERO_ORCAMENTO"]) == 0) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_ORCAMENTO_VENDA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_ORCAMENTO_VENDA>(); Doran_Servicos_ORM.TB_ORCAMENTO_VENDA novo = new Doran_Servicos_ORM.TB_ORCAMENTO_VENDA(); string CHAVE = CRIA_CHAVE_ORCAMENTO(); if (CHAVE.Length > 100) { CHAVE = CHAVE.Substring(0, 100); } CHAVE_ORCAMENTO = CHAVE; novo.DATA_ORCAMENTO = DateTime.Now; novo.CODIGO_COND_PAGTO = Convert.ToDecimal(dados["CODIGO_COND_PAGTO"]); novo.CODIGO_VENDEDOR = Convert.ToDecimal(dados["CODIGO_VENDEDOR"]); novo.CONTATO_ORCAMENTO = dados["CONTATO_ORCAMENTO"].ToString(); novo.EMAIL_CONTATO = dados["EMAIL_CONTATO"].ToString(); novo.NUMERO_REVISAO = 1; novo.TELEFONE_CONTATO = dados["TELEFONE_CONTATO"].ToString(); novo.TEXTO_PROPOSTA = ""; novo.CHAVE_ORCAMENTO = CHAVE; novo.ID_UF_ORCAMENTO = Convert.ToDecimal(dados["ID_UF_ORCAMENTO"]); novo.OBS_ORCAMENTO = ""; novo.VALIDADE_ORCAMENTO = Convert.ToDateTime(dados["VALIDADE_ORCAMENTO"]); novo.OBS_NF_ORCAMENTO = ""; if (CODIGO_CLIENTE > 0) { novo.CODIGO_CLIENTE_ORCAMENTO = CODIGO_CLIENTE; } Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); ctx.SubmitChanges(); } ///////////////// if (Convert.ToDecimal(dados["NUMERO_ORCAMENTO"]) == 0) { var query = (from linha in ctx.TB_ORCAMENTO_VENDAs where linha.CHAVE_ORCAMENTO == CHAVE_ORCAMENTO select new { linha.NUMERO_ORCAMENTO }).ToList(); foreach (var item in query) { NUMERO_ORCAMENTO = item.NUMERO_ORCAMENTO; } } System.Data.Linq.Table <Doran_Servicos_ORM.TB_ITEM_ORCAMENTO_VENDA> Entidade1 = ctx.GetTable <Doran_Servicos_ORM.TB_ITEM_ORCAMENTO_VENDA>(); Doran_Servicos_ORM.TB_ITEM_ORCAMENTO_VENDA novo1 = new Doran_Servicos_ORM.TB_ITEM_ORCAMENTO_VENDA(); var _CODIGO_PRODUTO = (from linha in ctx.TB_PRODUTOs orderby linha.ID_PRODUTO where linha.ID_PRODUTO == Convert.ToDecimal(dados["ID_PRODUTO"]) select linha.CODIGO_PRODUTO).ToList().First(); novo1.NUMERO_ORCAMENTO = NUMERO_ORCAMENTO; novo1.ID_PRODUTO = Convert.ToDecimal(dados["ID_PRODUTO"]); novo1.CODIGO_PRODUTO = _CODIGO_PRODUTO; novo1.QTDE_PRODUTO = Convert.ToDecimal(dados["QTDE_PRODUTO"]); novo1.PRECO_PRODUTO = Convert.ToDecimal(dados["PRECO_PRODUTO"]); novo1.UNIDADE_PRODUTO = dados["UNIDADE_PRODUTO"].ToString(); novo1.VALOR_TOTAL = Convert.ToDecimal(dados["VALOR_TOTAL"]); novo1.ALIQ_ISS = Convert.ToDecimal(dados["ALIQ_ISS"]); novo1.TIPO_DESCONTO = Convert.ToDecimal(dados["TIPO_DESCONTO"]); novo1.VALOR_DESCONTO = Convert.ToDecimal(dados["VALOR_DESCONTO"]); novo1.DATA_ENTREGA = Convert.ToDateTime(dados["DATA_ENTREGA"]); novo1.OBS_ITEM_ORCAMENTO = dados["OBS_ITEM_ORCAMENTO"].ToString(); novo1.NUMERO_PEDIDO_VENDA = 0; novo1.NAO_GERAR_PEDIDO = 0; novo1.PROGRAMACAO_ITEM_ORCAMENTO = 0; novo1.DESCRICAO_PRODUTO_ITEM_ORCAMENTO = dados["DESCRICAO_PRODUTO_ITEM_ORCAMENTO"].ToString(); novo1.ITEM_APROVADO = 0; novo1.ENDERECO_INICIAL_ITEM_ORCAMENTO = dados["ENDERECO_INICIAL_ITEM_ORCAMENTO"].ToString(); novo1.NUMERO_INICIAL_ITEM_ORCAMENTO = dados["NUMERO_INICIAL_ITEM_ORCAMENTO"].ToString(); novo1.COMPL_INICIAL_ITEM_ORCAMENTO = dados["COMPL_INICIAL_ITEM_ORCAMENTO"].ToString(); novo1.CEP_INICIAL_ITEM_ORCAMENTO = dados["CEP_INICIAL_ITEM_ORCAMENTO"].ToString(); novo1.CIDADE_INICIAL_ITEM_ORCAMENTO = dados["CIDADE_INICIAL_ITEM_ORCAMENTO"].ToString(); novo1.ESTADO_INICIAL_ITEM_ORCAMENTO = dados["ESTADO_INICIAL_ITEM_ORCAMENTO"].ToString(); novo1.ENDERECO_FINAL_ITEM_ORCAMENTO = dados["ENDERECO_FINAL_ITEM_ORCAMENTO"].ToString(); novo1.NUMERO_FINAL_ITEM_ORCAMENTO = dados["NUMERO_FINAL_ITEM_ORCAMENTO"].ToString(); novo1.COMPL_FINAL_ITEM_ORCAMENTO = dados["COMPL_FINAL_ITEM_ORCAMENTO"].ToString(); novo1.CEP_FINAL_ITEM_ORCAMENTO = dados["CEP_FINAL_ITEM_ORCAMENTO"].ToString(); novo1.CIDADE_FINAL_ITEM_ORCAMENTO = dados["CIDADE_FINAL_ITEM_ORCAMENTO"].ToString(); novo1.ESTADO_FINAL_ITEM_ORCAMENTO = dados["ESTADO_FINAL_ITEM_ORCAMENTO"].ToString(); novo1.DISTANCIA_EM_METROS = Convert.ToDecimal(dados["DISTANCIA_EM_METROS"]); Entidade1.InsertOnSubmit(novo1); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo1, Entidade1.ToString(), ID_USUARIO); ctx.SubmitChanges(); // Custo Financeiro var query8 = (from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs orderby linha.NUMERO_ORCAMENTO, linha.NUMERO_ITEM descending where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO select linha).ToList().First(); decimal PERCENTUAL_FINANCEIRO = (decimal)query8.TB_ORCAMENTO_VENDA.TB_COND_PAGTO.CUSTO_FINANCEIRO; decimal NUMERO_ITEM = query8.NUMERO_ITEM; var query7 = (from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO && linha.NUMERO_ITEM == NUMERO_ITEM select linha).ToList(); foreach (var item in query7) { item.ITEM_APROVADO = 1; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_ITEM_ORCAMENTO_VENDAs.GetModifiedMembers(item), ctx.TB_ITEM_ORCAMENTO_VENDAs.ToString(), ID_USUARIO); } var query5 = (from linha in ctx.TB_CUSTO_VENDAs where linha.CUSTO_PERMANENTE == 1 select linha).ToList(); var lista = query5.ToList(); decimal CUSTO_FINANCEIRO = 0; foreach (TB_CUSTO_VENDA tabela in lista) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA>(); Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA novo = new Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA(); novo.NUMERO_ORCAMENTO = NUMERO_ORCAMENTO; novo.NUMERO_ITEM_ORCAMENTO = NUMERO_ITEM; novo.NUMERO_CUSTO_VENDA = tabela.ID_CUSTO_VENDA; novo.CUSTO_ITEM_ORCAMENTO = 0; CUSTO_FINANCEIRO += (decimal)novo.CUSTO_ITEM_ORCAMENTO * (PERCENTUAL_FINANCEIRO / 100); novo.PREVISAO_ENTREGA = DateTime.Today.AddDays(1); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); } var query6 = (from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO select linha).ToList(); decimal?VALOR_TOTAL_PRODUTOS = query6.Sum(s => s.VALOR_TOTAL); VALOR_TOTAL_PRODUTOS = VALOR_TOTAL_PRODUTOS.HasValue ? VALOR_TOTAL_PRODUTOS : 0; foreach (var item in query6) { decimal?PRECO_FINAL = item.TIPO_DESCONTO == 0 ? item.PRECO_PRODUTO * (1 - (item.VALOR_DESCONTO / 100)) : item.PRECO_PRODUTO - item.VALOR_DESCONTO; item.ITEM_APROVADO = 0; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_ITEM_ORCAMENTO_VENDAs.GetModifiedMembers(item), ctx.TB_ITEM_ORCAMENTO_VENDAs.ToString(), ID_USUARIO); } ctx.SubmitChanges(); ctx.Transaction.Commit(); } catch { ctx.Transaction.Rollback(); throw; } } return(Calcula_Totais_Orcamento()); }
public List <object> Gera_Pedido(decimal JA_FATURAR, List <decimal> CICLISTAS) { string str_conn = ConfigurationManager.ConnectionStrings["Doran_Servicos_ORM.Properties.Settings.Doran_ERP_ServicosConnectionString"].ConnectionString; decimal NUMERO_SERVICO = 0; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { try { ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(IsolationLevel.ReadUncommitted); NUMERO_PEDIDO = Busca_Numero_Pedido_Venda(str_conn); var _query = from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO && linha.NAO_GERAR_PEDIDO == 0 && linha.NUMERO_PEDIDO_VENDA == 0 select linha; if (!_query.Any()) { throw new Exception("Selecione um orçamento para gerar o serviço"); } if (_query.Count(m => m.PRECO_PRODUTO <= (decimal)0.0000) > 0) { throw new Exception("Há itens com preço de venda zerado. Acerte os preços de venda e gere o serviço novamente"); } if (_query.First().TB_ORCAMENTO_VENDA.TB_CLIENTE == null) { throw new Exception("O orçamento estásem cliente definido"); } if (!(from linha in ctx.TB_CLIENTEs where linha.ID_CLIENTE == _query.First().TB_ORCAMENTO_VENDA.CODIGO_CLIENTE_ORCAMENTO select linha).Any()) { throw new Exception("O cliente definido neste orçamento não foi encontrado no cadastro de clientes"); } // Condição de Pagamento if (GERENTE_COMERCIAL == 0) { var CONDICAO_PAGAMENTO = from linha in ctx.TB_COND_PAGTOs where linha.CODIGO_CP == _query.First().TB_ORCAMENTO_VENDA.CODIGO_COND_PAGTO select linha; int MEDIA_DIAS = 0; int NUMERO_PARCELAS = 0; foreach (var item in CONDICAO_PAGAMENTO) { NUMERO_PARCELAS = (int)item.QTDE_PARCELAS_CP; MEDIA_DIAS = ((int)item.DIAS_PARCELA1_CP + (int)item.DIAS_PARCELA2_CP + (int)item.DIAS_PARCELA3_CP + (int)item.DIAS_PARCELA4_CP + (int)item.DIAS_PARCELA5_CP + (int)item.DIAS_PARCELA6_CP + (int)item.DIAS_PARCELA7_CP + (int)item.DIAS_PARCELA8_CP + (int)item.DIAS_PARCELA9_CP + (int)item.DIAS_PARCELA10_CP) / (int)item.QTDE_PARCELAS_CP; } if (_query.Sum(m => m.VALOR_TOTAL) < 300) { throw new Exception("Faturamento mínimo não foi atingido.<br />Peça para o seu gerente liberar o pedido"); } if (_query.Sum(m => m.VALOR_TOTAL) >= 300 && _query.Sum(m => m.VALOR_TOTAL) < 2000 && MEDIA_DIAS > 45) { throw new Exception("Faturamento mínimo não foi atingido nesta cond. de pagamento.<br />Peça para o seu gerente liberar o pedido"); } } int i = 0; foreach (var item in _query) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_PEDIDO_VENDA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_PEDIDO_VENDA>(); Doran_Servicos_ORM.TB_PEDIDO_VENDA novo = new Doran_Servicos_ORM.TB_PEDIDO_VENDA(); NUMERO_SERVICO = NUMERO_PEDIDO; novo.NUMERO_PEDIDO = NUMERO_PEDIDO; novo.NUMERO_ORCAMENTO = NUMERO_ORCAMENTO; novo.NUMERO_ITEM_ORCAMENTO = item.NUMERO_ITEM; novo.ID_PRODUTO_PEDIDO = item.ID_PRODUTO; novo.DATA_PEDIDO = DateTime.Now; novo.ENTREGA_PEDIDO = item.DATA_ENTREGA < DateTime.Today ? DateTime.Today : item.DATA_ENTREGA; novo.CODIGO_PRODUTO_PEDIDO = item.CODIGO_PRODUTO; novo.QTDE_PRODUTO_ITEM_PEDIDO = item.QTDE_PRODUTO; novo.QTDE_A_FATURAR = item.QTDE_PRODUTO; if (item.TIPO_DESCONTO == 0) { novo.PRECO_ITEM_PEDIDO = item.PRECO_PRODUTO * (1 - (item.VALOR_DESCONTO / 100)); } else { novo.PRECO_ITEM_PEDIDO = item.PRECO_PRODUTO - item.VALOR_DESCONTO; } novo.UNIDADE_ITEM_PEDIDO = item.UNIDADE_PRODUTO; novo.VALOR_TOTAL_ITEM_PEDIDO = item.VALOR_TOTAL; novo.ALIQ_ISS_ITEM_PEDIDO = item.ALIQ_ISS; novo.TIPO_DESCONTO_ITEM_PEDIDO = item.TIPO_DESCONTO; novo.VALOR_DESCONTO_ITEM_PEDIDO = 0; if (item.PROGRAMACAO_ITEM_ORCAMENTO == 1) { novo.STATUS_ITEM_PEDIDO = Busca_Status_Programacao(); // Pedido em Análise } else { novo.STATUS_ITEM_PEDIDO = JA_FATURAR == 1 ? Busca_Status_Liberado_Faturar() : Busca_Status_em_Analise(); } novo.ITEM_A_FATURAR = 0; // Nao novo.PROGRAMACAO_ITEM_PEDIDO = item.PROGRAMACAO_ITEM_ORCAMENTO; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx, novo, Entidade.ToString(), NUMERO_PEDIDO, ID_USUARIO); ctx.SubmitChanges(); /// item.NUMERO_PEDIDO_VENDA = NUMERO_PEDIDO; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_ITEM_ORCAMENTO_VENDAs.GetModifiedMembers(item), ctx.TB_ITEM_ORCAMENTO_VENDAs.ToString(), ID_USUARIO); GravaCustos(i, item.NUMERO_ITEM, ctx); ctx.SubmitChanges(); i++; } //////////// var query2 = (from linha in ctx.TB_PEDIDO_VENDAs where linha.NUMERO_PEDIDO == NUMERO_PEDIDO select new { linha.NUMERO_ITEM }).ToList().First(); var query1 = (from linha in ctx.TB_ORCAMENTO_VENDAs where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO select new { linha.OBS_NF_ORCAMENTO }).ToList(); System.Data.Linq.Table <Doran_Servicos_ORM.TB_DADOS_FATURAMENTO> Entidade1 = ctx.GetTable <Doran_Servicos_ORM.TB_DADOS_FATURAMENTO>(); Doran_Servicos_ORM.TB_DADOS_FATURAMENTO novo1 = new Doran_Servicos_ORM.TB_DADOS_FATURAMENTO(); novo1.NUMERO_PEDIDO = NUMERO_PEDIDO; novo1.NUMERO_ITEM_PEDIDO = query2.NUMERO_ITEM; novo1.NUMERACAO = ""; novo1.ESPECIE = ""; novo1.MARCA = NOME_FANTASIA_EMITENTE; novo1.QTDE_NF = 0; novo1.NUMERO_PEDIDO_CLIENTE = ""; novo1.OBS_NF = query1.First().OBS_NF_ORCAMENTO; Entidade1.InsertOnSubmit(novo1); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx, novo1, Entidade1.ToString(), NUMERO_PEDIDO, ID_USUARIO); ctx.SubmitChanges(); Doran_Analise_Pedido_Venda analise = new Doran_Analise_Pedido_Venda(NUMERO_PEDIDO, ID_EMPRESA, ctx); DataTable dt = analise.Aplica_Analise(ctx, ID_EMPRESA); foreach (DataRow item in dt.Rows) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_FOLLOW_UP_PEDIDO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_FOLLOW_UP_PEDIDO>(); Doran_Servicos_ORM.TB_FOLLOW_UP_PEDIDO novo = new TB_FOLLOW_UP_PEDIDO(); novo.NUMERO_PEDIDO = NUMERO_PEDIDO; novo.DATA_HORA_FOLLOW_UP = DateTime.Now; novo.ID_USUARIO_FOLLOW_UP = ID_USUARIO; novo.TEXTO_FOLLOW_UP = string.Concat("[", item["CRITERIO"].ToString(), "] - ", item["MOTIVO"].ToString()); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx, novo, Entidade.ToString(), NUMERO_PEDIDO, ID_USUARIO); } ctx.SubmitChanges(); var query3 = (from linha in ctx.TB_PEDIDO_VENDAs where linha.NUMERO_PEDIDO == NUMERO_PEDIDO select new { linha.NUMERO_PEDIDO, linha.NUMERO_ITEM }).ToList(); for (int N = 0; N < CICLISTAS.Count; N++) { foreach (var item1 in query3) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_SERVICO_CICLISTA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_SERVICO_CICLISTA>(); Doran_Servicos_ORM.TB_SERVICO_CICLISTA novo = new Doran_Servicos_ORM.TB_SERVICO_CICLISTA(); novo.NUMERO_PEDIDO_VENDA = item1.NUMERO_PEDIDO; novo.NUMERO_ITEM_VENDA = item1.NUMERO_ITEM; novo.ID_CICLISTA = CICLISTAS[N]; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, "TB_SERVICO_CICLISTA", ID_USUARIO); } ctx.SubmitChanges(); } ctx.Transaction.Commit(); } catch { ctx.Transaction.Rollback(); throw; } } return(Status_Orcamento()); }
public decimal Nova_Nota_Saida(Dictionary <string, object> dados) { dados = Busca_Dados_Redundantes(dados); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <TB_NOTA_SAIDA> Entidade = ctx.GetTable <TB_NOTA_SAIDA>(); TB_NOTA_SAIDA novo = new TB_NOTA_SAIDA(); novo.NUMERO_NF = 0; novo.SERIE_NF = dados["SERIE"].ToString(); novo.IE_SUBST_TRIB_NF = dados["IE_SUBST_TRIB_NF"].ToString(); novo.CODIGO_CLIENTE_NF = Convert.ToDecimal(dados["CODIGO_CLIENTE_NF"].ToString()); novo.NOME_CLIENTE_NF = dados["NOME_CLIENTE_NF"].ToString().Trim(); novo.NOME_FANTASIA_CLIENTE_NF = dados["NOME_FANTASIA_CLIENTE_NF"].ToString().Trim(); novo.CNPJ_CLIENTE_NF = dados["CNPJ_CLIENTE_NF"].ToString().Trim(); novo.IE_CLIENTE_NF = dados["IE_CLIENTE_NF"].ToString().Trim(); novo.ENDERECO_FATURA_NF = dados["ENDERECO_FATURA_NF"].ToString().Trim(); novo.NUMERO_END_FATURA_NF = dados["NUMERO_END_FATURA_NF"].ToString().Trim(); novo.COMP_END_FATURA_NF = dados["COMP_END_FATURA_NF"].ToString().Trim(); novo.CEP_FATURA_NF = dados["CEP_FATURA_NF"].ToString().Trim(); novo.BAIRRO_FATURA_NF = dados["BAIRRO_FATURA_NF"].ToString().Trim(); novo.ID_MUNICIPIO_NF = Convert.ToDecimal(dados["ID_MUNICIPIO_NF"]); novo.MUNICIPIO_NF = dados["MUNICIPIO_NF"].ToString().Trim(); novo.ID_UF_NF = Convert.ToDecimal(dados["ID_UF_NF"]); novo.UF_NF = dados["SIGLA_UF"].ToString(); novo.TELEFONE_CLIENTE_NF = dados["TELEFONE_CLIENTE_NF"].ToString().Trim(); novo.DATA_EMISSAO_NF = Convert.ToDateTime(dados["DATA_EMISSAO_NF"]); novo.CODIGO_CP_NF = Convert.ToDecimal(dados["CODIGO_CP_NF"]); novo.DESCRICAO_CP_NF = dados["DESCRICAO_CP_NF"].ToString().Trim(); novo.BASE_ISS_NF = 0; novo.TOTAL_SERVICOS_NF = 0; novo.VALOR_ISS_NF = 0; novo.TOTAL_NF = Convert.ToDecimal(dados["TOTAL_NF"]); novo.QTDE_NF = string.Empty; novo.ESPECIE_NF = string.Empty; novo.MARCA_NF = string.Empty; novo.NUMERO_QTDE_NF = string.Empty; novo.PESO_BRUTO_NF = 0; novo.PESO_LIQUIDO_NF = 0; novo.OBS_NF = dados["DADOS_ADICIONAIS_NF"].ToString().Trim(); novo.DADOS_ADICIONAIS_NF = ""; novo.CODIGO_VENDEDOR_NF = Convert.ToDecimal(dados["CODIGO_VENDEDOR_NF"]); novo.NOME_VENDEDOR_NF = dados["NOME_VENDEDOR_NF"].ToString().Trim(); novo.NUMERO_PEDIDO_NF = dados["NUMERO_PEDIDO_NF"].ToString().Trim(); novo.CHAVE_ACESSO_NF = dados["CHAVE_ACESSO_NF"].ToString().Trim(); novo.PROTOCOLO_AUTORIZACAO_NF = dados["PROTOCOLO_AUTORIZACAO_NF"].ToString().Trim(); novo.DATA_PROTOCOLO_NF = new DateTime(1901, 01, 01); novo.EMITIDA_NF = 0; novo.CANCELADA_NF = 0; novo.STATUS_NF = 1; novo.NUMERO_LOTE_NF = 0; novo.DANFE_NFE = ""; novo.EMAIL_ENVIADO_NF = 0; novo.CODIGO_EMITENTE_NF = ID_EMPRESA; novo.NF_ORIGEM = 0; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); ctx.SubmitChanges(); return(novo.NUMERO_SEQ); } }
public void GravaNovo(Dictionary <string, object> dados, List <string> DESTINATARIOS, decimal ID_USUARIO, string LOGIN_USUARIO) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { object[] items = (object[])dados["NUMERO_ITENS"]; string CLIENTE = ""; string CODIGO_PRODUTO = ""; for (int i = 0; i < items.Count(); i++) { var query1 = (from linha in ctx.TB_PEDIDO_VENDAs where linha.NUMERO_PEDIDO == Convert.ToDecimal(dados["NUMERO_PEDIDO"]) && linha.NUMERO_ITEM == Convert.ToDecimal(items.GetValue(i)) select new { linha.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE, linha.CODIGO_PRODUTO_PEDIDO }).ToList(); foreach (var item in query1) { CLIENTE = item.NOMEFANTASIA_CLIENTE.Trim(); CODIGO_PRODUTO += string.Concat("[", item.CODIGO_PRODUTO_PEDIDO.Trim(), "]"); } System.Data.Linq.Table <Doran_Servicos_ORM.TB_FOLLOW_UP_ITEM_PEDIDO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_FOLLOW_UP_ITEM_PEDIDO>(); Doran_Servicos_ORM.TB_FOLLOW_UP_ITEM_PEDIDO novo = new Doran_Servicos_ORM.TB_FOLLOW_UP_ITEM_PEDIDO(); novo.NUMERO_PEDIDO = Convert.ToDecimal(dados["NUMERO_PEDIDO"]); novo.NUMERO_ITEM = Convert.ToDecimal(items.GetValue(i)); novo.ID_USUARIO_FOLLOW_UP = ID_USUARIO; novo.DATA_HORA_FOLLOW_UP = DateTime.Now; novo.TEXTO_FOLLOW_UP = dados["TEXTO_FOLLOW_UP"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["NUMERO_PEDIDO"]), ID_USUARIO); } ctx.SubmitChanges(); if (DESTINATARIOS.Count > 0) { using (Doran_Email_Posicao_Pedido email = new Doran_Email_Posicao_Pedido(ID_USUARIO)) { string _OBS = string.Concat(LOGIN_USUARIO.ToUpper(), " salvou uma nova mensagem de Follow Up no item do pedido ", dados["NUMERO_PEDIDO"].ToString(), "<br /><br />", dados["TEXTO_FOLLOW_UP"].ToString(), "<br /><br />", dados["ASSINATURA"].ToString()); email.NUMERO_PEDIDO = Convert.ToDecimal(dados["NUMERO_PEDIDO"]); email.CLIENTE = CLIENTE; email.CODIGO_PRODUTO = CODIGO_PRODUTO; email.HISTORICO = _OBS; email.DESTINATARIOS = DESTINATARIOS; email.ID_CONTA_EMAIL = Convert.ToDecimal(dados["ID_CONTA_EMAIL"]); email.FROM_ADDRESS = dados["FROM_ADDRESS"].ToString(); email.Envia_Email_Posicao_Pedido(); } } } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, ID_USUARIO); throw ex; } }
public void GravaNovoAcesso(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { object[] MENU = (object[])dados["MENU"]; for (int i = 0; i < MENU.Length; i++) { var existe = (from linha in ctx.TB_ACESSO_COMERCIALs where (linha.ID_USUARIO == Convert.ToDecimal(dados["ID_USUARIO"]) && linha.MENU == MENU[i].ToString()) select linha).Any(); if (!existe) { System.Data.Linq.Table <TB_ACESSO_COMERCIAL> Entidade = ctx.GetTable <TB_ACESSO_COMERCIAL>(); TB_ACESSO_COMERCIAL novo = new TB_ACESSO_COMERCIAL(); novo.ID_USUARIO = Convert.ToDecimal(dados["ID_USUARIO"]); novo.MENU = MENU[i].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); } } ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO_ORIGINAL"])); throw ex; } }
public void GravaNovoContato(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CLIENTE_CONTATO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CLIENTE_CONTATO>(); Doran_Servicos_ORM.TB_CLIENTE_CONTATO novo = new Doran_Servicos_ORM.TB_CLIENTE_CONTATO(); novo.ID_CLIENTE = Convert.ToDecimal(dados["ID_CLIENTE"]); novo.NOME_CONTATO_CLIENTE = dados["NOME_CONTATO_CLIENTE"].ToString(); novo.TELEFONE_CONTATO_CLIENTE = dados["TELEFONE_CONTATO_CLIENTE"].ToString(); novo.FAX_CONTATO_CLIENTE = dados["FAX_CONTATO_CLIENTE"].ToString(); novo.EMAIL_CONTATO_CLIENTE = dados["EMAIL_CONTATO_CLIENTE"].ToString(); novo.OBS_CONTATO_CLIENTE = dados["OBS_CONTATO_CLIENTE"].ToString(); novo.RECEBE_COPIA_NOTA_ELETRONICA = Convert.ToDecimal(dados["RECEBE_COPIA_NOTA_ELETRONICA"]); novo.SENHA_PORTAL = dados["SENHA_PORTAL"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
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 void Une_Titulos_Selecionados(DateTime DATA_DE_VENCIMENTO) { var query = (from linha in ctx.TB_FINANCEIROs where linha.ID_USUARIO_MARCA_UNIAO == ID_USUARIO && linha.TITULO_MARCADO_UNIAO == 1 select linha).ToList(); if (!query.Any()) { throw new Exception("Não há títulos marcados para unir"); } if (query.Any(_ => _.CREDITO_DEBITO == 1)) { throw new Exception("Há título(s) de débito marcado(s). Marque somente títulos de crédito e do mesmo cliente"); } if (query.Any(_ => _.DATA_PAGAMENTO > new DateTime(1901, 01, 01))) { throw new Exception("Há título(s) pago(s) marcado(s). Marque somente títulos a vencer"); } if (query.GroupBy(_ => _.CODIGO_CLIENTE).Count() > 1) { throw new Exception("Marque somente títulos do mesmo cliente"); } if (query.Count == 1) { throw new Exception("Só há 1 título marcado. Marque pelo menos 2 títulos"); } try { ctx.Transaction = ctx.Connection.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted); List <TB_FINANCEIRO> query1 = new List <TB_FINANCEIRO>(); string CLIENTE = query.First().TB_NOTA_SAIDA == null? query.First().TB_CLIENTE == null ? "" : query.First().TB_CLIENTE.NOMEFANTASIA_CLIENTE.Trim() : query.First().TB_NOTA_SAIDA.TB_CLIENTE.NOMEFANTASIA_CLIENTE.Trim(); decimal?CODIGO_CLIENTE = query.First().CODIGO_CLIENTE; string CNPJ_CLIENTE = query.First().CNPJ_CLIENTE; string ID_PLANO = query.First().ID_PLANO; foreach (var item in query) { query1.Add(item); } foreach (var item in query) { ctx.TB_FINANCEIROs.DeleteOnSubmit(item); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Delete(ctx, item, ctx.TB_FINANCEIROs.ToString(), ID_USUARIO); } ctx.SubmitChanges(); string historico = string.Concat("CLIENTE: ", CLIENTE, " - COBRANÇA DE SERVIÇO(S) REFERENTE NFs ", string.Join(" - ", query1.Select(_ => _.NUMERO_NF_SAIDA.ToString()).ToArray()), " SOMANDO OS VALORES DE ", string.Join(" + ", query1.Select(_ => _.VALOR_TOTAL.Value.ToString("c")).ToArray())); System.Data.Linq.Table <Doran_Servicos_ORM.TB_FINANCEIRO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_FINANCEIRO>(); Doran_Servicos_ORM.TB_FINANCEIRO novo = new Doran_Servicos_ORM.TB_FINANCEIRO(); DateTime _vencimento = DATA_DE_VENCIMENTO; _vencimento = _vencimento.AddDays(1); _vencimento = _vencimento.AddSeconds(-1); novo.DATA_LANCAMENTO = DateTime.Now; novo.DATA_VENCIMENTO = _vencimento; novo.DATA_PAGAMENTO = new DateTime(1901, 01, 01); novo.VALOR = query1.Sum(_ => _.VALOR); novo.VALOR_DESCONTO = query1.Sum(_ => _.VALOR_DESCONTO); novo.VALOR_ACRESCIMO = query1.Sum(_ => _.VALOR_ACRESCIMO); novo.VALOR_TOTAL = query1.Sum(_ => _.VALOR_TOTAL); novo.HISTORICO = historico; novo.CREDITO_DEBITO = 0; novo.NUMERO_SEQ_NF_SAIDA = 0; novo.NUMERO_SEQ_NF_ENTRADA = 0; novo.NUMERO_NF_SAIDA = 0; novo.NUMERO_NF_ENTRADA = 0; novo.CODIGO_CLIENTE = CODIGO_CLIENTE; novo.CNPJ_CLIENTE = CNPJ_CLIENTE; novo.VALOR_MULTA = query1.Sum(_ => _.VALOR_MULTA); novo.PERC_JUROS_DIA = 0; novo.CODIGO_EMITENTE = ID_EMPRESA; novo.ID_PLANO = ID_PLANO; novo.VALOR_APROXIMADO = 0; novo.MARCA_REMESSA = 0; novo.REMESSA = 0; novo.RETORNO = 0; novo.NUMERO_BANCO = 0; novo.INSTRUCAO_REMESSA = 0; novo.NOSSO_NUMERO_BANCARIO = string.Empty; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); ctx.SubmitChanges(); ctx.Transaction.Commit(); } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, ID_USUARIO); ctx.Transaction.Rollback(); throw ex; } }
public void GravaNovaConta(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CONTA_CORRENTE> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CONTA_CORRENTE>(); Doran_Servicos_ORM.TB_CONTA_CORRENTE novo = new Doran_Servicos_ORM.TB_CONTA_CORRENTE(); novo.NUMERO_AGENCIA = dados["NUMERO_AGENCIA"].ToString(); novo.NUMERO_CONTA = dados["NUMERO_CONTA"].ToString(); novo.NUMERO_BANCO = Convert.ToDecimal(dados["NUMERO_BANCO"]); novo.ULTIMA_REMESSA = Convert.ToDecimal(dados["ULTIMA_REMESSA"]); novo.CONTROLE_NOSSO_NUMERO = dados["CONTROLE_NOSSO_NUMERO"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void Grava_Dados_Faturamento(Dictionary <string, object> dados) { try { decimal NUMERO_PEDIDO_VENDA = 0; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from item in ctx.TB_DADOS_FATURAMENTOs where item.NUMERO_PEDIDO == Convert.ToDecimal(dados["NUMERO_PEDIDO"]) select item).ToList(); if (!query.Any()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_DADOS_FATURAMENTO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_DADOS_FATURAMENTO>(); Doran_Servicos_ORM.TB_DADOS_FATURAMENTO novo = new Doran_Servicos_ORM.TB_DADOS_FATURAMENTO(); novo.NUMERO_PEDIDO = Convert.ToDecimal(dados["NUMERO_PEDIDO"]); novo.NUMERACAO = dados["NUMERACAO"].ToString(); novo.ESPECIE = dados["ESPECIE"].ToString(); novo.MARCA = dados["MARCA"].ToString(); novo.QTDE_NF = Convert.ToDecimal(dados["QTDE_NF"]); novo.NUMERO_PEDIDO_CLIENTE = dados["NUMERO_PEDIDO_CLIENTE"].ToString(); novo.OBS_NF = dados["OBS_NF"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); } else { foreach (var item in query) { item.NUMERACAO = dados["NUMERACAO"].ToString(); item.ESPECIE = dados["ESPECIE"].ToString(); item.MARCA = dados["MARCA"].ToString(); item.QTDE_NF = Convert.ToDecimal(dados["QTDE_NF"]); item.NUMERO_PEDIDO_CLIENTE = dados["NUMERO_PEDIDO_CLIENTE"].ToString(); item.OBS_NF = dados["OBS_NF"].ToString(); if (Convert.ToDecimal(dados["CODIGO_COND_PAGTO"]) != item.TB_PEDIDO_VENDA.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.CODIGO_COND_PAGTO) { Atualiza_Condicao_Pagamento(Convert.ToDecimal(dados["CODIGO_COND_PAGTO"]), item.TB_PEDIDO_VENDA.NUMERO_ORCAMENTO, ctx, Convert.ToDecimal(dados["ID_USUARIO"])); NUMERO_PEDIDO_VENDA = item.NUMERO_PEDIDO.Value; } Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_DADOS_FATURAMENTOs.GetModifiedMembers(item), ctx.TB_DADOS_FATURAMENTOs.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); } } ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovaUF(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_UF> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_UF>(); Doran_Servicos_ORM.TB_UF novo = new Doran_Servicos_ORM.TB_UF(); novo.ID_UF = Convert.ToDecimal(dados["ID_UF"]); novo.DESCRICAO_UF = dados["DESCRICAO_UF"].ToString(); novo.ALIQ_INTERNA_ICMS = Convert.ToDecimal(dados["ALIQ_INTERNA_ICMS"]); novo.ALIQ_ICMS_UF = Convert.ToDecimal(dados["ALIQ_ICMS_UF"]); novo.SIGLA_UF = dados["SIGLA_UF"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovoProduto(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_PRODUTO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_PRODUTO>(); Doran_Servicos_ORM.TB_PRODUTO novo = new Doran_Servicos_ORM.TB_PRODUTO(); novo.CODIGO_PRODUTO = dados["CODIGO_PRODUTO"].ToString(); novo.DESCRICAO_PRODUTO = dados["DESCRICAO_PRODUTO"].ToString(); novo.UNIDADE_MEDIDA_VENDA = dados["UNIDADE_MEDIDA_VENDA"].ToString(); novo.PRECO_PRODUTO = Convert.ToDecimal(dados["PRECO_PRODUTO"]); novo.ALIQ_ISS = Convert.ToDecimal(dados["ALIQ_ISS_SERVICO"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovoConfig(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <TB_CONFIG_VENDA> Entidade = ctx.GetTable <TB_CONFIG_VENDA>(); TB_CONFIG_VENDA novo = new TB_CONFIG_VENDA(); novo.ID_CONFIGURACAO_VENDAS = 1; novo.ANALISAR_PRIMEIRA_COMPRA = Convert.ToDecimal(dados["ANALISAR_PRIMEIRA_COMPRA"]); novo.ANALISAR_INATIVIDADE = Convert.ToDecimal(dados["ANALISAR_INATIVIDADE"]); novo.ANALISAR_COND_PAGTO = Convert.ToDecimal(dados["ANALISAR_COND_PAGTO"]); novo.ANALISAR_MARGEM_VENDA = Convert.ToDecimal(dados["ANALISAR_MARGEM_VENDA"]); novo.ANALISAR_LIMITE_CREDITO = Convert.ToDecimal(dados["ANALISAR_LIMITE_CREDITO"]); novo.ANALISAR_INADIMPLENCIA = Convert.ToDecimal(dados["ANALISAR_INADIMPLENCIA"]); novo.DIAS_INATIVIDADE = Convert.ToDecimal(dados["DIAS_INATIVIDADE"]); novo.LOGOTIPO_ORCAMENTO_VENDAS = dados["LOGOTIPO_ORCAMENTO_VENDAS"].ToString(); novo.ANALISAR_FATURAMENTO_MINIMO = Convert.ToDecimal(dados["ANALISAR_FATURAMENTO_MINIMO"]); novo.VALOR_FATURAMENTO_MINIMO = Convert.ToDecimal(dados["VALOR_FATURAMENTO_MINIMO"]); novo.ANALISAR_IMPOSTO = Convert.ToDecimal(dados["ANALISAR_IMPOSTO"]); novo.PRAZO_DIAS_ORCAMENTO = Convert.ToDecimal(dados["PRAZO_DIAS_ORCAMENTO"]); novo.NAO_GERAR_PEDIDO_HAVENDO_RESTRICAO = Convert.ToDecimal(dados["NAO_GERAR_PEDIDO_HAVENDO_RESTRICAO"]); novo.TRABALHAR_COM_MARGEM_GROS = Convert.ToDecimal(dados["TRABALHAR_COM_MARGEM_GROS"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovoCusto(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CUSTO_VENDA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CUSTO_VENDA>(); Doran_Servicos_ORM.TB_CUSTO_VENDA novo = new Doran_Servicos_ORM.TB_CUSTO_VENDA(); novo.DESCRICAO_CUSTO_VENDA = dados["DESCRICAO_CUSTO_VENDA"].ToString(); novo.CUSTO_PERMANENTE = Convert.ToDecimal(dados["CUSTO_PERMANENTE"]); novo.PERCENTUAL_CUSTO_PERMANENTE = Convert.ToDecimal(dados["PERCENTUAL_CUSTO_PERMANENTE"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovaCondPagto(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <TB_COND_PAGTO> Entidade = ctx.GetTable <TB_COND_PAGTO>(); TB_COND_PAGTO novo = new TB_COND_PAGTO(); novo.DESCRICAO_CP = dados["DESCRICAO_CP"].ToString(); novo.QTDE_PARCELAS_CP = Convert.ToDecimal(dados["QTDE_PARCELAS_CP"]); novo.DIAS_PARCELA1_CP = Convert.ToDecimal(dados["DIAS_PARCELA1_CP"]); novo.DIAS_PARCELA2_CP = Convert.ToDecimal(dados["DIAS_PARCELA2_CP"]); novo.DIAS_PARCELA3_CP = Convert.ToDecimal(dados["DIAS_PARCELA3_CP"]); novo.DIAS_PARCELA4_CP = Convert.ToDecimal(dados["DIAS_PARCELA4_CP"]); novo.DIAS_PARCELA5_CP = Convert.ToDecimal(dados["DIAS_PARCELA5_CP"]); novo.DIAS_PARCELA6_CP = Convert.ToDecimal(dados["DIAS_PARCELA6_CP"]); novo.DIAS_PARCELA7_CP = Convert.ToDecimal(dados["DIAS_PARCELA7_CP"]); novo.DIAS_PARCELA8_CP = Convert.ToDecimal(dados["DIAS_PARCELA8_CP"]); novo.DIAS_PARCELA9_CP = Convert.ToDecimal(dados["DIAS_PARCELA9_CP"]); novo.DIAS_PARCELA10_CP = Convert.ToDecimal(dados["DIAS_PARCELA10_CP"]); novo.CONDICAO_CLIENTE_NOVO = Convert.ToDecimal(dados["CONDICAO_CLIENTE_NOVO"]); novo.CUSTO_FINANCEIRO = Convert.ToDecimal(dados["CUSTO_FINANCEIRO"]); novo.CONDICAO_ATIVA = Convert.ToDecimal(dados["CONDICAO_ATIVA"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovoTipoCobranca(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_TIPO_COBRANCA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_TIPO_COBRANCA>(); Doran_Servicos_ORM.TB_TIPO_COBRANCA novo = new Doran_Servicos_ORM.TB_TIPO_COBRANCA(); novo.COD_TIPO_COBRANCA = Convert.ToDecimal(dados["COD_TIPO_COBRANCA"]); novo.NUMERO_BANCO = Convert.ToDecimal(dados["NUMERO_BANCO"]); novo.DESCRICAO_TIPO_COBRANCA = dados["DESCRICAO_TIPO_COBRANCA"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovaRegiao(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_REGIAO_VENDA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_REGIAO_VENDA>(); Doran_Servicos_ORM.TB_REGIAO_VENDA novo = new Doran_Servicos_ORM.TB_REGIAO_VENDA(); novo.CODIGO_REGIAO = dados["CODIGO_REGIAO"].ToString(); novo.NOME_REGIAO = dados["NOME_REGIAO"].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void GravaNovoVendedor(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <TB_VENDEDORE> Entidade = ctx.GetTable <TB_VENDEDORE>(); TB_VENDEDORE novo = new TB_VENDEDORE(); novo.NOME_VENDEDOR = dados["NOME_VENDEDOR"].ToString(); novo.CELULAR_VENDEDOR = dados["CELULAR_VENDEDOR"].ToString(); novo.EMAIL_VENDEDOR = dados["EMAIL_VENDEDOR"].ToString(); novo.SKYPE_VENDEDOR = dados["SKYPE_VENDEDOR"].ToString(); novo.PERC_COMISSAO_VENDEDOR = Convert.ToDecimal(dados["PERC_COMISSAO_VENDEDOR"]); novo.CODIGO_EMITENTE = Convert.ToDecimal(dados["CODIGO_EMITENTE"]); novo.OBS_VENDEDOR = dados["OBS_VENDEDOR"].ToString(); novo.SUPERVISOR_LIDER = Convert.ToDecimal(dados["SUPERVISOR_LIDER"]); novo.VENDEDOR_ATIVO = Convert.ToDecimal(dados["VENDEDOR_ATIVO"]); 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"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void CadastraDireitosParaUmUsuario(decimal ID_USUARIO, decimal ID_USUARIO_ORIGINAL) { try { TB_USUARIO _usuario = new TB_USUARIO(); ArrayList arr1 = arrayMenu; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { for (int i = 0; i < arr1.Count; i++) { var query = from linha in ctx.TB_ACESSO_COMERCIALs where linha.ID_USUARIO == ID_USUARIO && linha.MENU == arr1[i].ToString() select linha; if (query.Count() == 0) { System.Data.Linq.Table <TB_ACESSO_COMERCIAL> Entidade = ctx.GetTable <TB_ACESSO_COMERCIAL>(); TB_ACESSO_COMERCIAL novo = new TB_ACESSO_COMERCIAL(); novo.ID_USUARIO = ID_USUARIO; novo.MENU = arr1[i].ToString(); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO_ORIGINAL); } } ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, ID_USUARIO_ORIGINAL); throw ex; } }
private void GravaCustos(decimal SEQUENCIA_ITEM, decimal NUMERO_ITEM_ORCAMENTO, DateTime entrega, decimal ID_USUARIO) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var item = (from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs orderby linha.NUMERO_ORCAMENTO, linha.NUMERO_ITEM where linha.NUMERO_ORCAMENTO == NOVO_NUMERO_ORCAMENTO select linha).ToList().Skip((int)SEQUENCIA_ITEM).First(); var query = (from linha in ctx.TB_CUSTO_ITEM_ORCAMENTO_VENDAs orderby linha.NUMERO_ORCAMENTO, linha.NUMERO_ITEM_ORCAMENTO where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO && linha.NUMERO_ITEM_ORCAMENTO == NUMERO_ITEM_ORCAMENTO select linha).ToList(); foreach (var item1 in query) { System.Data.Linq.Table <TB_CUSTO_ITEM_ORCAMENTO_VENDA> Entidade = ctx.GetTable <TB_CUSTO_ITEM_ORCAMENTO_VENDA>(); TB_CUSTO_ITEM_ORCAMENTO_VENDA novo = new TB_CUSTO_ITEM_ORCAMENTO_VENDA(); novo.NUMERO_ORCAMENTO = NOVO_NUMERO_ORCAMENTO; novo.NUMERO_ITEM_ORCAMENTO = item.NUMERO_ITEM; novo.NUMERO_CUSTO_VENDA = item1.NUMERO_CUSTO_VENDA; novo.CUSTO_ITEM_ORCAMENTO = item1.CUSTO_ITEM_ORCAMENTO; novo.PREVISAO_ENTREGA = entrega; novo.OBS_CUSTO_VENDA = item1.OBS_CUSTO_VENDA; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); } ctx.SubmitChanges(); } }
public List <object> Salva_Custos(List <Dictionary <string, object> > LINHAS) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { decimal NUMERO_ORCAMENTO = 0; decimal NUMERO_ITEM_ORCAMENTO = 0; foreach (Dictionary <string, object> CUSTO in LINHAS) { NUMERO_ORCAMENTO = Convert.ToDecimal(CUSTO["NUMERO_ORCAMENTO"]); NUMERO_ITEM_ORCAMENTO = Convert.ToDecimal(CUSTO["NUMERO_ITEM_ORCAMENTO"]); var query = (from linha in ctx.TB_CUSTO_ITEM_ORCAMENTO_VENDAs where linha.NUMERO_ORCAMENTO == Convert.ToDecimal(CUSTO["NUMERO_ORCAMENTO"]) && linha.NUMERO_ITEM_ORCAMENTO == Convert.ToDecimal(CUSTO["NUMERO_ITEM_ORCAMENTO"]) && linha.NUMERO_CUSTO_VENDA == Convert.ToDecimal(CUSTO["NUMERO_CUSTO_VENDA"]) select linha).ToList(); if (query.Count() > 0) { foreach (var item in query) { string VALOR_CUSTO = CUSTO["CUSTO_ITEM_ORCAMENTO"].ToString().Replace(".", ","); item.CUSTO_ITEM_ORCAMENTO = Convert.ToDecimal(VALOR_CUSTO); item.PREVISAO_ENTREGA = Convert.ToDateTime(CUSTO["PREVISAO_ENTREGA"]); item.OBS_CUSTO_VENDA = string.IsNullOrEmpty(CUSTO["OBS_CUSTO_VENDA"].ToString()) ? "" : CUSTO["OBS_CUSTO_VENDA"].ToString(); if (string.IsNullOrEmpty(CUSTO["CODIGO_FORNECEDOR"].ToString())) { CUSTO["CODIGO_FORNECEDOR"] = null; } item.CODIGO_FORNECEDOR = Convert.ToDecimal(CUSTO["CODIGO_FORNECEDOR"]); item.CODIGO_FORNECEDOR = item.CODIGO_FORNECEDOR.HasValue ? item.CODIGO_FORNECEDOR : null; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_CUSTO_ITEM_ORCAMENTO_VENDAs.GetModifiedMembers(item), ctx.TB_CUSTO_ITEM_ORCAMENTO_VENDAs.ToString(), Convert.ToDecimal(CUSTO["ID_USUARIO"])); } } else { System.Data.Linq.Table <TB_CUSTO_ITEM_ORCAMENTO_VENDA> Entidade = ctx.GetTable <TB_CUSTO_ITEM_ORCAMENTO_VENDA>(); TB_CUSTO_ITEM_ORCAMENTO_VENDA novo = new TB_CUSTO_ITEM_ORCAMENTO_VENDA(); string VALOR_CUSTO = CUSTO["CUSTO_ITEM_ORCAMENTO"].ToString().Replace(".", ","); novo.NUMERO_ORCAMENTO = Convert.ToDecimal(CUSTO["NUMERO_ORCAMENTO"]); novo.NUMERO_ITEM_ORCAMENTO = Convert.ToDecimal(CUSTO["NUMERO_ITEM_ORCAMENTO"]); novo.NUMERO_CUSTO_VENDA = Convert.ToDecimal(CUSTO["NUMERO_CUSTO_VENDA"]); novo.CUSTO_ITEM_ORCAMENTO = Convert.ToDecimal(VALOR_CUSTO); novo.PREVISAO_ENTREGA = Convert.ToDateTime(CUSTO["PREVISAO_ENTREGA"]); novo.OBS_CUSTO_VENDA = string.IsNullOrEmpty(CUSTO["OBS_CUSTO_VENDA"].ToString()) ? "" : CUSTO["OBS_CUSTO_VENDA"].ToString(); if (string.IsNullOrEmpty(CUSTO["CODIGO_FORNECEDOR"].ToString())) { CUSTO["CODIGO_FORNECEDOR"] = null; } novo.CODIGO_FORNECEDOR = Convert.ToDecimal(CUSTO["CODIGO_FORNECEDOR"]); novo.CODIGO_FORNECEDOR = novo.CODIGO_FORNECEDOR.HasValue ? novo.CODIGO_FORNECEDOR : null; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(CUSTO["ID_USUARIO"])); } } ctx.SubmitChanges(); List <object> retorno = new List <object>(); using (Doran_Comercial_Orcamentos item = new Doran_Comercial_Orcamentos(NUMERO_ORCAMENTO, Convert.ToDecimal(LINHAS[0]["ID_USUARIO"]))) { retorno = item.Recalcula_Custos(NUMERO_ITEM_ORCAMENTO); } return(retorno); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(LINHAS[0]["ID_USUARIO"])); throw ex; } }
public Dictionary <string, object> Copia_Orcamento(decimal ID_USUARIO, double DIAS_PRAZO_ORCAMENTO) { Dictionary <string, object> retorno = new Dictionary <string, object>(); DateTime entrega = DateTime.Today; while (Doran_TitulosVencidos.Feriado_FimDeSemana(entrega)) { entrega = entrega.AddDays(1); } using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx.TB_ORCAMENTO_VENDAs where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO select linha).ToList(); foreach (var item in query) { System.Data.Linq.Table <TB_ORCAMENTO_VENDA> Entidade = ctx.GetTable <TB_ORCAMENTO_VENDA>(); TB_ORCAMENTO_VENDA novo = new TB_ORCAMENTO_VENDA(); using (Doran_Comercial_Orcamentos oc = new Doran_Comercial_Orcamentos(NUMERO_ORCAMENTO, ID_USUARIO)) { CHAVE_ORCAMENTO = oc.CRIA_CHAVE_ORCAMENTO(); } if (CHAVE_ORCAMENTO.Length > 100) { CHAVE_ORCAMENTO = CHAVE_ORCAMENTO.Substring(0, 100); } novo.DATA_ORCAMENTO = DateTime.Now; novo.CODIGO_COND_PAGTO = item.CODIGO_COND_PAGTO; novo.CODIGO_CLIENTE_ORCAMENTO = item.CODIGO_CLIENTE_ORCAMENTO; novo.CODIGO_VENDEDOR = item.CODIGO_VENDEDOR; novo.CONTATO_ORCAMENTO = item.CONTATO_ORCAMENTO; novo.EMAIL_CONTATO = item.EMAIL_CONTATO; novo.NUMERO_REVISAO = 1; novo.TELEFONE_CONTATO = item.TELEFONE_CONTATO; novo.TEXTO_PROPOSTA = item.TEXTO_PROPOSTA; novo.CHAVE_ORCAMENTO = CHAVE_ORCAMENTO; novo.ID_UF_ORCAMENTO = item.ID_UF_ORCAMENTO; novo.OBS_ORCAMENTO = item.OBS_ORCAMENTO; novo.VALIDADE_ORCAMENTO = DateTime.Today.AddDays(DIAS_PRAZO_ORCAMENTO); novo.NUMERO_REVISAO = 0; novo.OBS_NF_ORCAMENTO = item.OBS_NF_ORCAMENTO; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); retorno.Add("DATA_ORCAMENTO", ApoioXML.TrataData2(DateTime.Today)); retorno.Add("NOMEFANTASIA_CLIENTE", item.TB_CLIENTE.NOMEFANTASIA_CLIENTE.Trim()); retorno.Add("CONTATO_ORCAMENTO", item.CONTATO_ORCAMENTO.Trim()); retorno.Add("TELEFONE_CONTATO", item.TELEFONE_CONTATO.Trim()); retorno.Add("EMAIL_CONTATO", item.EMAIL_CONTATO.Trim()); retorno.Add("VALIDADE_ORCAMENTO", ApoioXML.TrataData2(DateTime.Today.AddDays(DIAS_PRAZO_ORCAMENTO))); retorno.Add("CODIGO_CLIENTE_ORCAMENTO", item.CODIGO_CLIENTE_ORCAMENTO); retorno.Add("STATUS", "<span style='background-color: #FF3300; color: #FFFFFF;'>Pendente</span>"); retorno.Add("ID_STATUS", "3"); retorno.Add("OBS_NF_ORCAMENTO", item.OBS_NF_ORCAMENTO); retorno.Add("NOME_VENDEDOR", item.TB_VENDEDORE.NOME_VENDEDOR.Trim()); ctx.SubmitChanges(); } } using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var _NUMERO_ORCAMENTO = (from linha in ctx.TB_ORCAMENTO_VENDAs orderby linha.CHAVE_ORCAMENTO where linha.CHAVE_ORCAMENTO == CHAVE_ORCAMENTO select linha.NUMERO_ORCAMENTO).First(); NOVO_NUMERO_ORCAMENTO = _NUMERO_ORCAMENTO; retorno.Add("NUMERO_ORCAMENTO", NOVO_NUMERO_ORCAMENTO); var query = (from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs orderby linha.NUMERO_ORCAMENTO, linha.NUMERO_ITEM where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO select linha).ToList(); int i = 0; foreach (var item in query) { using (Doran_ERP_Servicos_DadosDataContext ctx1 = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <TB_ITEM_ORCAMENTO_VENDA> Entidade = ctx1.GetTable <TB_ITEM_ORCAMENTO_VENDA>(); TB_ITEM_ORCAMENTO_VENDA novo = new TB_ITEM_ORCAMENTO_VENDA(); novo.NUMERO_ORCAMENTO = NOVO_NUMERO_ORCAMENTO; novo.ID_PRODUTO = item.ID_PRODUTO; novo.CODIGO_PRODUTO = item.CODIGO_PRODUTO; novo.QTDE_PRODUTO = item.QTDE_PRODUTO; novo.PRECO_PRODUTO = item.PRECO_PRODUTO; novo.UNIDADE_PRODUTO = item.UNIDADE_PRODUTO; novo.VALOR_TOTAL = item.VALOR_TOTAL; novo.TIPO_DESCONTO = item.TIPO_DESCONTO; novo.VALOR_DESCONTO = item.VALOR_DESCONTO; novo.ALIQ_ISS = item.ALIQ_ISS; novo.DATA_ENTREGA = entrega; novo.OBS_ITEM_ORCAMENTO = item.OBS_ITEM_ORCAMENTO; novo.NUMERO_PEDIDO_VENDA = 0; novo.NAO_GERAR_PEDIDO = 0; novo.PROGRAMACAO_ITEM_ORCAMENTO = 0; novo.DESCRICAO_PRODUTO_ITEM_ORCAMENTO = item.DESCRICAO_PRODUTO_ITEM_ORCAMENTO.Trim(); novo.ITEM_APROVADO = item.ITEM_APROVADO; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx1, novo, Entidade.ToString(), ID_USUARIO); ctx1.SubmitChanges(); GravaCustos(i, item.NUMERO_ITEM, entrega, ID_USUARIO); i++; } } } retorno.Add("TOTAL_ORCAMENTO", Doran_Comercial_Orcamentos.Calcula_Total_Orcamento(NOVO_NUMERO_ORCAMENTO)); return(retorno); }
private void GravaCustos(int i, decimal NUMERO_ITEM_ORCAMENTO, DataContext ctx) { var item = (from linha in ctx.GetTable <TB_PEDIDO_VENDA>() orderby linha.NUMERO_PEDIDO, linha.NUMERO_ITEM where linha.NUMERO_PEDIDO == NUMERO_PEDIDO select linha).ToList().Skip(i).First(); var query = (from linha in ctx.GetTable <TB_CUSTO_ITEM_ORCAMENTO_VENDA>() orderby linha.NUMERO_ORCAMENTO, linha.NUMERO_ITEM_ORCAMENTO where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO && linha.NUMERO_ITEM_ORCAMENTO == NUMERO_ITEM_ORCAMENTO select linha).ToList(); foreach (var item1 in query) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CUSTO_ITEM_PEDIDO_VENDA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CUSTO_ITEM_PEDIDO_VENDA>(); Doran_Servicos_ORM.TB_CUSTO_ITEM_PEDIDO_VENDA novo = new Doran_Servicos_ORM.TB_CUSTO_ITEM_PEDIDO_VENDA(); novo.NUMERO_PEDIDO = NUMERO_PEDIDO; novo.NUMERO_ITEM_PEDIDO = item.NUMERO_ITEM; novo.NUMERO_CUSTO_VENDA = item1.NUMERO_CUSTO_VENDA; novo.CUSTO_ITEM_PEDIDO = item1.CUSTO_ITEM_ORCAMENTO; novo.PREVISAO_ENTREGA = item1.PREVISAO_ENTREGA; novo.OBS_CUSTO_VENDA = string.IsNullOrEmpty(item1.OBS_CUSTO_VENDA) ? "" : item1.OBS_CUSTO_VENDA; novo.CODIGO_FORNECEDOR = item1.CODIGO_FORNECEDOR; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx, novo, Entidade.ToString(), NUMERO_PEDIDO, ID_USUARIO); } ctx.SubmitChanges(); }
private string AtualizaStatusPedido(decimal?NUMERO_PEDIDO, decimal?NUMERO_ITEM, decimal?QTDE_A_FATURAR, decimal?QTDE_PEDIDO) { string retorno = ""; using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { try { ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(IsolationLevel.ReadUncommitted); var totalQtde = (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.NUMERO_PEDIDO_VENDA == NUMERO_PEDIDO && linha.NUMERO_ITEM_PEDIDO_VENDA == NUMERO_ITEM && new List <decimal?>() { 1, 2 }.Contains(linha.TB_NOTA_SAIDA.STATUS_NF) select linha.QTDE_ITEM_NF).Sum(); decimal status = 0; decimal codigo_status = 0; if (totalQtde < QTDE_PEDIDO) { status = 2; } if (totalQtde >= QTDE_PEDIDO) { status = 3; } //////////////////////// var numerosInternos = (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.NUMERO_PEDIDO_VENDA == NUMERO_PEDIDO && linha.NUMERO_ITEM_PEDIDO_VENDA == NUMERO_ITEM && new List <decimal?>() { 1, 2 }.Contains(linha.TB_NOTA_SAIDA.STATUS_NF) select linha.NUMERO_ITEM_NF).ToList().Distinct(); string cNumerosInternos = ""; foreach (var item in numerosInternos) { cNumerosInternos += string.Concat(item.ToString(), "/"); } if (cNumerosInternos.Length > 0) { cNumerosInternos = cNumerosInternos.Substring(0, cNumerosInternos.Length - 1); } var numerosNF = (from linha in ctx.TB_ITEM_NOTA_SAIDAs where linha.NUMERO_PEDIDO_VENDA == NUMERO_PEDIDO && linha.NUMERO_ITEM_PEDIDO_VENDA == NUMERO_ITEM && new List <decimal?>() { 1, 2 }.Contains(linha.TB_NOTA_SAIDA.STATUS_NF) select linha.TB_NOTA_SAIDA.NUMERO_NF).ToList().Distinct(); string cNumerosNF = ""; foreach (var item in numerosNF) { cNumerosNF += string.Concat(item.ToString(), "/"); } if (cNumerosNF.Length > 0) { cNumerosNF = cNumerosNF.Substring(0, cNumerosNF.Length - 1); } var query = (from linha in ctx.TB_STATUS_PEDIDOs where linha.STATUS_ESPECIFICO == status select new { linha.DESCRICAO_STATUS_PEDIDO, linha.COR_STATUS, linha.COR_FONTE_STATUS, linha.CODIGO_STATUS_PEDIDO }).ToList(); string qtdeC_Faturada = totalQtde.HasValue ? totalQtde.ToString() : "0"; qtdeC_Faturada = qtdeC_Faturada.Replace(",", "."); string qtdeC_Faturar = "0"; if (totalQtde.HasValue) { qtdeC_Faturar = status == 2 ? (QTDE_PEDIDO - totalQtde).ToString() : "0"; } qtdeC_Faturar = qtdeC_Faturar.Replace(",", "."); foreach (var item in query) { retorno = string.Concat("[{NUMERO_PEDIDO: ", NUMERO_PEDIDO.ToString(), ", NUMERO_ITEM: ", NUMERO_ITEM.ToString(), ", COR_STATUS: '", item.COR_STATUS.Trim(), "', COR_FONTE_STATUS: '", item.COR_FONTE_STATUS.Trim(), "', DESCRICAO_STATUS_PEDIDO: '", item.DESCRICAO_STATUS_PEDIDO.Trim(), "', CODIGO_STATUS_PEDIDO: ", item.CODIGO_STATUS_PEDIDO, ", QTDE_A_FATURAR: ", qtdeC_Faturar, ", QTDE_FATURADA: ", qtdeC_Faturada, ", NUMEROS_INTERNOS: '", cNumerosInternos, "', NUMEROS_NF: '", cNumerosNF, "'}],"); codigo_status = item.CODIGO_STATUS_PEDIDO; } var pedido = (from linha in ctx.TB_PEDIDO_VENDAs where linha.NUMERO_PEDIDO == NUMERO_PEDIDO && linha.NUMERO_ITEM == NUMERO_ITEM select linha).ToList(); DateTime _hoje = DateTime.Now; foreach (var item in pedido) { 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 <Doran_Servicos_ORM.TB_MUDANCA_STATUS_PEDIDO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_MUDANCA_STATUS_PEDIDO>(); Doran_Servicos_ORM.TB_MUDANCA_STATUS_PEDIDO novo = new Doran_Servicos_ORM.TB_MUDANCA_STATUS_PEDIDO(); novo.NUMERO_PEDIDO_VENDA = item.NUMERO_PEDIDO; novo.NUMERO_ITEM_VENDA = item.NUMERO_ITEM; novo.DATA_MUDANCA = _hoje; novo.ID_USUARIO = ID_USUARIO; novo.ID_STATUS_ANTERIOR = item.STATUS_ITEM_PEDIDO; novo.ID_STATUS_NOVO = codigo_status; novo.DATA_STATUS_ANTERIOR = DATA_STATUS_ANTERIOR; novo.ID_PRODUTO = item.ID_PRODUTO_PEDIDO; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx, novo, Entidade.ToString(), item.NUMERO_PEDIDO, ID_USUARIO); ctx.SubmitChanges(); item.QTDE_A_FATURAR = status == 2 ? QTDE_PEDIDO - totalQtde : 0; item.ID_USUARIO_ITEM_A_FATURAR = 0; item.ITEM_A_FATURAR = 0; item.STATUS_ITEM_PEDIDO = codigo_status; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update_PEDIDO_VENDA(ctx, ctx.TB_PEDIDO_VENDAs.GetModifiedMembers(item), ctx.TB_PEDIDO_VENDAs.ToString(), (decimal)NUMERO_PEDIDO, ID_USUARIO); ctx.SubmitChanges(); } ctx.Transaction.Commit(); } catch { ctx.Transaction.Rollback(); throw; } return(retorno); } }
public List <object> Gera_Pedido_Antigo(decimal ID_EMPRESA) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { NUMERO_PEDIDO = Busca_Numero_Pedido_Venda(ctx.Connection.ConnectionString); var query = (from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO && linha.NAO_GERAR_PEDIDO == 0 && linha.NUMERO_PEDIDO_VENDA == 0 select linha).ToList(); var entrega_atrasada = query.Where(s => s.DATA_ENTREGA < DateTime.Today); if (entrega_atrasada.Count() > 0) { throw new Exception("Há itens com data de entrega atrasada. Acerte as datas de entrega e gere o pedido novamente"); } int itens_com_margem_abaixo = query.Count(m => m.ITEM_APROVADO == 1); if (itens_com_margem_abaixo > 0) { throw new Exception("Há itens com margem de venda abaixo do permitido. <br />Não é possível imprimir o oçamento"); } int i = 0; foreach (var item in query) { using (Doran_ERP_Servicos_DadosDataContext ctx1 = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_PEDIDO_VENDA> Entidade = ctx1.GetTable <Doran_Servicos_ORM.TB_PEDIDO_VENDA>(); Doran_Servicos_ORM.TB_PEDIDO_VENDA novo = new Doran_Servicos_ORM.TB_PEDIDO_VENDA(); novo.NUMERO_PEDIDO = NUMERO_PEDIDO; novo.NUMERO_ORCAMENTO = NUMERO_ORCAMENTO; novo.NUMERO_ITEM_ORCAMENTO = item.NUMERO_ITEM; novo.ID_PRODUTO_PEDIDO = item.ID_PRODUTO; novo.DATA_PEDIDO = DateTime.Today; novo.ENTREGA_PEDIDO = item.DATA_ENTREGA; novo.CODIGO_PRODUTO_PEDIDO = item.CODIGO_PRODUTO; novo.QTDE_PRODUTO_ITEM_PEDIDO = item.QTDE_PRODUTO; novo.QTDE_A_FATURAR = item.QTDE_PRODUTO; novo.PRECO_ITEM_PEDIDO = item.PRECO_PRODUTO; novo.UNIDADE_ITEM_PEDIDO = item.UNIDADE_PRODUTO; novo.VALOR_TOTAL_ITEM_PEDIDO = item.VALOR_TOTAL; novo.TIPO_DESCONTO_ITEM_PEDIDO = item.TIPO_DESCONTO; novo.VALOR_DESCONTO_ITEM_PEDIDO = item.VALOR_DESCONTO; novo.OBS_ITEM_PEDIDO = item.OBS_ITEM_ORCAMENTO; if (item.PROGRAMACAO_ITEM_ORCAMENTO == 1) { novo.STATUS_ITEM_PEDIDO = Busca_Status_Programacao(); // Pedido em Análise } else { novo.STATUS_ITEM_PEDIDO = 4; } novo.ITEM_A_FATURAR = 0; // Nao novo.PROGRAMACAO_ITEM_PEDIDO = item.PROGRAMACAO_ITEM_ORCAMENTO; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx1, novo, Entidade.ToString(), NUMERO_PEDIDO, ID_USUARIO); ctx1.SubmitChanges(); } item.NUMERO_PEDIDO_VENDA = NUMERO_PEDIDO; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_ITEM_ORCAMENTO_VENDAs.GetModifiedMembers(item), ctx.TB_ITEM_ORCAMENTO_VENDAs.ToString(), ID_USUARIO); //GravaCustos(i, item.NUMERO_ITEM); i++; } ctx.SubmitChanges(); } using (Doran_ERP_Servicos_DadosDataContext ctx3 = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx3.TB_PEDIDO_VENDAs where linha.NUMERO_PEDIDO == NUMERO_PEDIDO select new { linha.NUMERO_ITEM }).ToList().First(); string PLACA = ""; System.Data.Linq.Table <Doran_Servicos_ORM.TB_DADOS_FATURAMENTO> Entidade1 = ctx3.GetTable <Doran_Servicos_ORM.TB_DADOS_FATURAMENTO>(); Doran_Servicos_ORM.TB_DADOS_FATURAMENTO novo1 = new Doran_Servicos_ORM.TB_DADOS_FATURAMENTO(); novo1.NUMERO_PEDIDO = NUMERO_PEDIDO; novo1.NUMERO_ITEM_PEDIDO = query.NUMERO_ITEM; novo1.PLACA_VEICULO = PLACA; novo1.NUMERACAO = ""; novo1.ESPECIE = "CAIXAS"; novo1.MARCA = NOME_FANTASIA_EMITENTE; novo1.QTDE_NF = 0; novo1.NUMERO_PEDIDO_CLIENTE = ""; novo1.OBS_NF = ""; Entidade1.InsertOnSubmit(novo1); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx3, novo1, Entidade1.ToString(), NUMERO_PEDIDO, ID_USUARIO); ctx3.SubmitChanges(); } Doran_Analise_Pedido_Venda analise = new Doran_Analise_Pedido_Venda(NUMERO_PEDIDO, ID_EMPRESA); DataTable dt = analise.Aplica_Analise(ID_EMPRESA); analise.Dispose(); using (Doran_ERP_Servicos_DadosDataContext ctx2 = new Doran_ERP_Servicos_DadosDataContext()) { foreach (DataRow item in dt.Rows) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_FOLLOW_UP_PEDIDO> Entidade = ctx2.GetTable <Doran_Servicos_ORM.TB_FOLLOW_UP_PEDIDO>(); Doran_Servicos_ORM.TB_FOLLOW_UP_PEDIDO novo = new TB_FOLLOW_UP_PEDIDO(); novo.NUMERO_PEDIDO = NUMERO_PEDIDO; novo.DATA_HORA_FOLLOW_UP = DateTime.Now; novo.ID_USUARIO_FOLLOW_UP = ID_USUARIO; novo.TEXTO_FOLLOW_UP = string.Concat("[", item["CRITERIO"].ToString(), "] - ", item["MOTIVO"].ToString()); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert_PEDIDO_VENDA(ctx2, novo, Entidade.ToString(), NUMERO_PEDIDO, ID_USUARIO); } ctx2.SubmitChanges(); } return(Status_Orcamento()); }
public void GravaNovoStatus(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_STATUS_PEDIDO_COMPRA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_STATUS_PEDIDO_COMPRA>(); Doran_Servicos_ORM.TB_STATUS_PEDIDO_COMPRA novo = new Doran_Servicos_ORM.TB_STATUS_PEDIDO_COMPRA(); novo.DESCRICAO_STATUS_PEDIDO_COMPRA = dados["DESCRICAO_STATUS_PEDIDO_COMPRA"].ToString(); novo.COR_STATUS_PEDIDO_COMPRA = dados["COR_STATUS_PEDIDO_COMPRA"].ToString(); novo.COR_FONTE_STATUS_PEDIDO_COMPRA = dados["COR_FONTE_STATUS_PEDIDO_COMPRA"].ToString(); novo.NAO_CANCELAR_PEDIDO_COMPRA = Convert.ToDecimal(dados["NAO_CANCELAR_PEDIDO_COMPRA"]); novo.STATUS_ESPECIFICO_ITEM_COMPRA = Convert.ToDecimal(dados["STATUS_ESPECIFICO_ITEM_COMPRA"]); if (dados["SENHA_STATUS_ITEM_COMPRA"].ToString().Trim().Length > 0) { Th2_Seguranca.Principal sen = new Th2_Seguranca.Principal(Th2_Seguranca.classes.EncryptionAlgorithm.Des, ConfigurationManager.AppSettings["ID_Sistema"]); sen.CriptografaDados(dados["SENHA_STATUS_ITEM_COMPRA"].ToString().Trim()); novo.SENHA_STATUS_ITEM_COMPRA = sen.SenhaEncriptada_; } else { novo.SENHA_STATUS_ITEM_COMPRA = ""; } Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }
public void Adiciona_Percentual_Representante(decimal PERCENTUAL) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx.TB_ITEM_ORCAMENTO_VENDAs orderby linha.NUMERO_ORCAMENTO where linha.NUMERO_ORCAMENTO == NUMERO_ORCAMENTO select linha).ToList(); var TOTAL_PRODUTOS = query.Sum(d => d.VALOR_TOTAL); decimal TOTAL_REPRESENTANTE = TOTAL_PRODUTOS.HasValue ? Math.Round((decimal)TOTAL_PRODUTOS * (PERCENTUAL / 100), 2) : 0; foreach (var item in query) { decimal ADICIONAL_ITEM = Math.Round((decimal)item.VALOR_TOTAL * (PERCENTUAL / 100), 2); ADICIONAL_ITEM = ADICIONAL_ITEM / (decimal)item.QTDE_PRODUTO; var CUSTO_REPRESENTANTE = (from linha in ctx.TB_CUSTO_ITEM_ORCAMENTO_VENDAs orderby linha.NUMERO_ORCAMENTO, linha.NUMERO_ITEM_ORCAMENTO where (linha.NUMERO_ORCAMENTO == item.NUMERO_ORCAMENTO && linha.NUMERO_ITEM_ORCAMENTO == item.NUMERO_ITEM) && linha.NUMERO_CUSTO_VENDA == 26 select linha).ToList(); if (CUSTO_REPRESENTANTE.Any()) { foreach (var item1 in CUSTO_REPRESENTANTE) { item1.CUSTO_ITEM_ORCAMENTO = ADICIONAL_ITEM; item1.CODIGO_FORNECEDOR = 486; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_CUSTO_ITEM_ORCAMENTO_VENDAs.GetModifiedMembers(item1), ctx.TB_CUSTO_ITEM_ORCAMENTO_VENDAs.ToString(), ID_USUARIO); } } else { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA>(); Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA novo = new Doran_Servicos_ORM.TB_CUSTO_ITEM_ORCAMENTO_VENDA(); novo.NUMERO_ORCAMENTO = item.NUMERO_ORCAMENTO; novo.NUMERO_ITEM_ORCAMENTO = item.NUMERO_ITEM; novo.NUMERO_CUSTO_VENDA = 26; novo.CUSTO_ITEM_ORCAMENTO = ADICIONAL_ITEM; novo.PREVISAO_ENTREGA = item.DATA_ENTREGA; novo.OBS_CUSTO_VENDA = ""; novo.CODIGO_FORNECEDOR = 486; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); } } ctx.SubmitChanges(); } Recalcula_Custos(0); }
public void GravaNovoDocumento(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CLIENTE_DOCUMENTO> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CLIENTE_DOCUMENTO>(); Doran_Servicos_ORM.TB_CLIENTE_DOCUMENTO novo = new Doran_Servicos_ORM.TB_CLIENTE_DOCUMENTO(); string arquivo = ConfigurationManager.AppSettings["Pasta_Fisica_Documento_Cliente"].EndsWith("\\") ? ConfigurationManager.AppSettings["Pasta_Fisica_Documento_Cliente"] + dados["ARQUIVO"].ToString() : ConfigurationManager.AppSettings["Pasta_Fisica_Documento_Cliente"] + "\\" + dados["ARQUIVO"].ToString(); byte[] Conteudo_do_Anexo = Doran_Base.ApoioXML.ReadFile(arquivo); novo.ID_CLIENTE = Convert.ToDecimal(dados["ID_CLIENTE"]); novo.NOME_DOCUMENTO = dados["ARQUIVO"].ToString(); novo.CONTEUDO = Conteudo_do_Anexo; novo.DATA_DOCUMENTO = DateTime.Now; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); ctx.SubmitChanges(); try { File.Delete(arquivo); } catch { } } } catch (Exception ex) { Th2_Exception.GravaErro(ex, Convert.ToDecimal(dados["ID_USUARIO"])); throw ex; } }