Ejemplo n.º 1
0
        public ActionResult Create(Usuario usuario)
        {
            if (ModelState.IsValid)
            {
                db.Usuarios.Add(usuario);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(usuario);
        }
Ejemplo n.º 2
0
 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;
     }
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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");
        }
Ejemplo n.º 5
0
        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");
        }