public async Task <ActionResult> UpdateInformacoesParaPagamento(InformacoesParaPagamentoInputModel model)
        {
            if (ModelState.IsValid)
            {
                Session["UpdateInformacoesParaPagamento"] = model;

                try
                {
                    var Id           = (int)Session["UpdateId"];
                    var candidatoDTO = new CandidatoDTO(
                        (InformacoesDeContatoInputModel)Session["UpdateInformacoesDeContato"],
                        (PreferenciasDeTrabalhoInputModel)Session["UpdatePreferenciasDeTrabalho"],
                        (QuestionarioDeHabilidadesInputModel)Session["UpdateQuestionarioDeHabilidades"],
                        (InformacoesParaPagamentoInputModel)Session["UpdateInformacoesParaPagamento"]
                        );

                    RESTClient client = new RESTClient(baseUrl);
                    await client.PutJson <string>($"api/Candidato/{Id}", candidatoDTO);

                    ClearUpdateCandidatoSession();

                    return(View("UpdateConcluido", Id));
                }
                catch
                {
                    return(View(model));
                }
            }
            else
            {
                return(View(model));
            }
        }
        public async Task <ActionResult> Update(int id)
        {
            RESTClient client = new RESTClient(baseUrl);

            var response = await client.Get <CandidatoDTO>($"api/Candidato/{id}");

            Session["UpdateId"] = id;
            Session["UpdateInformacoesDeContato"]      = new InformacoesDeContatoInputModel(response);
            Session["UpdatePreferenciasDeTrabalho"]    = new PreferenciasDeTrabalhoInputModel(response);
            Session["UpdateQuestionarioDeHabilidades"] = new QuestionarioDeHabilidadesInputModel(response);
            Session["UpdateInformacoesParaPagamento"]  = new InformacoesParaPagamentoInputModel(response);

            return(RedirectToAction("UpdateInformacoesDeContato"));
        }
 public CandidatoDTO(InformacoesDeContatoInputModel contato, PreferenciasDeTrabalhoInputModel trabalho, QuestionarioDeHabilidadesInputModel questionario, InformacoesParaPagamentoInputModel pagamento)
 {
     Nome              = contato.Nome;
     Email             = contato.Email;
     Skype             = contato.Skype;
     Telefone          = contato.Telefone;
     TelefoneEWhatsApp = contato.TelefoneEWhatsApp;
     Linkedin          = contato.Linkedin;
     Localizacao       = new CandidatoDTO.LocalizacaoDTO()
     {
         Cidade = contato.Cidade,
         Estado = contato.Estado
     };
     Disponibilidade             = (int)trabalho.Disponibilidade;
     HorarioDeTrabalho           = (int)trabalho.HorarioDeTrabalho;
     PretensaoRemuneracaoPorHora = Decimal.Parse(trabalho.PretensaoRemuneracaoPorHora);
     Conhecimentos = new CandidatoDTO.ConhecimentosDTO()
     {
         Android            = (int)questionario.Android,
         AngularJS          = (int)questionario.AngularJS,
         AspNetMVC          = (int)questionario.AspNetMVC,
         Bootstrap          = (int)questionario.Bootstrap,
         C                  = (int?)questionario.C,
         Cake               = (int?)questionario.Cake,
         CPlusPlus          = (int?)questionario.CPlusPlus,
         CSS                = (int?)questionario.CSS,
         Django             = (int?)questionario.Django,
         HTML               = (int?)questionario.HTML,
         Illustrator        = (int?)questionario.Illustrator,
         Ionic              = (int)questionario.Ionic,
         IOS                = (int)questionario.IOS,
         Java               = (int?)questionario.Java,
         JQuery             = (int)questionario.JQuery,
         LinkCRUDRepository = questionario.LinkCRUDRepository,
         Magento            = (int?)questionario.Magento,
         MySQL              = (int?)questionario.MySQL,
         Outras             = questionario.Outras,
         Photoshop          = (int?)questionario.Photoshop,
         PHP                = (int)questionario.PHP,
         Phyton             = (int?)questionario.Phyton,
         Ruby               = (int?)questionario.Ruby,
         SalesForce         = (int?)questionario.SalesForce,
         SEO                = (int?)questionario.SEO,
         SQLServer          = (int?)questionario.SQLServer,
         Wordpress          = (int)questionario.Wordpress,
     };
     PortifolioURL           = questionario.PortifolioURL;
     InformacaoParaPagamento = new CandidatoDTO.InformacaoParaPagamentoDTO()
     {
         Agencia       = pagamento.Agencia,
         Banco         = pagamento.Banco,
         CPF           = pagamento.CPF,
         NomeTitular   = pagamento.NomeTitular,
         NumeroDaConta = pagamento.NumeroDaConta,
         TipoDeConta   = (int)pagamento.TipoDeConta,
     };
 }