public ActionResult Login(TAB_Usuario login, string returnUrl) { if (ModelState.IsValid) { using (PortalEntities2 db = new PortalEntities2()) { var vLogin = db.TAB_Usuario.Where(p => p.Nome.Equals(login.Nome)).FirstOrDefault(); /*Verificar se a variavel vLogin está vazia. * Isso pode ocorrer caso o usuário não existe. * Caso não exista ele vai cair na condição else.*/ if (vLogin != null) { /*Código abaixo verifica se a senha digitada no site é igual a * senha que está sendo retornada * do banco. Caso não cai direto no else*/ if (Equals(vLogin.Senha, login.Senha)) { FormsAuthentication.SetAuthCookie(vLogin.Nome, false); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && returnUrl.StartsWith("/\\")) { return(Redirect(returnUrl)); } /*código abaixo cria uma session para armazenar o nome do usuário*/ Session["Nome"] = vLogin.Nome; Session["Id"] = vLogin.Id; /*retorna para a tela inicial do Home*/ var questionario = db.Tab_Questionario.Where(x => x.UsuarioId == vLogin.Id).Count(); if (questionario > 0) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Index", "Questionario")); } } /*Else responsável da validação da senha*/ else { /*Escreve na tela a mensagem de erro informada*/ ModelState.AddModelError("", "Senha informada Inválida."); /*Retorna a tela de login*/ return(View(new TAB_Usuario())); } } /*Else responsável por verificar se o usuário existe*/ else { /*Escreve na tela a mensagem de erro informada*/ ModelState.AddModelError("", "Nome informado inválido."); /*Retorna a tela de login*/ return(View(new TAB_Usuario())); } } } /*Caso os campos não esteja de acordo com a solicitação retorna a tela de login * com as mensagem dos campos*/ return(View(login)); }
public ActionResult resposta(int correto, char Alfabeto0, char Alfabeto1, char Alfabeto2, string resposta, int pergunta) { //instancia o model Questionario q = new Questionario(); q.UrlImgNormal = new List <string>(); q.Alfabeto = new List <char>(); q.Alfabeto.Add(Alfabeto0); q.Alfabeto.Add(Alfabeto1); q.Alfabeto.Add(Alfabeto2); q.correto = correto; q.pergunta = pergunta; //monta o caminho das imagens indicando a certa ou errada foreach (char c in q.Alfabeto) { if (c.ToString().Equals(q.Alfabeto[q.correto].ToString())) { q.UrlImgNormal.Add("~/IMG/Acerto/" + c.ToString().ToLower() + ".png"); } else { q.UrlImgNormal.Add("~/IMG/Errada/" + c.ToString().ToLower() + ".png"); } } //salva os acertos no banco using (PortalEntities2 db = new PortalEntities2()) { if (pergunta == 1) { Tab_Questionario questionario = new Tab_Questionario(); questionario.UsuarioId = (int)Session["Id"]; if (q.Alfabeto[correto].ToString().Equals(resposta)) { questionario.Acertos = 1; } else { questionario.Acertos = 0; } db.Tab_Questionario.Add(questionario); db.SaveChanges(); Tab_QuestionarioLetras letras = new Tab_QuestionarioLetras(); letras.Correta = q.Alfabeto[correto].ToString(); letras.Resposta = resposta; letras.Questionario = questionario.Id; db.Tab_QuestionarioLetras.Add(letras); db.SaveChanges(); } else { Tab_Questionario questionario = db.Tab_Questionario.OrderByDescending(x => x.Id).FirstOrDefault(); if (q.Alfabeto[correto].ToString().Equals(resposta)) { questionario.Acertos++; db.SaveChanges(); } Tab_QuestionarioLetras letras = new Tab_QuestionarioLetras(); letras.Correta = q.Alfabeto[correto].ToString(); letras.Resposta = resposta; letras.Questionario = questionario.Id; db.Tab_QuestionarioLetras.Add(letras); db.SaveChanges(); } } return(View(q)); }