public IActionResult Persistir([FromBody] ClienteServicoPrestadorVM clienteServicoPrestadorVM)
        {
            SqlConnection eacessoConnection = new SqlConnection(_connectionStrings.Value.EacessoConnection);

            eacessoConnection.Open();
            SqlTransaction eacessoTran = eacessoConnection.BeginTransaction();

            if (clienteServicoPrestadorVM.Id == 0)
            {
                var clienteServicoPrestador   = Mapper.Map <ClienteServicoPrestador>(clienteServicoPrestadorVM);
                var clienteServicoPrestadorDB = _clienteServicoPrestadorService.Adicionar(clienteServicoPrestador);
                var prestador = _prestadorService.BuscarPorId(clienteServicoPrestador.IdPrestador);

                clienteServicoPrestador.Ativo = true;
                clienteServicoPrestadorVM.Id  = clienteServicoPrestadorDB.Id;
                //Atualiza Célula Prestador STFCORP
                prestador.IdCelula = clienteServicoPrestador.IdCelula;
                _prestadorService.AtualizarPrestador(prestador);


                if (prestador.CodEacessoLegado != null)
                {
                    _prestadorService.AtualizarEAcesso(prestador.Id, eacessoConnection, eacessoTran);
                }
                _clienteServicoPrestadorService.InserirClienteServicoPrestadorEAcesso(clienteServicoPrestador, eacessoConnection, eacessoTran);
            }
            else
            {
                var clienteServicoPrestador = Mapper.Map <ClienteServicoPrestador>(clienteServicoPrestadorVM);
                _clienteServicoPrestadorService.Atualizar(clienteServicoPrestador);
                var prestador = _prestadorService.BuscarPorId(clienteServicoPrestador.IdPrestador);
                clienteServicoPrestador.Prestador = prestador;
                //Atualiza Célula Prestador
                prestador.IdCelula = clienteServicoPrestador.IdCelula;
                _prestadorService.AtualizarPrestador(prestador);

                if (prestador.CodEacessoLegado != null)
                {
                    _prestadorService.AtualizarEAcesso(prestador.Id, eacessoConnection, eacessoTran);
                    _clienteServicoPrestadorService.AtualizarEAcesso(clienteServicoPrestador, eacessoConnection, eacessoTran);
                }
            }

            eacessoTran.Commit();

            clienteServicoPrestadorVM = Mapper.Map <ClienteServicoPrestadorVM>(_clienteServicoPrestadorService.BuscarPorId(clienteServicoPrestadorVM.Id));

            return(Ok(clienteServicoPrestadorVM));
        }
        public void ReajustarContrato(ReajusteContrato reajusteContrato)
        {
            reajusteContrato.DataInclusao = DateTime.Now;
            reajusteContrato.Situacao     = SharedEnuns.SituacoesReajusteContrato.AguardandoAprovacaoBP.GetHashCode();

            var prestador = _prestadorService.BuscarPorId(reajusteContrato.IdPrestador);

            // enviar emails

            EnviarEmailReajuste(reajusteContrato, prestador);
            CriarBroadcastReajuste(reajusteContrato);

            _reajusteContratoRepository.AdicionarComLog(reajusteContrato);

            _unitOfWork.Commit();
        }
        public IActionResult Persistir([FromBody] EmpresaVM empresaVM)
        {
            if (empresaVM.Id == 0)
            {
                var empresaPrestador = Mapper.Map <EmpresaPrestador>(empresaVM);
                empresaPrestador.Empresa.Usuario = _variables.UsuarioToken;
                empresaPrestador.Empresa.Ativo   = true;
                var empresaDB = _empresaPrestadorService.Adicionar(empresaPrestador);
                empresaVM.Id         = empresaDB.Id;
                empresaVM.IdEndereco = empresaDB.IdEndereco;
                var empresa   = Mapper.Map <Empresa>(empresaVM);
                var prestador = _prestadorService.BuscarPorId(empresaVM.IdPrestador);
                _empresaService.AdicionarEmpresaDoPrestadorEAcesso(empresa, prestador.CodEacessoLegado.Value, prestador);
            }
            else
            {
                var empresa = Mapper.Map <Empresa>(empresaVM);
                CriarVinculoEmpresaPrestador(empresaVM, empresa);
                _empresaService.AtualizarEmpresaPrestador(empresa);
                _empresaService.AtualizarEmpresaDoPrestadorEAcesso(empresa, empresaVM.IdPrestador);
            }

            IntegrarComRM(empresaVM);

            empresaVM = Mapper.Map <EmpresaVM>(_empresaService.BuscarPorId(empresaVM.Id));

            return(Ok(empresaVM));
        }
Esempio n. 4
0
        public IActionResult BuscarPorId([FromRoute] int id)
        {
            var resultBD = _prestadorService.BuscarPorId(id);

            foreach (var valorPrestador in resultBD.ValoresPrestador)
            {
                valorPrestador.PermiteExcluir = _valorPrestadorService.ValidaExcluir(valorPrestador);
            }

            var resultVM = Mapper.Map <PrestadorVM>(resultBD);

            resultVM.ObservacoesPrestador = Mapper.Map <List <ObservacaoPrestadorVM> >(resultBD.ObservacoesPrestador);

            resultVM.Empresas           = resultVM.Empresas.OrderByDescending(x => x.Ativo).ThenBy(x => x.DataVigencia).ToList();
            resultVM.ContratosPrestador = resultVM.ContratosPrestador.OrderBy(x => x.Id).ToList();

            DadosFinanceiroDto dadosFinanceiroDto = ObterEmpresa(resultBD);

            if (dadosFinanceiroDto != null)
            {
                ObterDadosFinceriroRM(resultVM, dadosFinanceiroDto);
            }


            var tiposDeDocumentoPrestador = _dominioService.BuscarDominios(SharedEnuns.TipoDocumentoPrestador.VL_TIPO_DOMINIO.GetDescription());

            resultVM.DocumentosPrestador = resultVM.DocumentosPrestador.Select(x =>
                                                                               new DocumentoPrestadorVM
            {
                Id                       = x.Id,
                IdPrestador              = x.IdPrestador,
                CaminhoDocumento         = x.CaminhoDocumento,
                DescricaoTipoOutros      = x.DescricaoTipoOutros,
                NomeAnexo                = x.NomeAnexo,
                Tipo                     = tiposDeDocumentoPrestador?.FirstOrDefault(d => d.Id.Equals(x.IdTipoDocumentoPrestador))?.DescricaoValor ?? "",
                IdTipoDocumentoPrestador = x.IdTipoDocumentoPrestador,
                DataAlteracao            = x.DataAlteracao,
                Usuario                  = x.Usuario
            }).ToList();



            return(Ok(new { dados = resultVM, notifications = "", success = true }));
        }
Esempio n. 5
0
        public void Inativar(int idClienteServicoPrestador)
        {
            var result = _clienteServicoPrestadorRepository.BuscarPorId(idClienteServicoPrestador);

            result.Ativo = false;
            _clienteServicoPrestadorRepository.Update(result);
            _unitOfWork.Commit();
            var prestador = _prestadorService.BuscarPorId(result.IdPrestador);

            result.Prestador = prestador;
            var connectionStringEAcesso = _connectionStrings.Value.EacessoConnection;

            using (IDbConnection dbConnection = new SqlConnection(connectionStringEAcesso))
            {
                dbConnection.Open();
                var tran = dbConnection.BeginTransaction();
                var idClienteServicoEacesso = AtualizarClienteServicoPrestadorEAcesso(result, dbConnection, tran);
                tran.Commit();
            }
        }
        public void AtualizarEmpresaDoPrestadorEAcesso(Empresa empresa, int idPrestadorEacesso)
        {
            var connectionStringEAcesso = _connectionStrings.Value.EacessoConnection;

            using (IDbConnection dbConnection = new SqlConnection(connectionStringEAcesso))
            {
                dbConnection.Open();
                var tran = dbConnection.BeginTransaction();
                try
                {
                    var nomeCidade    = _cidadeService.BuscarPorId(empresa.Endereco.IdCidade.Value);
                    var idCidade      = _prestadorService.ObterCidadeEmpresaEAcesso(nomeCidade.NmCidade, dbConnection, tran);
                    var prestador     = _prestadorService.BuscarPorId(idPrestadorEacesso);
                    var erpExternoStr = " ";
                    if (empresa.IdEmpresaRm != null)
                    {
                        erpExternoStr = ",ErpExterno = " + empresa.IdEmpresaRm;
                    }

                    var query = @"UPDATE stfcorp.tblprofissionaisempresas SET" +
                                " RazaoSocial = '" + empresa.RazaoSocial + "'" +
                                ",AbrevLogradouro = '" + empresa.Endereco.SgAbrevLogradouro + "'" +
                                ",Endereco = '" + empresa.Endereco.NmEndereco + "'" +
                                ",Num = " + empresa.Endereco.NrEndereco +
                                ",Complemento = '" + empresa.Endereco.NmCompEndereco + "'" +
                                ",Bairro = '" + empresa.Endereco.NmBairro + "'" +
                                ",CEP = " + empresa.Endereco.NrCep +
                                ",IdCidade = " + idCidade +
                                ",CNPJ = " + empresa.Cnpj +
                                ",InscEst = '" + empresa.InscricaoEstadual + "'" +
                                ",Obs = '" + empresa.Observacao + "'" +
                                ",Atuacao = '" + empresa.Atuacao + "'" +
                                ",Inativo = " + (empresa.Ativo ? 0 : 1) +
                                ",DtVigencia = @DtVigencia" +
                                ",DtAlteracao = @DtAlteracao " +
                                erpExternoStr + //",ErpExterno = " + empresa.IdEmpresaRm +
                                " WHERE IdProfissional = " + prestador.CodEacessoLegado + "AND Inativo = " + 0;

                    dbConnection.Execute(query, new { DtVigencia = empresa.DataVigencia, DtAlteracao = DateTime.Now }, transaction: tran);
                    tran.Commit();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    throw ex;
                }
            }
        }