Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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());
        }
Exemple #4
0
        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&ccedil;amento para gerar o servi&ccedil;o");
                    }

                    if (_query.Count(m => m.PRECO_PRODUTO <= (decimal)0.0000) > 0)
                    {
                        throw new Exception("H&aacute; itens com pre&ccedil;o de venda zerado. Acerte os pre&ccedil;os de venda e gere o servi&ccedil;o novamente");
                    }

                    if (_query.First().TB_ORCAMENTO_VENDA.TB_CLIENTE == null)
                    {
                        throw new Exception("O or&ccedil;amento est&aacute;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&ccedil;amento n&atilde;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&iacute;nimo n&atilde;o foi atingido.<br />Pe&ccedil;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&iacute;nimo n&atilde;o foi atingido nesta cond. de pagamento.<br />Pe&ccedil;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());
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        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;
            }
        }
Exemple #7
0
        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;
            }
        }
Exemple #8
0
        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;
            }
        }
Exemple #9
0
        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&aacute; 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&aacute; 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();
            }
        }
Exemple #10
0
        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&atilde;o h&aacute; t&iacute;tulos marcados para unir");
            }

            if (query.Any(_ => _.CREDITO_DEBITO == 1))
            {
                throw new Exception("H&aacute; t&iacute;tulo(s) de d&eacute;bito marcado(s). Marque somente t&iacute;tulos de cr&eacute;dito e do mesmo cliente");
            }

            if (query.Any(_ => _.DATA_PAGAMENTO > new DateTime(1901, 01, 01)))
            {
                throw new Exception("H&aacute; t&iacute;tulo(s) pago(s) marcado(s). Marque somente t&iacute;tulos a vencer");
            }

            if (query.GroupBy(_ => _.CODIGO_CLIENTE).Count() > 1)
            {
                throw new Exception("Marque somente t&iacute;tulos do mesmo cliente");
            }

            if (query.Count == 1)
            {
                throw new Exception("S&oacute; h&aacute; 1 t&iacute;tulo marcado. Marque pelo menos 2 t&iacute;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;
            }
        }
Exemple #11
0
        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;
            }
        }
Exemple #12
0
        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;
            }
        }
Exemple #13
0
        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;
            }
        }
Exemple #14
0
        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;
            }
        }
Exemple #15
0
        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;
            }
        }
Exemple #16
0
        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;
            }
        }
Exemple #17
0
        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;
            }
        }
Exemple #18
0
        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;
            }
        }
Exemple #19
0
        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;
            }
        }
Exemple #20
0
        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;
            }
        }
Exemple #21
0
        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;
            }
        }
Exemple #22
0
        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();
            }
        }
Exemple #23
0
        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;
            }
        }
Exemple #24
0
        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);
        }
Exemple #25
0
        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();
        }
Exemple #26
0
        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);
            }
        }
Exemple #27
0
        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&aacute; 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&aacute; itens com margem de venda abaixo do permitido. <br />N&atilde;o &eacute; poss&iacute;vel imprimir o o&ccedil;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());
        }
Exemple #28
0
        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;
            }
        }
Exemple #29
0
        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);
        }
Exemple #30
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;
            }
        }