public ActionResult Create(Usuario usuario) { if (ModelState.IsValid) { db.Usuarios.Add(usuario); db.SaveChanges(); return RedirectToAction("Index"); } return View(usuario); }
public void CurrentUser() { if (Session["fb_uid"] != null) { Int64 fb_uid = Int64.Parse(Session["fb_uid"].ToString()); Usuario _current_user = Usuario.findByFacebookId(fb_uid); if (_current_user != null) { ViewBag.CurrentUser = _current_user; current_user = _current_user; } else { current_user = null; ViewBag.CurrentUser = null; } } else { current_user = null; ViewBag.CurrentUser = null; } }
public ActionResult UploadImage(UploadImageModel model) { CurrentUser(); string s = current_user.first_name; if (ModelState.IsValid) { var errorField = "File"; var name = Path.GetFileNameWithoutExtension(model.File.FileName); Bitmap original = Bitmap.FromStream(model.File.InputStream) as Bitmap; if (original != null) { var img = CreateImage(original, model.X, model.Y, model.Width, model.Height); string userid = current_user.fbId.ToString(); var fn = Server.MapPath("~/Content/images/" + userid + "foto.png"); img.Save(fn, System.Drawing.Imaging.ImageFormat.Png); Usuario actual = new Usuario(); actual = db.Usuarios.Find(current_user.ID); actual.FotoPath = "~/Content/images/" + userid + "foto.png"; db.SaveChanges(); return RedirectToAction("Details/" + current_user.ID, "Usuario"); } else ModelState.AddModelError(errorField, "Carga no válida. Por favor inténtelo de nuevo con un archivo válido"); } return View(model); }
public ActionResult FacebookLogin() { //FacebookWebContext fbWebContext = new FacebookWebContext(); ////Check if user auhtenticated //bool IsAuthenticated = fbWebContext.IsAuthenticated(); NameValueCollection nvc = Request.Form; string accessToken = "accesstokenNotGiven"; string uid = "-1"; if (!string.IsNullOrEmpty(nvc["accesstoken"]) && !string.IsNullOrEmpty(nvc["fbid"])) { accessToken = nvc["accesstoken"]; uid = nvc["fbid"]; var client = new FacebookClient(accessToken); Usuario existing_user = Usuario.findByFacebookId(Int64.Parse(uid)); if(existing_user != null) { switch (existing_user.username) { case "sharonmotles": existing_user.admin = true; break; case "yaniv.goldfrid": existing_user.admin = true; break; case "jmvalenzuelad": existing_user.admin = true; break; case "tomiduss": existing_user.admin = true; break; default: existing_user.admin = false; break; } Usuario actual = new Usuario(); actual = db.Usuarios.Find(existing_user.ID); actual.admin = existing_user.admin; db.SaveChanges(); Session["fb_uid"] = uid; Session["fb_accessToken"] = accessToken; Session["user_id"] = existing_user.ID; return RedirectToAction("Index", "Home"); } //Si llego hasta aca es porque no hay usuario en la base de datos dynamic user = client.Get(uid); //Lo creo Usuario nuevoUsuario = new Usuario(); nuevoUsuario.first_name = user.first_name; nuevoUsuario.last_name = user.last_name; nuevoUsuario.username = user.username; nuevoUsuario.gender = user.gender; nuevoUsuario.email = user.email; nuevoUsuario.fbId = Int64.Parse(uid); nuevoUsuario.accessToken = accessToken; nuevoUsuario.FotoPath = "~/Content/images/profile_pic.jpg"; nuevoUsuario.entrenador = false; switch (nuevoUsuario.username) { case "sharonmotles" : nuevoUsuario.admin = true; break; case "yaniv.goldfrid": nuevoUsuario.admin = true; break; case "jmvalenzuelad": nuevoUsuario.admin = true; break; case "tomiduss": nuevoUsuario.admin = true; break; default: nuevoUsuario.admin = false; break; } //Lo guardo en la base de datos (No llego hasta aqui mi codigo pero quizas haya un problema tb) db.Usuarios.Add(nuevoUsuario); db.SaveChanges(); //Inicio sesion del usuario Session["fb_uid"] = uid; Session["fb_accessToken"] = accessToken; Session["user_id"] = nuevoUsuario.ID; TempData["fullname"] = (string)nuevoUsuario.first_name + " " + (string)nuevoUsuario.last_name; return RedirectToAction("Index", "Home"); } ////una vez hecho todo, se redirige a la pagina principal return RedirectToAction("Index", "Listas"); }
public ActionResult Edit(Usuario usuario) { CurrentUser(); if (current_user.ID == usuario.ID) { if (ModelState.IsValid) { db.Entry(usuario).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Details/" + current_user.ID, "Usuario"); } return View(usuario); } return RedirectToAction("LogOn"); }