Beispiel #1
0
 public PagtoSinalCompra[] GetBySinalCompra(GDASession session, uint idSinalCompra)
 {
     return(objPersistence.LoadData(session, Sql(idSinalCompra, true)).ToArray());
 }
Beispiel #2
0
 /// <summary>
 /// Associa um cartão não identificado ao caixa geral
 /// </summary>
 public void AssociarContaBancoIdCartaoNaoIdentificado(GDASession sessao, uint idMovBanco, uint idCartaoNaoIdentificado)
 {
     objPersistence.ExecuteCommand(sessao,
                                   string.Format("UPDATE mov_banco SET IdCartaoNaoIdentificado={0} WHERE IdMovBanco={1};", idCartaoNaoIdentificado, idMovBanco));
 }
Beispiel #3
0
 public uint MovContaDevolucaoPagto(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, uint idDevolucaoPagto, uint idCliente, int tipoMov, decimal valorMov, DateTime dataMov)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, idCliente, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, tipoMov, valorMov, 0,
                           dataMov, null, null, idDevolucaoPagto, null, null, null, false));
 }
Beispiel #4
0
 /// <summary>
 /// Credita/Debita valor da conta bancária
 /// </summary>
 public uint MovContaChequeAntecipFornec(GDASession session, uint idContaBanco, uint idConta, int idLoja, uint idCheque, uint?idAntecipFornec, uint idFornec, int tipoMov,
                                         decimal valorMov, DateTime dataMov)
 {
     return(MovimentaConta(session, idContaBanco, idConta, idLoja, null, idFornec, null, null, null, null, null, null, idCheque, null, null, null, null,
                           null, idAntecipFornec, null, null, tipoMov, valorMov, 0, dataMov, null, null, null, null, null, null, false));
 }
Beispiel #5
0
 /// <summary>
 /// Credita/Debita valor na conta bancária
 /// </summary>
 public uint MovContaAntecip(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, uint idAntecipContaRec, int tipoMov, decimal valorMov,
                             DateTime dataMov, string obs)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
                           null, idAntecipContaRec, null, tipoMov, valorMov, 0, dataMov, obs, null, null, null, null, null, false));
 }
Beispiel #6
0
 /// <summary>
 /// Credita/Debita valor da conta bancária
 /// </summary>
 public uint MovContaAcerto(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, uint idAcerto, uint idCliente, int tipoMov, decimal valorMov,
                            decimal juros, DateTime dataMov)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, idCliente, null, null, null, null, null, idAcerto, null, null, null, null, null, null, null,
                           null, null, null, tipoMov, valorMov, juros, dataMov, null, null, null, null, null, null, false));
 }
Beispiel #7
0
 public uint MovContaAcertoCheque(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, uint?idDeposito, uint idAcertoCheque, uint?idCliente,
                                  int tipoMov, decimal valorMov, DateTime dataMov)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, idCliente, null, null, null, null, null, null, idDeposito, null, null, null, null, null,
                           null, null, null, null, tipoMov, valorMov, 0, dataMov, null, idAcertoCheque, null, null, null, null, false));
 }
Beispiel #8
0
 /// <summary>
 /// insere dados
 /// </summary>
 /// <param name="ordemColeta"></param>
 /// <returns></returns>
 public uint Insert(GDASession sessao, Entidade.OrdemColetaCteRod ordemColeta)
 {
     return(Glass.Data.DAL.CTe.OrdemColetaCteRodDAO.Instance.Insert(sessao, Convert(ordemColeta)));
 }
 /// <summary>
 /// Busca string contendo beneficiamentos feitos no produtoPedido
 /// </summary>
 /// <param name="session"></param>
 /// <param name="idProdPed"></param>
 /// <param name="etiqueta"></param>
 /// <returns></returns>
 public string GetDescrBenef(GDASession session, uint idProdPed, bool etiqueta)
 {
     return(GetDescrBenef(session, (uint?)null, idProdPed, etiqueta));
 }
Beispiel #10
0
        /// <summary>
        /// Envia email para os clientes quando carregamento for finalizado
        /// </summary>
        public static void EnviaEmailCarregamentoFinalizado(GDASession sessao, uint idCarregamento)
        {
            var ocs    = OrdemCargaDAO.Instance.GetOCsForCarregamento(sessao, idCarregamento);
            var idLoja = (UserInfo.GetUserInfo?.IdLoja).GetValueOrDefault();

            if (idLoja == 0)
            {
                throw new Exception("Não foi possível recuperar a loja do pedido ao salvar o e-mail a ser enviado.");
            }

            foreach (var idCli in ocs.Select(f => f.IdCliente).Distinct())
            {
                var email = ClienteDAO.Instance.GetEmail(sessao, idCli);

                if (string.IsNullOrEmpty(email))
                {
                    continue;
                }

                var ocsCli = ocs.Where(f => f.IdCliente == idCli).ToList();

                var pedidos = new List <Pedido>();

                foreach (var oc in ocsCli)
                {
                    pedidos.AddRange(oc.Pedidos);
                }

                pedidos = pedidos.Distinct().ToList();

                var pecas      = pedidos.Sum(f => f.QtdePecasVidro);
                var volumes    = pedidos.Sum(f => f.QtdeVolume);
                var totalM2    = Math.Round(pedidos.Sum(f => f.TotMOC), 2);
                var valorTotal = pedidos.Sum(f => f.Total);

                var peds = string.Join(", ", pedidos.OrderBy(f => f.IdPedido).Select(f => f.IdPedido.ToString() + (!string.IsNullOrEmpty(f.CodCliente) ? " - " + f.CodCliente : "")).ToArray());

                string texto = "Prezado(a) cliente,\n\nInformamos que seu(s) pedido(s) " + peds + " totalizando ";

                if (pecas > 0)
                {
                    texto += pecas + " peças, " + totalM2 + " m², ";
                }

                if (volumes > 0)
                {
                    texto += volumes + " volumes, ";
                }

                texto = texto.Trim().Trim(',');

                texto += " com um total de " + valorTotal.ToString("C") + " teve o seu processo de entrega iniciado.\n\nObrigado.\n" +
                         "SETOR EXPEDIÇÃO\n" + LojaDAO.Instance.GetElement(sessao, UserInfo.GetUserInfo.IdLoja).RazaoSocial;

                var anexos = new List <AnexoEmail>();

                foreach (var oc in ocsCli)
                {
                    anexos.Add(new AnexoEmail("IdOC=" + oc.IdOrdemCarga, "OC_" + oc.IdOrdemCarga + ".pdf"));
                }

                EnviaEmailAsync(sessao, idLoja, email, "Pedido em processo de entrega", texto, EmailEnvio.Comercial, false, anexos.ToArray());
            }
        }
Beispiel #11
0
        /// <summary>
        /// Envia e-mail de pedido pronto.
        /// </summary>
        public static void EnviaEmailPedidoPronto(GDASession session, uint idPedido)
        {
            try
            {
                if (idPedido == 0)
                {
                    return;
                }

                uint idCli = PedidoDAO.Instance.ObtemIdCliente(session, idPedido);

                if (idCli == 0)
                {
                    return;
                }

                // Verifica se o cliente não recebe e-mail
                if (ClienteDAO.Instance.NaoReceberEmailPedPronto(session, idCli))
                {
                    return;
                }

                string email = ClienteDAO.Instance.GetEmail(session, idCli);
                if (String.IsNullOrEmpty(email))
                {
                    return;
                }

                // Não envia email de pedidos prontos há mais de 2 dias
                DateTime?dataPronto = PedidoDAO.Instance.ObtemValorCampo <DateTime?>(session, "dataPronto", "idPedido=" + idPedido);
                if (dataPronto != null && dataPronto < DateTime.Now.AddDays(-2))
                {
                    return;
                }

                // Verifica se esse email já foi enviado
                if (FilaEmailDAO.Instance.EmailEnviado(session, "Pedido pronto", "(nosso número " + idPedido + ")"))
                {
                    return;
                }

                string codCliente = PedidoDAO.Instance.ObtemValorCampo <string>(session, "codCliente", "idPedido=" + idPedido);
                uint   idLoja     = PedidoDAO.Instance.ObtemIdLoja(session, idPedido);

                if (idLoja == 0)
                {
                    throw new Exception("Não foi possível recuperar a loja do pedido ao salvar o e-mail a ser enviado.");
                }

                var nomeLoja    = LojaDAO.Instance.GetNome(session, idLoja);
                int tipoEntrega = PedidoDAO.Instance.ObtemTipoEntrega(session, idPedido);

                var texto = TextoEmailPedidoPronto((int)idPedido, codCliente, nomeLoja, (Pedido.TipoEntregaPedido)tipoEntrega);

                List <AnexoEmail> anexos = new List <AnexoEmail>();
                if (EmailConfig.EnviarPedidoAnexoEmail == DataSources.TipoEnvioAnexoPedidoEmail.Ambos ||
                    EmailConfig.EnviarPedidoAnexoEmail == DataSources.TipoEnvioAnexoPedidoEmail.Pronto)
                {
                    anexos.Add(PedidoEspelhoDAO.Instance.ExisteEspelho(session, idPedido)
                        ? new AnexoEmail("~/Relatorios/RelPedido.aspx?tipo=2&semThread=true&idPedido=" + idPedido,
                                         "Pedido " + idPedido + ".pdf")
                        : new AnexoEmail("~/Relatorios/RelPedido.aspx?tipo=0&semThread=true&idPedido=" + idPedido,
                                         "Pedido " + idPedido + ".pdf"));
                }

                EnviaEmailAsync(session, idLoja, email, "Pedido pronto", texto, EmailEnvio.Comercial, false, anexos.ToArray());
            }
            catch (Exception ex)
            {
                ErroDAO.Instance.InserirFromException("E-mail pedido Pronto", ex);
            }
        }
Beispiel #12
0
        /// <summary>
        /// Verifica se existe um PedidoCorte com o idPedido passado
        /// </summary>
        public bool ExistsByPedido(GDASession session, uint idPedido)
        {
            string sql = "Select count(*) From pedido_corte Where idPedido=" + idPedido;

            return(objPersistence.ExecuteSqlQueryCount(session, sql) > 0);
        }
Beispiel #13
0
        /// <summary>
        /// Busca o PedidoCorte pelo idPedido
        /// </summary>
        public PedidoCorte GetByIdPedido(GDASession session, uint idPedido)
        {
            string sql = "Select * From pedido_corte Where idPedido=" + idPedido;

            return(objPersistence.LoadOneData(session, sql));
        }
Beispiel #14
0
 public void DeleteBySinal(GDASession session, uint idSinalCompra)
 {
     objPersistence.ExecuteCommand(session, "delete from pagto_sinal_compra where idSinalCompra=" + idSinalCompra);
 }
Beispiel #15
0
 /// <summary>
 /// Credita/Debita valor da conta bancária, com referência do ArquivoQuitacaoParcelaCartao
 /// </summary>
 /// <param name="sessao"></param>
 /// <param name="idContaBanco"></param>
 /// <param name="idConta"></param>
 /// <param name="idLoja"></param>
 /// <param name="idArquivoQuitacaoParcelaCartao"></param>
 /// <param name="tipoMov"></param>
 /// <param name="valorMov"></param>
 /// <param name="dataMov"></param>
 /// <returns></returns>
 public uint MovContaContaR(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, int?idArquivoQuitacaoParcelaCartao, int tipoMov, decimal valorMov, DateTime dataMov, string obs)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, null, null, null, null, null, null, null, null, null, null, null, null,
                           null, null, null, null, null, tipoMov, valorMov, 0, dataMov, obs, null, null, null, null, null, idArquivoQuitacaoParcelaCartao, null, false));
 }
        /// <summary>
        /// Busca string contendo beneficiamentos feitos no produtoPedido
        /// </summary>
        /// <param name="session"></param>
        /// <param name="idPedido"></param>
        /// <param name="idProdPed"></param>
        /// <param name="etiqueta"></param>
        /// <returns></returns>
        public string GetDescrBenef(GDASession session, uint?idPedido, uint idProdPed, bool etiqueta)
        {
            string descrBenef = String.Empty;

            // Verifica se essa peça possui beneficiamentos
            if (!PossuiBeneficiamento(session, idProdPed))
            {
                return(String.Empty);
            }

            List <ProdutoPedidoEspelhoBenef> beneficiamentos = objPersistence.LoadData(session, Sql(0, idProdPed, true));

            if (idPedido.GetValueOrDefault(0) == 0)
            {
                idPedido = ProdutosPedidoEspelhoDAO.Instance.ObtemIdPedido(session, idProdPed);
            }

            var isMaoDeObra = PedidoDAO.Instance.IsMaoDeObra(session, idPedido.Value);

            string complAltura = !etiqueta || isMaoDeObra ? "" :
                                 " (" + ProdutosPedidoEspelhoDAO.Instance.ObtemValorCampo <float>(session, "altura", "idProdPed=" + idProdPed) + ")";

            string complLargura = !etiqueta || isMaoDeObra ? "" :
                                  " (" + ProdutosPedidoEspelhoDAO.Instance.ObtemValorCampo <float>(session, "largura", "idProdPed=" + idProdPed) + ")";

            uint idProd = ProdutosPedidoEspelhoDAO.Instance.ObtemValorCampo <uint>(session, "idProd", "idProdPed=" + idProdPed);

            foreach (ProdutoPedidoEspelhoBenef benef in beneficiamentos)
            {
                //Se no cadastro do beneficiamento estiver marcado para não exibir a descrição na etiqueta,
                //pula para o proximo
                if (BenefConfigDAO.Instance.NaoExibirDescrImpEtiqueta(session, benef.IdBenefConfig))
                {
                    continue;
                }

                if (benef.IdBenefConfig == 0)
                {
                    continue;
                }

                if (!Configuracoes.CompraConfig.ExibicaoDescrBenefCustomizada)
                {
                    BenefConfigPreco bcp = BenefConfigPrecoDAO.Instance.GetByIdBenefConfig(session, benef.IdBenefConfig, idProd);

                    var descricao = (benef.Qtd > 0 ? benef.Qtd.ToString() + " " : "") +
                                    (!String.IsNullOrEmpty(bcp.DescricaoBenef) ? bcp.DescricaoBenef : benef.DescrBenef) +
                                    Utils.MontaDescrLapBis(benef.BisAlt, benef.BisLarg, benef.LapAlt, benef.LapLarg, benef.EspBisote, null, null, false);

                    descrBenef += !String.IsNullOrEmpty(descricao) ? descricao + "; " : "";
                }
                else
                {
                    string tempBenef = benef.DescrBenef;
                    if (tempBenef.ToLower().IndexOf("até") > -1)
                    {
                        tempBenef = tempBenef.Substring(0, tempBenef.ToLower().IndexOf("até"));
                        tempBenef = tempBenef.Substring(0, tempBenef.LastIndexOf(" "));
                    }

                    tempBenef += Utils.MontaDescrLapBis(benef.BisAlt, benef.BisLarg, benef.LapAlt, benef.LapLarg, benef.EspBisote, complAltura, complLargura, false);

                    descrBenef += (benef.Qtd > 0 ? benef.Qtd.ToString() + " " : "") + tempBenef.Trim() + "; ";
                }
            }

            return(descrBenef);
        }
Beispiel #17
0
 /// <summary>
 /// Credita/Debita valor da conta bancária
 /// </summary>
 public uint MovContaContaR(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, uint?idPedido, uint?idLiberarPedido, uint?idContaR, uint?idSinal,
                            uint idCliente, int tipoMov, decimal valorMov, decimal juros, DateTime dataMov, string obs)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, idCliente, null, idPedido, idSinal, null, idContaR, null, null, null, null, null, idLiberarPedido,
                           null, null, null, null, null, tipoMov, valorMov, juros, dataMov, obs, null, null, null, null, null, false));
 }
        /// <summary>
        /// Exclui todos os beneficiamentos feitos no produto
        /// </summary>
        /// <param name="idProdPed"></param>
        public void DeleteByProdPed(GDASession sessao, uint idProdPed)
        {
            string sql = "Delete From produto_pedido_espelho_benef Where idProdPed=" + idProdPed;

            objPersistence.ExecuteCommand(sessao, sql);
        }
Beispiel #19
0
 /// <summary>
 /// Credita/Debita valor da conta bancária
 /// </summary>
 public uint MovContaCheque(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, uint?idDeposito, uint idCheque, uint?idCliente, uint?idFornec, int tipoMov, decimal valorMov,
                            DateTime dataMov)
 {
     return(MovContaCheque(sessao, idContaBanco, idConta, idLoja, idDeposito, null, idCheque, idCliente, idFornec, tipoMov, valorMov, dataMov));
 }
 /// <summary>
 /// Busca beneficiamentos feitos no produtoPedido
 /// </summary>
 /// <param name="idProdPed"></param>
 /// <returns></returns>
 public IList <ProdutoPedidoEspelhoBenef> GetByProdutoPedido(GDASession session, uint idProdPed)
 {
     return(objPersistence.LoadData(session, Sql(0, idProdPed, true)).ToList());
 }
Beispiel #21
0
 /// <summary>
 /// Credita/Debita valor da conta bancária
 /// </summary>
 public uint MovContaChequePagto(GDASession sessao, int?idAcertoCheque, uint idContaBanco, uint idConta, int idLoja, uint idCheque,
                                 uint?idPagto, uint idFornec, int tipoMov, decimal valorMov, decimal juros, DateTime dataMov)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, null, idFornec, null, null, null, null, null, null, idCheque, idPagto, null, null, null,
                           null, null, null, null, tipoMov, valorMov, juros, dataMov, null, (uint?)idAcertoCheque, null, null, null, null, false));
 }
 /// <summary>
 /// Verifica se o produto do pedido possui beneficiamento
 /// </summary>
 /// <param name="idProdPed"></param>
 /// <returns></returns>
 public bool PossuiBeneficiamento(GDASession session, uint idProdPed)
 {
     return(ExecuteScalar <bool>(session, "Select Count(*) > 0 From produto_pedido_espelho_benef Where idProdPed=" + idProdPed));
 }
Beispiel #23
0
 /// <summary>
 /// Credita/Debita valor da conta bancária
 /// </summary>
 public uint MovContaCreditoFornecedor(GDASession session, uint idContaBanco, uint idConta, int idLoja, uint idCreditoFornecedor, uint?idContaPg, uint?idFornec, int tipoMov,
                                       decimal valorMov, decimal juros, DateTime dataMov, string obs)
 {
     return(MovimentaConta(session, idContaBanco, idConta, idLoja, null, idFornec, null, null, null, null, null, null, null, null, idContaPg, null, null, null,
                           null, null, null, tipoMov, valorMov, juros, dataMov, obs, null, null, idCreditoFornecedor, null, null, false));
 }
 /// <summary>
 /// Busca string contendo beneficiamentos feitos no produtoPedido
 /// </summary>
 /// <param name="session"></param>
 /// <param name="idProdPed"></param>
 /// <returns></returns>
 public string GetDescrBenef(GDASession session, uint idProdPed)
 {
     return(GetDescrBenef(session, idProdPed, false));
 }
Beispiel #25
0
 /// <summary>
 /// Debita valor da conta bancária
 /// </summary>
 public uint MovContaSaida(GDASession session, uint idContaBanco, uint idConta, int idLoja, int tipoMov, decimal valorMov, DateTime dataMov, string obs)
 {
     return(MovimentaConta(session, idContaBanco, idConta, idLoja, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
                           null, null, tipoMov, valorMov, 0, dataMov, obs, null, null, null, null, null, true));
 }
Beispiel #26
0
 /// <summary>
 /// Deleta os registros da nota
 /// </summary>
 /// <param name="session"></param>
 /// <param name="idNf"></param>
 public void DeleteFromNf(GDASession session, uint idNf)
 {
     objPersistence.ExecuteCommand(session, "DELETE FROM log_movimentacao_nota_fiscal WHERE idNf = " + idNf);
 }
Beispiel #27
0
 /// <summary>
 /// Credita/Debita valor na conta bancária.
 /// </summary>
 public uint MovContaMovFunc(GDASession sessao, uint idContaBanco, uint idConta, int idLoja, uint idCliente, uint?idPedido, uint?idLiberarPedido, int tipoMov, decimal valorMov, DateTime dataMov)
 {
     return(MovimentaConta(sessao, idContaBanco, idConta, idLoja, idCliente, null, idPedido, null, null, null, null, null, null, null, null, idLiberarPedido, null, null, null, null, null,
                           tipoMov, valorMov, 0, dataMov, null, null, null, null, null, null, false));
 }
 public IList <FlagArqMesaPecaProjMod> ObtemPorPecaProjMod(GDASession session, int idPecaProjMod)
 {
     return(objPersistence.LoadData(session, "SELECT * FROM flag_arq_mesa_peca_projeto_modelo where idPecaProjMod=" + idPecaProjMod).ToList());
 }
Beispiel #29
0
 /// <summary>
 /// Credita/Debita valor na conta bancária.
 /// </summary>
 public uint MovContaCartaoNaoIdentificado(GDASession session, uint idContaBanco, uint idConta, int idLoja, uint idCartaoNaoIdentificado, int tipoMov, decimal valorMov, DateTime dataMov)
 {
     return(MovimentaConta(session, idContaBanco, idConta, idLoja, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
                           tipoMov, valorMov, 0, dataMov, null, null, null, null, null, idCartaoNaoIdentificado, null, null, false));
 }
Beispiel #30
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="ExibicaoProdutoStrategy"/>.
 /// </summary>
 /// <param name="sessao">A transação com o banco de dados.</param>
 /// <param name="apiController">O controller que está sendo executado.</param>
 public ExibicaoProdutoStrategy(GDASession sessao, ApiController apiController)
 {
     this.sessao        = sessao;
     this.apiController = apiController;
 }