예제 #1
0
 private void VerificarStatusTransferencia(TransferenciaPrestador transferenciaPrestador, Prestador prestador)
 {
     if (prestador.IdCelula != transferenciaPrestador.IdCelula.GetValueOrDefault())
     {
         EnviarEmailTransferencia(transferenciaPrestador, prestador);
         transferenciaPrestador.Situacao = SituacoesTransferenciaEnum.AguardandoAprovacao.GetHashCode();
         if (prestador.IdSituacao == transferenciaPrestador.Situacao)
         {
             AddLogTransferencia(SituacoesTransferenciaEnum.SolicitacaoEditada, transferenciaPrestador.Id, string.Empty);
         }
         else
         {
             AddLogTransferencia(SituacoesTransferenciaEnum.AguardandoAprovacao, transferenciaPrestador.Id, string.Empty);
         }
     }
     else
     {
         transferenciaPrestador.Situacao = SituacoesTransferenciaEnum.Aprovado.GetHashCode();
         var teste = ObterLogsTransferencia(transferenciaPrestador.Id).OrderBy(x => x.DataAlteracao).LastOrDefault();
         if (prestador.IdSituacao == transferenciaPrestador.Situacao)
         {
             AddLogTransferencia(SituacoesTransferenciaEnum.SolicitacaoEditada, transferenciaPrestador.Id, string.Empty);
         }
         else
         {
             AddLogTransferencia(SituacoesTransferenciaEnum.Aprovado, transferenciaPrestador.Id, string.Empty);
         }
     }
 }
예제 #2
0
        private string ValidarTransferencia(TransferenciaPrestador transferenciaPrestador, Prestador prestador)
        {
            if (prestador == null)
            {
                return("Prestador não encontrado.");
            }

            if (prestador.IdEmpresaGrupo != transferenciaPrestador.IdEmpresaGrupo &&
                prestador.IdEmpresaGrupo.GetValueOrDefault().VerificarEmpresaNaoPodeTransferir())
            {
                return("TRANSFERENCIA_COLIGADA_INVALIDA");
            }

            return(string.Empty);
        }
예제 #3
0
        public string AtualizarTransferenciaPrestador(TransferenciaPrestador transferenciaPrestador)
        {
            var prestador = _prestadorRepository.ObterPrestadorParaTransferencia(transferenciaPrestador.IdPrestador);

            var validacao = ValidarTransferencia(transferenciaPrestador, prestador);

            if (!string.IsNullOrEmpty(validacao))
            {
                return(validacao);
            }

            VerificarStatusTransferencia(transferenciaPrestador, prestador);
            AddLogTransferencia(SituacoesTransferenciaEnum.SolicitacaoEditada, transferenciaPrestador.Id, string.Empty);

            _transferenciaPrestadorRepository.Update(transferenciaPrestador);

            _unitOfWork.Commit();

            return(string.Empty);
        }
예제 #4
0
        private void EnviarEmailTransferencia(TransferenciaPrestador transferenciaPrestador, Prestador prestador)
        {
            var empresaGrupo =
                _empresaGrupoService.BuscarNoRMPorId(transferenciaPrestador.IdEmpresaGrupo.GetValueOrDefault());

            var filial = _filialService.BuscarFilialNoRm(transferenciaPrestador.IdFilial.GetValueOrDefault(),
                                                         transferenciaPrestador.IdEmpresaGrupo.GetValueOrDefault());

            var cliente = _prestadorRepository.ObterClienteAtivoPorIdCelulaEAcesso(
                transferenciaPrestador.IdCelula.GetValueOrDefault(),
                transferenciaPrestador.IdCliente.GetValueOrDefault());

            var servico = ObterServicoPorId(transferenciaPrestador.IdServico.GetValueOrDefault());

            var localTrabalho = _prestadorRepository.ObterLocalTrabalhoPorId(
                transferenciaPrestador.IdLocalTrabalho.GetValueOrDefault(),
                transferenciaPrestador.IdCliente.GetValueOrDefault());

            if (empresaGrupo == null || filial == null || cliente == null || servico == null || localTrabalho == null)
            {
                return;
            }

            var parametros = DefinirParametrosEmail(transferenciaPrestador, prestador, empresaGrupo.Descricao,
                                                    filial.Descricao, cliente.Descricao, servico.Descricao, localTrabalho.Descricao);

            var email = new EmailDTO
            {
                IdTemplate       = 9,
                RemetenteNome    = "Gestão de Transferências",
                Para             = ObterDestinatarioEmail(prestador.Celula.EmailResponsavel),
                ValoresParametro = parametros
            };

            EnviarEmail(email);
        }
예제 #5
0
        private ClienteServicoPrestador CriarNovoParaCspParaTransferenciaDePrestador(ClienteServicoPrestador cspAnterior, TransferenciaPrestador transf)
        {
            var novoClienteServicoPrestador = cspAnterior.Clone();

            novoClienteServicoPrestador.Prestador       = null;
            novoClienteServicoPrestador.Id              = 0;
            novoClienteServicoPrestador.Ativo           = true;
            novoClienteServicoPrestador.IdCelula        = (int)transf.IdCelula;
            novoClienteServicoPrestador.IdCliente       = (int)transf.IdCliente;
            novoClienteServicoPrestador.IdServico       = (int)transf.IdServico;
            novoClienteServicoPrestador.IdLocalTrabalho = (int)transf.IdLocalTrabalho;
            novoClienteServicoPrestador.DataAlteracao   = DateTime.Now;
            novoClienteServicoPrestador.Usuario         = "STFCORP";
            return(novoClienteServicoPrestador);
        }
예제 #6
0
        private IEnumerable <ValorParametroEmailDTO> DefinirParametrosEmail(
            TransferenciaPrestador transferenciaPrestador, Prestador prestador, string empresaGrupo, string filial,
            string cliente, string servico, string localTrabalho)
        {
            var parametros = new List <ValorParametroEmailDTO>();

            var parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[NOMEPROFISSIONAL]",
                ParametroValor = prestador.Pessoa.Nome
            };

            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[DATADODIA]",
                ParametroValor = transferenciaPrestador.DataTransferencia.ToString("dd/MM/yyyy")
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[CELULAORIGEM]",
                ParametroValor = prestador.IdCelula.ToString()
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[EMPRESAGRUPO]",
                ParametroValor = empresaGrupo
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[FILIAL]",
                ParametroValor = filial
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[CELULADESTINO]",
                ParametroValor = transferenciaPrestador.IdCelula.ToString()
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[CLIENTE]",
                ParametroValor = cliente
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[SERVICO]",
                ParametroValor = servico
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[LOCALDETRABALHO]",
                ParametroValor = localTrabalho
            };
            parametros.Add(parametro);

            parametro = new ValorParametroEmailDTO
            {
                ParametroNome  = "[LINK]",
                ParametroValor = ObterLinkAprovacaoTransferencia()
            };
            parametros.Add(parametro);

            return(parametros);
        }