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(); }
public ClienteServicoPrestador Adicionar(ClienteServicoPrestador clienteServicoPrestador) { _clienteServicoPrestadorRepository.Adicionar(clienteServicoPrestador); _unitOfWork.Commit(); return(clienteServicoPrestador); }