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 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 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 static Dictionary <string, string> Creditos_do_Cliente(decimal CODIGO_CLIENTE, string DataInicial, string DataFinal, decimal ID_EMPRESA) { DateTime dt1 = Convert.ToDateTime(DataInicial); DateTime dt2 = Convert.ToDateTime(DataFinal); dt2 = dt2.AddDays(1); Dictionary <string, string> retorno = new Dictionary <string, string>(); using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var faturamento = (from linha in ctx.TB_NOTA_SAIDAs where linha.CODIGO_CLIENTE_NF == CODIGO_CLIENTE && (linha.DATA_EMISSAO_NF >= dt1 && linha.DATA_EMISSAO_NF < dt2) && (linha.STATUS_NF == 2 || linha.STATUS_NF == 4) select linha).Sum(fat => fat.TOTAL_NF); if (faturamento.HasValue) { retorno.Add("Faturamento", ((decimal)faturamento).ToString("c", CultureInfo.CurrentCulture)); } else { retorno.Add("Faturamento", 0.ToString("c", CultureInfo.CurrentCulture)); } DateTime amanha = DateTime.Today; amanha = amanha.AddDays(1); var aReceber = (from linha in ctx.TB_FINANCEIROs where linha.CODIGO_CLIENTE == CODIGO_CLIENTE && linha.DATA_VENCIMENTO >= amanha && linha.DATA_PAGAMENTO == new DateTime(1901, 01, 01) && linha.CREDITO_DEBITO == 0 select linha).Sum(ar => ar.VALOR_TOTAL); if (aReceber.HasValue) { retorno.Add("aReceber", ((decimal)aReceber).ToString("c", CultureInfo.CurrentCulture)); } else { retorno.Add("aReceber", 0.ToString("c", CultureInfo.CurrentCulture)); } var Recebido = (from linha in ctx.TB_FINANCEIROs where linha.CODIGO_CLIENTE == CODIGO_CLIENTE && (linha.DATA_PAGAMENTO >= dt1 && linha.DATA_PAGAMENTO < dt2) && linha.CREDITO_DEBITO == 0 select linha).Sum(pa => pa.VALOR_TOTAL); if (Recebido.HasValue) { retorno.Add("Recebido", ((decimal)Recebido).ToString("c", CultureInfo.CurrentCulture)); } else { retorno.Add("Recebido", 0.ToString("c", CultureInfo.CurrentCulture)); } decimal Inadimplente = Doran_TitulosVencidos.TotalVencidos(Vencidos.RECEBER, CODIGO_CLIENTE, ID_EMPRESA); if (Inadimplente > (decimal)0.00) { retorno.Add("Inadimplente", "<span style='color: red;'>" + Inadimplente.ToString("c", CultureInfo.CurrentCulture) + "</span>"); } else { retorno.Add("Inadimplente", "<span>" + Inadimplente.ToString("c", CultureInfo.CurrentCulture) + "</span>"); } var limiteCliente = (from linha in ctx.TB_CLIENTEs where linha.ID_CLIENTE == CODIGO_CLIENTE select new { linha.TB_LIMITE.VALOR_LIMITE }).ToList(); decimal _limiteCliente = 0; foreach (var item in limiteCliente) { _limiteCliente = (decimal)item.VALOR_LIMITE; } var EmAberto = (from linha in ctx.TB_FINANCEIROs where linha.CODIGO_CLIENTE == CODIGO_CLIENTE && linha.DATA_PAGAMENTO == new DateTime(1901, 01, 01) && linha.CREDITO_DEBITO == 0 select linha).Sum(ab => ab.VALOR_TOTAL); if (EmAberto > _limiteCliente) { EmAberto = EmAberto - _limiteCliente; } else { EmAberto = 0; } EmAberto += Doran_Limite_Credito_Cliente.Limite_Excedido_Cliente(CODIGO_CLIENTE); if (EmAberto > (decimal)0.00) { retorno.Add("Excedido", "<span style='color: red;'>" + ((decimal)EmAberto).ToString("c", CultureInfo.CurrentCulture) + "</span>"); } else { retorno.Add("Excedido", ((decimal)EmAberto).ToString("c", CultureInfo.CurrentCulture)); } var Abatimentos = (from linha in ctx.GetTable <TB_SALDO_CLIENTE_FORNECEDOR>() orderby linha.CODIGO_CLIENTE, linha.SALDO_RESTANTE where linha.CODIGO_CLIENTE == CODIGO_CLIENTE && linha.SALDO_RESTANTE > (decimal)0.00 select linha).Sum(a => a.SALDO_RESTANTE); if (Abatimentos.HasValue) { retorno.Add("Abatimentos", "<span style='color: navy;'>" + ((decimal)Abatimentos).ToString("c", CultureInfo.CurrentCulture) + "</span>"); } else { retorno.Add("Abatimentos", ((decimal)0.00).ToString("c", CultureInfo.CurrentCulture)); } // Data e Valor da Ultima Compra var ultimaCompra = (from linha in ctx.TB_NOTA_SAIDAs orderby linha.CODIGO_CLIENTE_NF, linha.DATA_EMISSAO_NF descending where linha.CODIGO_CLIENTE_NF == CODIGO_CLIENTE && linha.STATUS_NF == 4 select new { linha.DATA_EMISSAO_NF, linha.TOTAL_SERVICOS_NF }).Take(1).ToList(); if (ultimaCompra.Any()) { foreach (var item in ultimaCompra) { retorno.Add("data_ultima_compra", ApoioXML.TrataData2(item.DATA_EMISSAO_NF)); retorno.Add("valor_ultima_compra", ((decimal)item.TOTAL_SERVICOS_NF).ToString("c")); } } else { retorno.Add("data_ultima_compra", ""); retorno.Add("valor_ultima_compra", ((decimal)0.00).ToString("c")); } // Maior compra var maiorCompra = (from linha in ctx.TB_NOTA_SAIDAs orderby linha.CODIGO_CLIENTE_NF, linha.DATA_EMISSAO_NF where linha.CODIGO_CLIENTE_NF == CODIGO_CLIENTE && linha.STATUS_NF == 4 select linha).Max(m => m.TOTAL_SERVICOS_NF); retorno.Add("maior_compra", maiorCompra.HasValue ? ((decimal)maiorCompra).ToString("c") : ((decimal)0.00).ToString("c")); return(retorno); } }
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; } }
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(); } }
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 Dictionary <string, object> Calcula_e_Grava_Item_Nota_Entrada(Dictionary <string, object> dados) { string str_conn = ConfigurationManager.ConnectionStrings["Doran_Servicos_ORM.Properties.Settings.Doran_ERP_ServicosConnectionString"].ConnectionString; using (Doran_ERP_Servicos_DadosDataContext ctx1 = new Doran_ERP_Servicos_DadosDataContext()) { string CODIGO_CFOP = dados["CODIGO_CFOP_ITEM_NFE"].ToString(); string CLAS_FISCAL_NF = dados["CODIGO_CF_ITEM_NFE"].ToString(); decimal VALOR_TOTAL_ITEM_NFE = Convert.ToDecimal(dados["VALOR_TOTAL_ITEM_NFE"]); decimal VALOR_IPI_ITEM_NFE = Math.Round(VALOR_TOTAL_ITEM_NFE * (Convert.ToDecimal(dados["ALIQ_IPI_ITEM_NFE"]) / 100), 2); decimal ALIQ_ICMS_ITEM_NFE = Convert.ToDecimal(dados["ALIQ_ICMS_ITEM_NFE"]); decimal BASE_ICMS_ITEM_NFE = dados.ContainsKey("BASE_ICMS_ITEM_NFE") ? Convert.ToDecimal(dados["BASE_ICMS_ITEM_NFE"]) : Convert.ToDecimal(dados["VALOR_TOTAL_ITEM_NFE"]); decimal VALOR_ICMS_ITEM_NFE = Math.Round(BASE_ICMS_ITEM_NFE * (ALIQ_ICMS_ITEM_NFE / 100), 2); decimal BASE_ICMS_SUBS_ITEM_NFE = Convert.ToDecimal(dados["BASE_ICMS_SUBS_ITEM_NFE"]); decimal VALOR_ICMS_SUBS_ITEM_NFE = Convert.ToDecimal(dados["VALOR_ICMS_SUBS_ITEM_NFE"]); try { ctx1.Connection.ConnectionString = str_conn; ctx1.Connection.Open(); ctx1.Transaction = ctx1.Connection.BeginTransaction(IsolationLevel.ReadUncommitted); decimal ID_PRODUTO = 0; if (!dados.ContainsKey("ID_PRODUTO")) { var query = (from linha1 in ctx1.TB_PRODUTOs where linha1.CODIGO_PRODUTO == dados["CODIGO_PRODUTO_ITEM_NFE"].ToString() select new { linha1.ID_PRODUTO }).ToList(); foreach (var item in query) { ID_PRODUTO = item.ID_PRODUTO; } } else { if (!decimal.TryParse(dados["ID_PRODUTO"].ToString(), out ID_PRODUTO)) { throw new Exception("ID de produto inválido"); } ID_PRODUTO = Convert.ToDecimal(dados["ID_PRODUTO"]); } var existeProduto = (from linha1 in ctx1.TB_PRODUTOs where linha1.ID_PRODUTO == ID_PRODUTO select linha1).Any(); if (!existeProduto) { throw new Exception("Código de produto não cadastrado"); } System.Data.Linq.Table <TB_ITEM_NOTA_ENTRADA> Entidade = ctx1.GetTable <TB_ITEM_NOTA_ENTRADA>(); TB_ITEM_NOTA_ENTRADA novo = new TB_ITEM_NOTA_ENTRADA(); novo.NUMERO_SEQ_NFE = _NUMERO_SEQ; novo.ID_PRODUTO_ITEM_NFE = ID_PRODUTO; novo.CODIGO_PRODUTO_ITEM_NFE = dados["CODIGO_PRODUTO_ITEM_NFE"].ToString().Trim(); novo.DESCRICAO_PRODUTO_ITEM_NFE = dados["DESCRICAO_PRODUTO_ITEM_NFE"].ToString().Trim(); novo.CODIGO_CF_ITEM_NFE = dados["CODIGO_CF_ITEM_NFE"].ToString(); novo.CODIGO_ST_ITEM_NFE = dados["CODIGO_ST_ITEM_NFE"].ToString(); novo.CODIGO_CFOP_ITEM_NFE = dados["CODIGO_CFOP_ITEM_NFE"].ToString(); novo.QTDE_ITEM_NFE = Convert.ToDecimal(dados["QTDE_ITEM_NFE"]); novo.VALOR_UNITARIO_ITEM_NFE = Convert.ToDecimal(dados["VALOR_UNITARIO_ITEM_NFE"]); novo.VALOR_TOTAL_ITEM_NFE = VALOR_TOTAL_ITEM_NFE; novo.ALIQ_ICMS_ITEM_NFE = ALIQ_ICMS_ITEM_NFE; novo.VALOR_ICMS_ITEM_NFE = VALOR_ICMS_ITEM_NFE; novo.BASE_ICMS_ITEM_NFE = BASE_ICMS_ITEM_NFE; novo.ALIQ_IPI_ITEM_NFE = Convert.ToDecimal(dados["ALIQ_IPI_ITEM_NFE"]); novo.VALOR_IPI_ITEM_NFE = VALOR_IPI_ITEM_NFE; novo.BASE_ICMS_SUBS_ITEM_NFE = BASE_ICMS_SUBS_ITEM_NFE; novo.VALOR_ICMS_SUBS_ITEM_NFE = VALOR_ICMS_SUBS_ITEM_NFE; novo.PERC_IVA_ITEM_NFE = Convert.ToDecimal(dados["PERC_IVA_ITEM_NFE"]); novo.DATA_CHEGADA_ITEM_NFE = DateTime.Now; novo.NUMERO_LOTE_ITEM_NFE = dados["NUMERO_LOTE_ITEM_NFE"].ToString(); novo.NUMERO_PEDIDO_COMPRA = dados.ContainsKey("NUMERO_PEDIDO_COMPRA") ? Convert.ToDecimal(dados["NUMERO_PEDIDO_COMPRA"]) : 0; novo.NUMERO_ITEM_COMPRA = dados.ContainsKey("NUMERO_ITEM_COMPRA") ? Convert.ToDecimal(dados["NUMERO_ITEM_COMPRA"]) : 0; novo.SALDO_ITEM_NFE = Convert.ToDecimal(dados["QTDE_ITEM_NFE"]); novo.ABATIMENTO_CONCEDIDO = dados.ContainsKey("ABATIMENTO_CONCEDIDO") ? Convert.ToDecimal(dados["ABATIMENTO_CONCEDIDO"]) : 0; novo.ALIQ_ICMS_SAIDA_ICMS_ST = dados.ContainsKey("ALIQ_ICMS_SAIDA_ICMS_ST") ? Convert.ToDecimal(dados["ALIQ_ICMS_SAIDA_ICMS_ST"]) : 0; novo.PERCENTUAL_IPI_A_RECUPERAR = dados.ContainsKey("PERCENTUAL_IPI_A_RECUPERAR") ? Convert.ToDecimal(dados["PERCENTUAL_IPI_A_RECUPERAR"]) : 0; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx1, novo, Entidade.ToString(), ID_USUARIO); ctx1.SubmitChanges(); var CFOP_DEVOLUCAO = (from linha1 in ctx1.TB_CFOPs where linha1.CODIGO_CFOP == novo.CODIGO_CFOP_ITEM_NFE select linha1.OPERACAO_DEVOLUCAO).ToList().First(); if (novo.ABATIMENTO_CONCEDIDO == 1 && CFOP_DEVOLUCAO == 1) { using (Doran_Saldo_Cliente_Fornecedor abatimento_cliente = new Doran_Saldo_Cliente_Fornecedor(Convert.ToDecimal(dados["ID_USUARIO"]))) { abatimento_cliente.NUMERO_SEQ_NF_ENTRADA = novo.NUMERO_SEQ_NFE; abatimento_cliente.NUMERO_ITEM_NF_ENTRADA = novo.NUMERO_SEQ_ITEM_NFE; abatimento_cliente.Grava_Futuro_Abatimento_Cliente(novo.VALOR_TOTAL_ITEM_NFE, ctx1); } } Dictionary <string, decimal> linha = new Dictionary <string, decimal>(); linha.Add("TOTAL_PRODUTOS_NFE", VALOR_TOTAL_ITEM_NFE); linha.Add("TOTAL_IPI_NFE", VALOR_IPI_ITEM_NFE); linha.Add("BASE_ICMS_NFE", BASE_ICMS_ITEM_NFE); linha.Add("VALOR_ICMS_NFE", VALOR_ICMS_ITEM_NFE); linha.Add("BASE_ICMS_SUBS_NFE", BASE_ICMS_SUBS_ITEM_NFE); linha.Add("VALOR_ICMS_SUBS_NFE", VALOR_ICMS_SUBS_ITEM_NFE); Dictionary <string, object> retorno = Calcula_e_Grava_Totais_Nota_Entrada(ctx1, linha, true); ctx1.Transaction.Commit(); return(retorno); } catch { ctx1.Transaction.Rollback(); throw; } } }
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 List <string> GraficoCreditoCliente(decimal CODIGO_CLIENTE) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { DateTime amanha = DateTime.Today; amanha = amanha.AddDays(1); var aReceber = (from linha in ctx.TB_FINANCEIROs where linha.CODIGO_CLIENTE == CODIGO_CLIENTE && linha.DATA_VENCIMENTO >= amanha && linha.DATA_PAGAMENTO == new DateTime(1901, 01, 01) && linha.CREDITO_DEBITO == 0 select linha).Sum(ar => ar.VALOR_TOTAL); if (!aReceber.HasValue) { aReceber = 0; } decimal Inadimplente = Doran_TitulosVencidos.TotalVencidos(Vencidos.RECEBER, CODIGO_CLIENTE, ID_EMPRESA); var limiteCliente = (from linha in ctx.TB_CLIENTEs where linha.ID_CLIENTE == CODIGO_CLIENTE select new { linha.TB_LIMITE.VALOR_LIMITE }).ToList(); decimal _limiteCliente = 0; foreach (var item in limiteCliente) { _limiteCliente = (decimal)item.VALOR_LIMITE; } var EmAberto = (from linha in ctx.TB_FINANCEIROs where linha.CODIGO_CLIENTE == CODIGO_CLIENTE && linha.DATA_PAGAMENTO == new DateTime(1901, 01, 01) && linha.CREDITO_DEBITO == 0 select linha).Sum(ab => ab.VALOR_TOTAL); EmAberto += Doran_Limite_Credito_Cliente.Limite_Excedido_Cliente(CODIGO_CLIENTE); if (EmAberto > _limiteCliente) { EmAberto = EmAberto - _limiteCliente; } else { EmAberto = 0; } var Abatimentos = (from linha in ctx.GetTable <TB_SALDO_CLIENTE_FORNECEDOR>() orderby linha.CODIGO_CLIENTE, linha.SALDO_RESTANTE where linha.CODIGO_CLIENTE == CODIGO_CLIENTE && linha.SALDO_RESTANTE > (decimal)0.00 select linha).Sum(a => a.SALDO_RESTANTE); string _aReceber = aReceber.ToString(); _aReceber = _aReceber.Replace(",", "."); string _Inadimplente = Inadimplente.ToString(); _Inadimplente = _Inadimplente.Replace(",", "."); string _emAberto = EmAberto.ToString(); _emAberto = _emAberto.Replace(",", "."); string _Abatimentos = Abatimentos.HasValue ? Abatimentos.ToString() : ""; _Abatimentos = _Abatimentos.Replace(",", "."); List <string> retorno = new List <string>(); retorno.Add("['Total a Receber', " + _aReceber + "]"); retorno.Add("['Total Inadimplente', " + _Inadimplente + "]"); retorno.Add("['Limite de Crédito Excedido', " + _emAberto + " ]"); retorno.Add("['Abatimento(s)', " + _Abatimentos + " ]"); return(retorno); } }
public List <object> Imprime_Pedido_Fornecedor(decimal ID_CONTA_EMAIL, string CNPJ_EMITENTE, decimal ID_USUARIO, string LOGIN_USUARIO) { using (Doran_ERP_Servicos_DadosDataContext ctx1 = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from linha in ctx1.TB_CONFIG_VENDAs where linha.ID_CONFIGURACAO_VENDAS == 1 select linha.LOGOTIPO_ORCAMENTO_VENDAS).ToList(); foreach (var item in query) { LOGOTIPO = ConfigurationManager.AppSettings["PastaVirtual"] + item.Trim(); } } using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var STATUS_CONFIRMADO = (from linha in ctx.TB_STATUS_PEDIDO_COMPRAs where linha.STATUS_ESPECIFICO_ITEM_COMPRA == 6 select linha.CODIGO_STATUS_COMPRA).ToList().First(); var query = (from linha in ctx.TB_PEDIDO_COMPRAs orderby linha.NUMERO_PEDIDO_COMPRA, linha.NUMERO_ITEM_COMPRA where linha.NUMERO_PEDIDO_COMPRA == NUMERO_PEDIDO_COMPRA && linha.NUMERO_ITEM_COMPRA == _ITENS[0] && linha.CODIGO_FORNECEDOR == CODIGO_FORNECEDOR select linha).ToList(); foreach (var item in query) { TB_EMITENTE EMITENTE = new TB_EMITENTE(); Doran_ERP_Servicos_DadosDataContext ctx1 = new Doran_ERP_Servicos_DadosDataContext(); EMITENTE = (from linha in ctx1.TB_EMITENTEs orderby linha.CNPJ_EMITENTE where linha.CNPJ_EMITENTE == CNPJ_EMITENTE select linha).ToList().First(); htmlPEDIDO.Append(@"<table border=""0"" width=""770""><tbody> <tr> <td> </td> <td align=""right""><b>Cotação de Compra Nº</b>" + item.NUMERO_PEDIDO_COMPRA.ToString() + @" </td> <td align=""right"">" + ApoioXML.TrataData2(item.DATA_ITEM_COMPRA) + @"</td> <td align=""right""></td></tr></tbody></table> <hr align=""left"" width=""770""> <table border=""0"" width=""770""> <tbody> <tr> <td><img src='" + LOGOTIPO + @"'></td> <td></td></tr> <tr> <td valign=""top"">" + EMITENTE.NOME_EMITENTE.Trim() + @"<br>" + EMITENTE.ENDERECO_EMITENTE.Trim() + " " + EMITENTE.NUMERO_END_EMITENTE.Trim() + " " + EMITENTE.COMPLEMENTO_END_EMITENTE.Trim() + "<br />" + EMITENTE.TB_MUNICIPIO.NOME_MUNICIPIO.Trim() + @" - " + EMITENTE.TB_MUNICIPIO.TB_UF.SIGLA_UF + @" - BRASIL<br><b>Tel.:</b>" + EMITENTE.TELEFONE_EMITENTE.Trim() + " - <b>Fax:</b>" + EMITENTE.FAX_EMITENTE.Trim() + "<br><b>CNPJ:</b>" + EMITENTE.CNPJ_EMITENTE.Trim() + "<br><br><b>Contato(a):</b>" + LOGIN_USUARIO.Trim() + "<br><b>e-mail:</b> " + EMITENTE.EMAIL_EMITENTE.Trim() + @" - <b>site:</b>http://www.indufix.com.br<br></td> <td style=""BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"" valign=""top""><b>Fornecedor:</b><br>" + item.CODIGO_FORNECEDOR.ToString() + @" - " + item.TB_FORNECEDOR.NOME_FORNECEDOR.Trim() + "<br>" + item.TB_FORNECEDOR.ENDERECO_FORNECEDOR.Trim() + " " + item.TB_FORNECEDOR.NUMERO_END_FORNECEDOR.Trim() + " " + item.TB_FORNECEDOR.COMPL_END_FORNECEDOR.Trim() + "<br>" + item.TB_FORNECEDOR.TB_MUNICIPIO.NOME_MUNICIPIO.Trim() + " - " + item.TB_FORNECEDOR.TB_MUNICIPIO.TB_UF.SIGLA_UF + " - " + item.TB_FORNECEDOR.CEP_FORNECEDOR.Trim() + "<br><b>CNPJ:</b>" + item.TB_FORNECEDOR.CNPJ_FORNECEDOR.Trim() + " - <b>I.E.:</b>" + item.TB_FORNECEDOR.IE_FORNECEDOR.Trim() + "<br><b>Contato: </b>" + item.TB_FORNECEDOR.CONTATO_FORNECEDOR.Trim() + "<br><b>Telefone:</b>" + item.TB_FORNECEDOR.TELEFONE1_FORNECEDOR.Trim() + " <br><strong>e-mail:</strong> " + item.TB_FORNECEDOR.EMAIL_FORNECEDOR.Trim() + @"</td></tr></tbody></table><br> <table style=""BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"" width=""770""> <tbody> <tr> <td><b>Condições de Fornecimento</b><br><br><b>Pagamento:</b>" + item.TB_COND_PAGTO.DESCRICAO_CP.Trim() + @"</td> <td><br></td></tr></tbody></table> <div style=""TEXT-ALIGN: center; WIDTH: 770px; HEIGHT: 40px""></div> <table style=""BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-TOP: 1px solid; BORDER-RIGHT: 1px solid"" width=""770""> <tbody> <tr> <td style=""BORDER-BOTTOM: 1px solid""><b>Produto</b> </td> <td style=""BORDER-BOTTOM: 1px solid""><b>Código</b> </td> <td style=""BORDER-BOTTOM: 1px solid"" align=""middle""><b>UN</b> </td> <td style=""BORDER-BOTTOM: 1px solid"" align=""right""><b>Qtde.</b> </td> <td style=""BORDER-BOTTOM: 1px solid"" align=""right""><b>Preço</b> </td> <td style=""BORDER-BOTTOM: 1px solid"" align=""right""><b>Total Item</b> </td> <td style=""BORDER-BOTTOM: 1px solid"" align=""middle""><b>Entrega</b> </td></tr> "); NOME_FORNECEDOR = item.TB_FORNECEDOR.NOME_FANTASIA_FORNECEDOR.Trim(); NOME_FORNECEDOR = NOME_FORNECEDOR.Replace(" ", "_"); NOME_FORNECEDOR = ApoioXML.TrataSinais(NOME_FORNECEDOR); ctx1.Dispose(); } // Produtos decimal TOTAL_PRODUTOS = 0; decimal TOTAL_ICMS = 0; decimal TOTAL_ICMS_ST = 0; decimal TOTAL_IPI = 0; decimal TOTAL_PEDIDO = 0; var query1 = (from linha in ctx.TB_PEDIDO_COMPRAs where linha.NUMERO_PEDIDO_COMPRA == NUMERO_PEDIDO_COMPRA && _ITENS.Contains(linha.NUMERO_ITEM_COMPRA) && linha.CODIGO_FORNECEDOR == CODIGO_FORNECEDOR select linha).ToList(); foreach (var item in query1) { decimal PRECO_FINAL = 0; if (item.TIPO_DESCONTO_ITEM_COMPRA == 1) { PRECO_FINAL = (decimal)item.PRECO_FINAL_FORNECEDOR - (decimal)item.VALOR_DESCONTO_ITEM_COMPRA; } else { PRECO_FINAL = Math.Round((decimal)item.PRECO_FINAL_FORNECEDOR * (1 - ((decimal)item.VALOR_DESCONTO_ITEM_COMPRA / 100)), 4); } string VENDEDOR = (from linha in ctx.TB_ASSOCIACAO_COMPRA_VENDAs where linha.NUMERO_PEDIDO_COMPRA == item.NUMERO_PEDIDO_COMPRA && linha.NUMERO_ITEM_COMPRA == item.NUMERO_ITEM_COMPRA select linha).Any() ? (from linha in ctx.TB_ASSOCIACAO_COMPRA_VENDAs where linha.NUMERO_PEDIDO_COMPRA == item.NUMERO_PEDIDO_COMPRA && linha.NUMERO_ITEM_COMPRA == item.NUMERO_ITEM_COMPRA select linha.TB_PEDIDO_VENDA.TB_ITEM_ORCAMENTO_VENDA.TB_ORCAMENTO_VENDA.TB_VENDEDORE.NOME_VENDEDOR).First().Trim() : string.Empty; VENDEDOR = VENDEDOR.Length > 0 ? "<br />Vendedor(a): " + VENDEDOR : ""; htmlPEDIDO.Append(@"<tr style=""border-bottom: solid 1px;""> <td style=""border-left-width: 1px; border-left-style: solid; font-size: 9pt;"" valign=""top""> " + item.TB_PRODUTO.DESCRICAO_PRODUTO.Trim() + VENDEDOR + @" </td> <td style=""border-left-width: 1px; border-left-style: solid; font-size: 9pt;"" valign=""top""> " + item.CODIGO_PRODUTO_COMPRA.Trim() + @" </td> <td style=""border-left-width: 1px; border-left-style: solid; font-size: 9pt;"" valign=""top""> " + item.UNIDADE_ITEM_COMPRA + @" </td> <td align=""right"" style=""border-left-width: 1px; border-left-style: solid; font-size: 9pt;"" valign=""top""> " + ((decimal)item.QTDE_ITEM_COMPRA).ToString("n") + @" </td> <td align=""right"" style=""border-left-width: 1px; border-left-style: solid; font-size: 9pt;"" valign=""top""> " + PRECO_FINAL.ToString().Valor_Moeda(4) + @" </td> <td align=""right"" style=""border-left-width: 1px; border-left-style: solid; font-size: 9pt;"" valign=""top""> " + ((decimal)item.VALOR_TOTAL_ITEM_COMPRA).ToString("c") + @" </td> <td align=""center"" style=""border-left-width: 1px; border-left-style: solid; font-size: 9pt;"" valign=""top""> " + ApoioXML.TrataData2(item.PREVISAO_ENTREGA_ITEM_COMPRA) + @" </td> </tr> "); if (item.OBS_ITEM_COMPRA.Length > 0) { htmlPEDIDO.Append(@"<tr> <td style=""BORDER-BOTTOM: 1px solid"" colspan=7>" + item.OBS_ITEM_COMPRA + @"</td> </tr>"); } TOTAL_PRODUTOS += (decimal)item.VALOR_TOTAL_ITEM_COMPRA; TOTAL_ICMS += (decimal)item.VALOR_ICMS_ITEM_COMPRA; TOTAL_ICMS_ST += (decimal)item.VALOR_ICMS_ST_ITEM_COMPRA; TOTAL_IPI += (decimal)item.VALOR_IPI_ITEM_COMPRA; TOTAL_PEDIDO += (decimal)item.VALOR_TOTAL_ITEM_COMPRA + (decimal)item.VALOR_IPI_ITEM_COMPRA + (decimal)item.VALOR_ICMS_ST_ITEM_COMPRA; if (StatusEspecifico(item.STATUS_ITEM_COMPRA) == 2) { item.STATUS_ITEM_COMPRA = STATUS_CONFIRMADO; // Pedido Confirmado Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_PEDIDO_COMPRAs.GetModifiedMembers(item), ctx.TB_PEDIDO_COMPRAs.ToString(), ID_USUARIO); } } htmlPEDIDO.Append(@"</tbody></table> <hr align=""left"" width=""770""> <table width=""770""> <tbody> <tr> <td style=""WIDTH: 50%""></td> <td> <table width=""100%""> <tbody> <tr> <td align=""right""><b>Sub Total:</b> </td> <td align=""right"">" + TOTAL_PRODUTOS.ToString("c") + @"</td></tr> <tr> <td align=""right""><b>Total de IPI:</b> </td> <td align=""right"">" + TOTAL_IPI.ToString("c") + @"</td></tr> <tr> <td align=""right""><b>Total de ICMS:</b> </td> <td align=""right"">" + TOTAL_ICMS.ToString("c") + @"</td></tr> <tr> <td align=""right""><b>Total de ICMS ST:</b> </td> <td align=""right"">" + TOTAL_ICMS_ST.ToString("c") + @"</td></tr> <tr> <td align=""right""><b>Total do Pedido:</b> </td> <td align=""right"">" + TOTAL_PEDIDO.ToString("c") + " </td></tr></tbody></table></td></tr></tbody></table>"); ctx.SubmitChanges(); } Grava_PDF_Pedido(htmlPEDIDO); Merge(_Arquivo); List <object> retorno = new List <object>(); retorno.Add(ConfigurationManager.AppSettings["PastaVirtualPDF"] + "PEDIDO_COTACAO_COMPRA_" + NUMERO_PEDIDO_COMPRA.ToString() + "_" + NOME_FORNECEDOR + ".pdf"); using (Doran_ERP_Servicos_DadosDataContext ctx2 = new Doran_ERP_Servicos_DadosDataContext()) { var query1 = (from linha in ctx2.TB_PEDIDO_COMPRAs orderby linha.NUMERO_PEDIDO_COMPRA, linha.NUMERO_ITEM_COMPRA where linha.NUMERO_ITEM_COMPRA == _ITENS[0] && linha.CODIGO_FORNECEDOR == CODIGO_FORNECEDOR select linha).ToList(); retorno.Add(query1.First().STATUS_ITEM_COMPRA); retorno.Add(query1.First().TB_STATUS_PEDIDO_COMPRA.DESCRICAO_STATUS_PEDIDO_COMPRA.Trim()); retorno.Add(query1.First().TB_STATUS_PEDIDO_COMPRA.COR_STATUS_PEDIDO_COMPRA.Trim()); retorno.Add(query1.First().TB_STATUS_PEDIDO_COMPRA.COR_FONTE_STATUS_PEDIDO_COMPRA.Trim()); retorno.Add(query1.First().TB_STATUS_PEDIDO_COMPRA.STATUS_ESPECIFICO_ITEM_COMPRA); if (ID_CONTA_EMAIL > 0) { string pdf = ConfigurationManager.AppSettings["PastaFisicaPDF"] + "PEDIDO_COTACAO_COMPRA_" + NUMERO_PEDIDO_COMPRA.ToString() + "_" + NOME_FORNECEDOR + ".pdf"; var pasta_anexos = (from linha in ctx2.GetTable <TB_EMAIL_CONTA>() where linha.ID_CONTA_EMAIL == ID_CONTA_EMAIL select linha.PASTA_ANEXOS).ToList().First(); arquivo_final = pasta_anexos.EndsWith("\\") ? pasta_anexos + "PEDIDO_COTACAO_COMPRA_" + NUMERO_PEDIDO_COMPRA.ToString() + "_" + NOME_FORNECEDOR + ".pdf" : pasta_anexos + "\\PEDIDO_COTACAO_COMPRA_" + NUMERO_PEDIDO_COMPRA.ToString() + "_" + NOME_FORNECEDOR + ".pdf"; File.Copy(pdf, arquivo_final, true); retorno.Add(arquivo_final); } } return(retorno); }
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 GravaNovoCiclista(Dictionary <string, object> dados) { try { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { System.Data.Linq.Table <Doran_Servicos_ORM.TB_CICLISTA> Entidade = ctx.GetTable <Doran_Servicos_ORM.TB_CICLISTA>(); Doran_Servicos_ORM.TB_CICLISTA novo = new Doran_Servicos_ORM.TB_CICLISTA(); novo.NOME_CICLISTA = dados["NOME_CICLISTA"].ToString(); novo.CICLISTA_ATIVO = Convert.ToDecimal(dados["CICLISTA_ATIVO"]); Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, "TB_CICLISTA", 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; } }
private void Gerar_Contas_a_Receber(Doran_ERP_Servicos_DadosDataContext ctx) { var query1 = (from item in ctx.TB_FINANCEIROs where item.NUMERO_SEQ_NF_SAIDA == _NUMERO_SEQ select item).ToList(); foreach (var linha in query1) { ctx.TB_FINANCEIROs.DeleteOnSubmit(linha); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Delete(ctx, linha, ctx.TB_FINANCEIROs.ToString(), ID_USUARIO); } ctx.SubmitChanges(); var query = (from nota in ctx.TB_NOTA_SAIDAs where nota.NUMERO_SEQ == _NUMERO_SEQ select new { nota.CODIGO_CLIENTE_NF, nota.TOTAL_NF, nota.TOTAL_SERVICOS_NF, nota.TB_COND_PAGTO.CODIGO_CP, nota.TB_COND_PAGTO.DIAS_PARCELA1_CP, nota.TB_COND_PAGTO.DIAS_PARCELA2_CP, nota.TB_COND_PAGTO.DIAS_PARCELA3_CP, nota.TB_COND_PAGTO.DIAS_PARCELA4_CP, nota.TB_COND_PAGTO.DIAS_PARCELA5_CP, nota.TB_COND_PAGTO.DIAS_PARCELA6_CP, nota.TB_COND_PAGTO.DIAS_PARCELA7_CP, nota.TB_COND_PAGTO.DIAS_PARCELA8_CP, nota.TB_COND_PAGTO.DIAS_PARCELA9_CP, nota.TB_COND_PAGTO.DIAS_PARCELA10_CP, nota.TB_COND_PAGTO.QTDE_PARCELAS_CP }).ToList(); foreach (var item in query) { if (item.QTDE_PARCELAS_CP == 1) { Table <TB_FINANCEIRO> Entidade = ctx.GetTable <TB_FINANCEIRO>(); TB_FINANCEIRO novo = new TB_FINANCEIRO(); DateTime VENCTO = DateTime.Today; VENCTO = VENCTO.AddDays(1); VENCTO = VENCTO.AddSeconds(-1); VENCTO = VENCTO.AddDays((double)item.DIAS_PARCELA1_CP); novo.DATA_LANCAMENTO = DateTime.Now; novo.DATA_VENCIMENTO = VENCTO; novo.DATA_PAGAMENTO = new DateTime(1901, 1, 1); novo.NUMERO_SEQ_NF_ENTRADA = 0; novo.NUMERO_SEQ_NF_SAIDA = _NUMERO_SEQ; novo.CODIGO_CLIENTE = item.CODIGO_CLIENTE_NF; novo.CODIGO_FORNECEDOR = 0; novo.HISTORICO = string.Format("NOTA FISCAL: {0} - CLIENTE: {1} - VENDEDOR: {2}", _NUMERO_NF, _CLIENTE.Trim(), _VENDEDOR.Trim()); novo.VALOR = item.TOTAL_NF; novo.VALOR_DESCONTO = 0; novo.VALOR_ACRESCIMO = 0; novo.VALOR_TOTAL = item.TOTAL_NF; novo.CREDITO_DEBITO = 0; novo.NUMERO_NF_SAIDA = _NUMERO_NF; novo.NUMERO_NF_ENTRADA = 0; novo.VALOR_MULTA = 0; novo.PERC_JUROS_DIA = 0; novo.CODIGO_EMITENTE = ID_EMPRESA; novo.ID_PLANO = "5.1.1.001"; 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(); } else { Dictionary <DateTime, decimal> Parcelas = Calcula_Vencimentos_e_Valores(item.TOTAL_SERVICOS_NF.Value, item.TOTAL_NF.Value, item.CODIGO_CP); foreach (DateTime key in Parcelas.Keys) { Table <TB_FINANCEIRO> Entidade = ctx.GetTable <TB_FINANCEIRO>(); TB_FINANCEIRO novo = new TB_FINANCEIRO(); novo.DATA_LANCAMENTO = DateTime.Now; novo.DATA_VENCIMENTO = key; novo.DATA_PAGAMENTO = new DateTime(1901, 1, 1); novo.NUMERO_SEQ_NF_ENTRADA = 0; novo.NUMERO_SEQ_NF_SAIDA = _NUMERO_SEQ; novo.CODIGO_CLIENTE = item.CODIGO_CLIENTE_NF; novo.CODIGO_FORNECEDOR = 0; novo.HISTORICO = string.Format("NOTA FISCAL: {0} - CLIENTE: {1} - VENDEDOR: {2}", _NUMERO_NF, _CLIENTE.Trim(), _VENDEDOR.Trim()); novo.VALOR = Parcelas[key]; novo.VALOR_DESCONTO = 0; novo.VALOR_ACRESCIMO = 0; novo.VALOR_TOTAL = Parcelas[key]; novo.CREDITO_DEBITO = 0; novo.NUMERO_NF_SAIDA = _NUMERO_NF; novo.NUMERO_NF_ENTRADA = 0; novo.VALOR_MULTA = 0; novo.PERC_JUROS_DIA = 0; novo.CODIGO_EMITENTE = ID_EMPRESA; novo.ID_PLANO = "5.1.1.001"; 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(); } } } }
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 string Monta_Vencimentos_NF() { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { decimal?COBRANCA_ISENTA = 0; _NUMERO_SEQ = COBRANCA_ISENTA == 1 ? -1 : _NUMERO_SEQ; CultureInfo cultura = CultureInfo.CurrentCulture; string[] dias = cultura.DateTimeFormat.DayNames; var query1 = from linha in ctx.TB_FINANCEIROs where linha.NUMERO_SEQ_NF_SAIDA == _NUMERO_SEQ select new { VENCIMENTO = linha.DATA_VENCIMENTO, VALOR = linha.VALOR_TOTAL }; DataTable dt1 = ApoioXML.ToDataTable(ctx, query1); dt1.Columns.Add("DIA"); foreach (DataRow linha in dt1.Rows) { linha["DIA"] = dias[(int)((DateTime)linha["VENCIMENTO"]).DayOfWeek].ToUpper(); } string retorno = ""; if (dt1.Rows.Count > 0) { System.IO.StringWriter tr = new System.IO.StringWriter(); dt1.WriteXml(tr); retorno = tr.ToString(); } else { decimal TOTAL_NF = 0; decimal CODIGO_CP = 0; decimal TOTAL_PRODUTOS = 0; var query = (from nota in ctx.GetTable <TB_NOTA_SAIDA>() where nota.NUMERO_SEQ == _NUMERO_SEQ select new { nota.CODIGO_CP_NF, nota.TOTAL_NF, nota.TOTAL_SERVICOS_NF }).ToList(); foreach (var item in query) { TOTAL_PRODUTOS = item.TOTAL_SERVICOS_NF.Value; TOTAL_NF = item.TOTAL_NF.Value; CODIGO_CP = item.CODIGO_CP_NF.Value; } Dictionary <DateTime, decimal> Parcelas = Calcula_Vencimentos_e_Valores(TOTAL_PRODUTOS, TOTAL_NF, CODIGO_CP); if (COBRANCA_ISENTA == 1) { Parcelas.Clear(); } DataTable dt = new DataTable("Tabela"); dt.Columns.Add("VENCIMENTO", typeof(DateTime)); dt.Columns.Add("DIA", typeof(string)); dt.Columns.Add("VALOR", typeof(decimal)); foreach (DateTime key in Parcelas.Keys) { if (query.First().TOTAL_NF > (decimal)0.00) { DataRow nova = dt.NewRow(); nova[0] = key; nova[1] = dias[(int)((DateTime)key).DayOfWeek].ToUpper(); nova[2] = Parcelas[key]; dt.Rows.Add(nova); } } System.IO.StringWriter tr = new System.IO.StringWriter(); dt.WriteXml(tr); retorno = tr.ToString(); } return(retorno); } }
public void Atualiza_Fornecedor_e_Cliente(Dictionary <string, object> dados) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { var query = (from item in ctx.TB_FORNECEDORs where item.CODIGO_FORNECEDOR == Convert.ToDecimal(dados["CODIGO_FORNECEDOR"]) select item).ToList(); foreach (var novo in query) { 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 = Convert.ToDecimal(dados["CLIENTE"]); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.TB_FORNECEDORs.GetModifiedMembers(novo), ctx.TB_FORNECEDORs.ToString(), Convert.ToDecimal(dados["ID_USUARIO"])); if (novo.CLIENTE == 1) { var query1 = (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 (query1.Any() || query2.Any()) { var query3 = query1.Any() ? query1 : 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_FORNECEDOR"].ToString(); item.IE_CLIENTE = dados["IE_FORNECEDOR"].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 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); }
public static string Lista_TB_PRODUTO(Dictionary <string, object> dados) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { if (!dados.ContainsKey("CODIGO_PRODUTO")) { dados.Add("CODIGO_PRODUTO", dados["Pesquisa"].ToString()); dados["Pesquisa"] = string.Empty; } if (!dados.ContainsKey("CODIGO_CLIENTE")) { dados.Add("CODIGO_CLIENTE", 0); } decimal codigo_cliente = decimal.TryParse(dados["CODIGO_CLIENTE"].ToString(), out codigo_cliente) ? Convert.ToDecimal(dados["CODIGO_CLIENTE"]) : 0; dados["CODIGO_CLIENTE"] = codigo_cliente; if (!dados.ContainsKey("Pesquisa")) { dados.Add("Pesquisa", string.Empty); } var query1 = from produto in ctx.TB_PRODUTOs where produto.CODIGO_PRODUTO.Substring(0, dados["CODIGO_PRODUTO"].ToString().Length) == dados["CODIGO_PRODUTO"].ToString() && produto.DESCRICAO_PRODUTO.Contains(dados["Pesquisa"].ToString()) select new { produto.ID_PRODUTO, produto.CODIGO_PRODUTO, produto.DESCRICAO_PRODUTO, produto.UNIDADE_MEDIDA_VENDA, PRECO_PRODUTO = produto.PRECO_PRODUTO * (decimal)1.02, produto.ALIQ_ISS, ULTIMO_PRECO = (from linha in ctx.GetTable <TB_ITEM_NOTA_SAIDA>() orderby linha.ID_PRODUTO_ITEM_NF, linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF, linha.TB_NOTA_SAIDA.DATA_EMISSAO_NF descending where linha.ID_PRODUTO_ITEM_NF == produto.ID_PRODUTO && linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF == Convert.ToDecimal(dados["CODIGO_CLIENTE"]) && linha.TB_NOTA_SAIDA.STATUS_NF == 4 select linha).Any() ? (from linha in ctx.GetTable <TB_ITEM_NOTA_SAIDA>() orderby linha.ID_PRODUTO_ITEM_NF, linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF, linha.TB_NOTA_SAIDA.DATA_EMISSAO_NF descending where linha.ID_PRODUTO_ITEM_NF == produto.ID_PRODUTO && linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF == Convert.ToDecimal(dados["CODIGO_CLIENTE"]) && linha.TB_NOTA_SAIDA.STATUS_NF == 4 select linha.VALOR_UNITARIO_ITEM_NF).First() : produto.PRECO_PRODUTO, ULTIMA_COMPRA = (from linha in ctx.GetTable <TB_ITEM_NOTA_SAIDA>() orderby linha.ID_PRODUTO_ITEM_NF, linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF, linha.TB_NOTA_SAIDA.DATA_EMISSAO_NF descending where linha.ID_PRODUTO_ITEM_NF == produto.ID_PRODUTO && linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF == Convert.ToDecimal(dados["CODIGO_CLIENTE"]) && linha.TB_NOTA_SAIDA.STATUS_NF == 4 select linha.TB_NOTA_SAIDA.DATA_EMISSAO_NF).Any() ? (from linha in ctx.GetTable <TB_ITEM_NOTA_SAIDA>() orderby linha.ID_PRODUTO_ITEM_NF, linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF, linha.TB_NOTA_SAIDA.DATA_EMISSAO_NF descending where linha.ID_PRODUTO_ITEM_NF == produto.ID_PRODUTO && linha.TB_NOTA_SAIDA.CODIGO_CLIENTE_NF == Convert.ToDecimal(dados["CODIGO_CLIENTE"]) && linha.TB_NOTA_SAIDA.STATUS_NF == 4 select linha.TB_NOTA_SAIDA.DATA_EMISSAO_NF) : null }; var rowCount = query1.Count(); var query = query1.Skip(Convert.ToInt32(dados["start"])).Take(Convert.ToInt32(dados["limit"])); return(ApoioXML.objQueryToXML(ctx, query, rowCount)); } }
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 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 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 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 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 Dictionary <string, object> Calcula_e_Grava_Totais_Nota_Saida(Dictionary <string, decimal> linha, bool Moeda) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { Dictionary <string, object> retorno = new Dictionary <string, object>(); var queryItens = (from itens in ctx.GetTable <TB_ITEM_NOTA_SAIDA>() where itens.NUMERO_ITEM_NF == _NUMERO_SEQ select itens).ToList(); decimal TOTAL_SERVICOS_NF = decimal.TryParse(queryItens.Sum(c => c.VALOR_TOTAL_ITEM_NF).ToString(), out TOTAL_SERVICOS_NF) ? (decimal)queryItens.Sum(c => c.VALOR_TOTAL_ITEM_NF) : 0; decimal TOTAL_ISS_NF = decimal.TryParse(queryItens.Sum(c => c.VALOR_ISS_ITEM_NF).ToString(), out TOTAL_ISS_NF) ? (decimal)queryItens.Sum(c => c.VALOR_ISS_ITEM_NF) : 0; decimal BASE_ISS_NF = decimal.TryParse(queryItens.Sum(c => c.BASE_ISS_ITEM_NF).ToString(), out BASE_ISS_NF) ? (decimal)queryItens.Sum(c => c.BASE_ISS_ITEM_NF) : 0; decimal TOTAL_NF = TOTAL_SERVICOS_NF; Completa_DADOS_ADICIONAIS_NF(); var query = (from linha1 in ctx.TB_NOTA_SAIDAs where linha1.NUMERO_SEQ == _NUMERO_SEQ select linha1).ToList(); foreach (var nota in query) { nota.BASE_ISS_NF = BASE_ISS_NF; nota.VALOR_ISS_NF = TOTAL_ISS_NF; nota.TOTAL_SERVICOS_NF = TOTAL_SERVICOS_NF; nota.TOTAL_NF = TOTAL_SERVICOS_NF; TOTAL_NF = nota.TOTAL_NF.Value; nota.DADOS_ADICIONAIS_NF = DADOS_ADICIONAIS; Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Update(ctx, ctx.GetTable <TB_NOTA_SAIDA>().GetModifiedMembers(nota), ctx.GetTable <TB_NOTA_SAIDA>().ToString(), ID_USUARIO); ctx.SubmitChanges(); } if (Moeda) { retorno.Add("BASE_ISS_NF", BASE_ISS_NF.ToString("c", CultureInfo.CurrentCulture)); retorno.Add("VALOR_ISS_NF", TOTAL_ISS_NF.ToString("c", CultureInfo.CurrentCulture)); retorno.Add("TOTAL_SERVICOS_NF", TOTAL_SERVICOS_NF.ToString("c", CultureInfo.CurrentCulture)); retorno.Add("TOTAL_NF", TOTAL_NF.ToString("c", CultureInfo.CurrentCulture)); } else { retorno.Add("BASE_ISS_NF", BASE_ISS_NF.ToString()); retorno.Add("VALOR_ISS_NF", TOTAL_ISS_NF.ToString()); retorno.Add("TOTAL_SERVICOS_NF", TOTAL_SERVICOS_NF.ToString()); retorno.Add("TOTAL_NF", TOTAL_NF.ToString()); } retorno.Add("DADOS_ADICIONAIS_NF", DADOS_ADICIONAIS); return(retorno); } }
public void GravaNovoServico(List <decimal> NUMEROS_PEDIDO, List <decimal> NUMEROS_ITEM, List <decimal> IDS_CICLISTAS, decimal ID_USUARIO) { try { for (int i = 0; i < IDS_CICLISTAS.Count; i++) { for (int n = 0; n < NUMEROS_PEDIDO.Count; n++) { using (Doran_ERP_Servicos_DadosDataContext ctx = new Doran_ERP_Servicos_DadosDataContext()) { if (!(from linha in ctx.TB_SERVICO_CICLISTAs where linha.NUMERO_PEDIDO_VENDA == NUMEROS_PEDIDO[n] && linha.NUMERO_ITEM_VENDA == NUMEROS_ITEM[n] && linha.ID_CICLISTA == IDS_CICLISTAS[i] select linha).Any()) { 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 = NUMEROS_PEDIDO[n]; novo.NUMERO_ITEM_VENDA = NUMEROS_ITEM[n]; novo.ID_CICLISTA = IDS_CICLISTAS[i]; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, "TB_SERVICO_CICLISTA", ID_USUARIO); } ctx.SubmitChanges(); } } } } catch (Exception ex) { Doran_Base.Auditoria_ERP_Servicos.Doran_Exception.GravaErro(ex, ID_USUARIO); throw ex; } }
/// <summary> /// Calcula os impostos do item da nota fiscal (ICMS, Base ICMS, ICMS de Substituição, ICMS de Substituição e Total IPI, /// e grava na tabela TB_ITEM_NOTA_SAIDA /// </summary> /// <param name="dados">Objeto JSON com as informações das colunas da tabela</param> /// <returns>Retorna os totais da nota</returns> public Dictionary <string, object> Calcula_e_Grava_Item_Nota_Saida(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 = dados.ContainsKey("ID_CLIENTE") ? decimal.TryParse(dados["ID_CLIENTE"].ToString(), out CODIGO_CLIENTE) ? Convert.ToDecimal(dados["ID_CLIENTE"]) : 0 : 0; if (!dados.ContainsKey("ID_PRODUTO")) { dados.Add("ID_PRODUTO", Busca_ID_PRODUTO(dados["CODIGO_PRODUTO_ITEM_NF"].ToString())); } decimal ALIQ_ISS = dados.ContainsKey("ALIQ_ISS_ITEM_NF") ? decimal.TryParse(dados["ALIQ_ISS_ITEM_NF"].ToString(), out ALIQ_ISS) ? Convert.ToDecimal(dados["ALIQ_ISS_ITEM_NF"]) : 0 : decimal.TryParse(dados["ALIQ_ISS"].ToString(), out ALIQ_ISS) ? Convert.ToDecimal(dados["ALIQ_ISS"]) : 0; decimal VALOR_TOTAL_ITEM_NF = Convert.ToDecimal(dados["VALOR_TOTAL_ITEM_NF"]); decimal VALOR_ISS_ITEM_NF = ALIQ_ISS > Convert.ToDecimal(0.00) ? Math.Round(VALOR_TOTAL_ITEM_NF * (ALIQ_ISS / 100), 2, MidpointRounding.ToEven) : 0; decimal BASE_ISS_ITEM_NF = VALOR_TOTAL_ITEM_NF; System.Data.Linq.Table <TB_ITEM_NOTA_SAIDA> Entidade = ctx.GetTable <TB_ITEM_NOTA_SAIDA>(); TB_ITEM_NOTA_SAIDA novo = new TB_ITEM_NOTA_SAIDA(); novo.NUMERO_ITEM_NF = _NUMERO_SEQ; novo.ID_PRODUTO_ITEM_NF = Convert.ToDecimal(dados["ID_PRODUTO"]); novo.CODIGO_PRODUTO_ITEM_NF = dados["CODIGO_PRODUTO_ITEM_NF"].ToString(); novo.DESCRICAO_PRODUTO_ITEM_NF = dados["DESCRICAO_PRODUTO_ITEM_NF"].ToString(); novo.UNIDADE_MEDIDA_ITEM_NF = dados["UNIDADE_MEDIDA_ITEM_NF"].ToString(); novo.QTDE_ITEM_NF = Convert.ToDecimal(dados["QTDE_ITEM_NF"]); novo.VALOR_UNITARIO_ITEM_NF = Convert.ToDecimal(dados["VALOR_UNITARIO_ITEM_NF"]); novo.VALOR_DESCONTO_ITEM_NF = dados.ContainsKey("VALOR_DESCONTO_ITEM_NF") ? Convert.ToDecimal(dados["VALOR_DESCONTO_ITEM_NF"]) : 0; novo.VALOR_TOTAL_ITEM_NF = VALOR_TOTAL_ITEM_NF; novo.VALOR_ISS_ITEM_NF = VALOR_ISS_ITEM_NF; novo.ALIQ_ISS_ITEM_NF = ALIQ_ISS; novo.BASE_ISS_ITEM_NF = BASE_ISS_ITEM_NF; novo.NUMERO_PEDIDO_VENDA = dados.ContainsKey("NUMERO_PEDIDO_VENDA") ? Convert.ToDecimal(dados["NUMERO_PEDIDO_VENDA"]) : 0; novo.NUMERO_ITEM_PEDIDO_VENDA = dados.ContainsKey("NUMERO_ITEM_PEDIDO_VENDA") ? Convert.ToDecimal(dados["NUMERO_ITEM_PEDIDO_VENDA"]) : 0; Entidade.InsertOnSubmit(novo); Doran_Base.Auditoria_ERP_Servicos.Doran_Auditoria.Audita_Insert(ctx, novo, Entidade.ToString(), ID_USUARIO); ctx.SubmitChanges(); Dictionary <string, decimal> linha1 = new Dictionary <string, decimal>(); linha1.Add("TOTAL_SERVICOS_NF", VALOR_TOTAL_ITEM_NF); linha1.Add("TOTAL_ISS_NF", VALOR_ISS_ITEM_NF); linha1.Add("BASE_ISS_NF", BASE_ISS_ITEM_NF); ctx.Transaction.Commit(); return(Calcula_e_Grava_Totais_Nota_Saida(linha1, true)); } catch { ctx.Transaction.Rollback(); throw; } } }
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 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; } }