public async Task <RetornoControllerViewModel <ExibicaoMensagemViewModel, List <Guid> > > AdicionarCliente(ClienteAdicionarViewModel clienteAdicionar, Guid idOrganizacao) { RetornoControllerViewModel <ExibicaoMensagemViewModel, List <Guid> > retornoController = new RetornoControllerViewModel <ExibicaoMensagemViewModel, List <Guid> >(); var pessoa = await _unitOfWork.GetRepositoryAsync <Pessoa>().GetOne(x => x.Id == clienteAdicionar.IdPessoa && x.Organizacoes.Any(y => y.IdOrganizacao == idOrganizacao && y.IdPessoa == x.Id)); if (pessoa == null) { ExibicaoMensagemViewModel exibicaoMensagem = new ExibicaoMensagemViewModel { Cabecalho = "Pessoa inválida", MensagemCurta = "Pessoa inválida", Detalhes = "Pessoa não foi encontrada.", StatusCode = StatusCodes.Status400BadRequest }; retornoController.ExibicaoMensagem = exibicaoMensagem; return(retornoController); } Cliente cliente = new Cliente() { Nome = clienteAdicionar.Nome, DataCriacao = DateTime.Now, DataEdicao = DateTime.Now, IdOrganizacao = idOrganizacao }; var existeCliente = await _unitOfWork.GetRepositoryAsync <Cliente>().GetOne(x => x.Id == clienteAdicionar.IdCliente && x.IdOrganizacao == idOrganizacao); if (existeCliente == null) { await _unitOfWork.GetRepositoryAsync <Cliente>().Insert(cliente); PessoaCliente pessoaCliente = new PessoaCliente() { Cliente = cliente, Pessoa = pessoa, DataInicio = clienteAdicionar.DataInicio, DataFim = clienteAdicionar.DataFim, Status = true, DataCriacao = DateTime.Now, DataEdicao = DateTime.Now, IdOrganizacao = idOrganizacao }; await _unitOfWork.GetRepositoryAsync <PessoaCliente>().Insert(pessoaCliente); } else { var existeRelacao = await _unitOfWork.GetRepositoryAsync <PessoaCliente>() .GetOne(x => x.IdPessoa == clienteAdicionar.IdPessoa && x.IdCliente == existeCliente.Id && x.IdOrganizacao == idOrganizacao); if (existeRelacao == null) { PessoaCliente pessoaCliente = new PessoaCliente() { Cliente = existeCliente, Pessoa = pessoa, DataInicio = clienteAdicionar.DataInicio, DataFim = clienteAdicionar.DataFim, Status = true, DataCriacao = DateTime.Now, DataEdicao = DateTime.Now, IdOrganizacao = idOrganizacao }; await _unitOfWork.GetRepositoryAsync <PessoaCliente>().Insert(pessoaCliente); await _unitOfWork.SaveAsync(); } else { return(null); } } await _unitOfWork.SaveAsync(); retornoController.Objeto = new List <Guid>() { { pessoa.Id }, { cliente.Id } }; return(retornoController); }
public void recebeCliente(PessoaCliente cliente) { PessoaCliente clienteRecebido = cliente; }