Ejemplo n.º 1
0
        public void EfetivarTransferenciasDePrestadoresJob()
        {
            var transfsParaEfetivar = _transferenciaPrestadorRepository.Buscar(x => x.Situacao == SituacoesTransferenciaEnum.Aprovado.GetHashCode() &&
                                                                               x.DataTransferencia.Date <= DateTime.Now.Date).ToList();

            var idPrestadores          = transfsParaEfetivar.Select(x => x.IdPrestador).Distinct();
            var prestadoresParaAlterar = _prestadorRepository.ObterPrestadoresParaTransferencia(idPrestadores.ToArray());

            foreach (var p in prestadoresParaAlterar)
            {
                var transfDoPrestador       = transfsParaEfetivar.LastOrDefault(x => x.IdPrestador == p.Id);
                var clienteServicoPrestador = p.ClientesServicosPrestador.FirstOrDefault();

                p.IdEmpresaGrupo = transfDoPrestador.IdEmpresaGrupo;
                p.IdFilial       = (int)transfDoPrestador.IdFilial;
                p.IdCelula       = (int)transfDoPrestador.IdCelula;
                p.DataAlteracao  = DateTime.Now;
                p.Usuario        = "STFCORP";

                if (transfDoPrestador.IdCelula != clienteServicoPrestador.IdCelula ||
                    transfDoPrestador.IdCliente != clienteServicoPrestador.IdCliente ||
                    transfDoPrestador.IdServico != clienteServicoPrestador.IdServico)
                {
                    clienteServicoPrestador.Ativo = false;
                    var novoClienteServicoPrestador = CriarNovoParaCspParaTransferenciaDePrestador(clienteServicoPrestador, transfDoPrestador);
                    _clienteServicoPrestadorRepository.Update(clienteServicoPrestador);
                    _clienteServicoPrestadorRepository.Adicionar(novoClienteServicoPrestador);
                }
                else
                {
                    clienteServicoPrestador.IdLocalTrabalho = (int)transfDoPrestador.IdLocalTrabalho;
                }

                transfDoPrestador.Situacao = SituacoesTransferenciaEnum.Efetivado.GetHashCode();
                _clienteServicoPrestadorRepository.Update(clienteServicoPrestador);
                _prestadorRepository.Update(p);
                _transferenciaPrestadorRepository.Update(transfDoPrestador);
            }
            _unitOfWork.Commit();
        }
Ejemplo n.º 2
0
 public ClienteServicoPrestador Atualizar(ClienteServicoPrestador clienteServicoPrestador)
 {
     _clienteServicoPrestadorRepository.Update(clienteServicoPrestador);
     _unitOfWork.Commit();
     return(clienteServicoPrestador);
 }