public async Task <IActionResult> Index(SaleViewModel svm) { if (ModelState.IsValid) { Client client = ClientRepository.GetClientByMail(svm.Client.Mail); if (client == null) // cliente não existe { //cadastra svm.Client.Id = Guid.NewGuid().ToString(); //gera id ClientRepository.CreateClient(svm.Client); } else // cliente existe { svm.Client.Id = client.Id;//pega o id para repassar ao banco a referencia } //info que precisa mudar, apenas de teste manual string idJob = Guid.NewGuid().ToString();//id de teste var userObj = await userManager.GetUserAsync(User); string user = userObj.Id; string saleId = Guid.NewGuid().ToString(); //Job sempre vai ser novo, não tem porque checar Job j = new Job(svm.Client.Id, idJob, svm.Job.InstuicaoEnsino, svm.Job.NomeOrientador, svm.Job.Curso, svm.Job.Tema, svm.Job.NumPaginas, svm.Job.Previa_1, svm.Job.Previa_2, svm.Job.Previa_3, svm.Job.DataEntrega, svm.Job.Observacoes); JobRepository.CreateJob(j); Sale s = new Sale(svm.Client.Id, user, idJob, saleId, svm.Sale.Cartao, svm.Sale.Fechamento, svm.Sale.EstagioPagamento, svm.Sale.ValorTotal, svm.Sale.ValorPago); SaleRepository.CreateSale(s); ModelState.Clear(); return(View()); } ModelState.Clear(); return(View()); }