public IActionResult AgendamentoProcesso2(IFormCollection form) { ViewData["TextoView"] = "Agendamento"; try { // Adicionar o valor total Evento evento = new Evento(); //* Classe Evento, onde as informações vão ser inseridas, nesse método Cliente cliente = new Cliente(); //* Classe Cliente, onde as informações vão ser inseridas, nesse método var linha = HttpContext.Session.GetString("cliente"); //* As informações da primeira tela do agendamento são armazenadas (pelo GetString) na var linha, ou seja, a aquela string inteira (ver no Repository) é inserida nessa nova variavel cliente.Nome = clienteRepository.ExtrairValorDoCampo("nome", linha); //* "nome" se refere ao campo, onde o método ExtrairValorDoCampo irar retirar o valor da linha e ira inserir na classe cliente.Cpf = clienteRepository.ExtrairValorDoCampo("cpf", linha); cliente.Email = clienteRepository.ExtrairValorDoCampo("email", linha); cliente.Telefone = clienteRepository.ExtrairValorDoCampo("telefone", linha); evento.Cliente = cliente; //* Evento contem Cliente (por meio de composição), cliente (que é a classe que contem as informações, e que foi instanciada no começo do método), passa suas informações para Cliente que está contida em Evento evento.NomeEvento = form["nName"]; //* As informações inseridas pelo usuário (no form), vão ser inseridas na classe evento.TipoEvento = form ["nType"]; evento.StatusEvento = form["nStatus"]; var nomePlano = form["nPlan"]; Planos plano = new Planos(nomePlano, planosRepository.ObterPrecoDe(nomePlano)); evento.Planos = plano; evento.NumeroPessoas = form["nNumber"]; DateTime dateAndTime = DateTime.Parse(form["nDate"]); //To be continued evento.DataEvento = dateAndTime.Date; evento.HoraInicio = form["nTimeS"]; evento.HoraTermino = form["nTimeE"]; evento.Descricao = form["nMessage"]; linha = agendamentoRepository.FazerRegistroCSV(evento); //* As informações expecificadas pelo usuario, irão ser escritas em uma string só HttpContext.Session.SetString("evento", linha); //* linha contem as informações do usuario em uma string. Essa string é armazenada no Estado de sessão, assim, preservando a informação return(RedirectToAction("Agendar3")); } catch (Exception e) { System.Console.WriteLine(e.StackTrace); ViewData["NomeView"] = "SucessoErro"; return(View("Erro", new RespostaViewModel("Não foi possível realizar o agendamento corretamente"))); } }