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); } } }
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); }
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); }
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); }
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); }
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); }