Пример #1
0
 public ActionResult AddService(string action, string reaction)
 {
     Debug.WriteLine("Oui");
     Token = "";
     try
     {
         using (AreaEntities db = new AreaEntities())
         {
             if (Session["Email"] == null)
             {
                 return(Json(new { success = false }));
             }
             string Email = Session["Email"].ToString();
             int    user  = db.users.Where(m => m.Email == Email).FirstOrDefault().Id;
             action elem  = new action()
             {
                 Action1        = action,
                 Reaction       = reaction,
                 Date           = DateTime.Now,
                 Id_user        = user,
                 Last_elem      = "null",
                 Token_facebook = db.users.Where(m => m.Id == user).FirstOrDefault().Token_facebook
             };
             db.actions.Add(elem);
             db.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return(Json(new { success = true }));
 }
Пример #2
0
        private void OnEntityBuilt(Planner planner, GameObject gameObject)
        {
            BaseEntity e      = gameObject.ToBaseEntity();
            BasePlayer player = planner.GetOwnerPlayer();

            if (!(e is BaseEntity) || player == null)
            {
                return;
            }
            int id = MAData.PlayerData[player.userID].iInArea;

            if (PlayerExists(player) && id != -1 && MagicAreaExists(id))
            {
                if (MAData.Areas[id].bRemoveEntities && MAData.Areas[id].iEntityExpire != 0)
                {
                    AreaEntities Area = new AreaEntities();
                    Area.iAreaID    = id;
                    Area.iCreated   = UnixTimeStampUTC();
                    Area.iExpire    = Area.iCreated + MAData.Areas[id].iEntityExpire;
                    Area.iID        = (uint)e.net.ID;
                    Area.uCreatorID = player.userID;
                    MAData.Entities.Add(Area.iID, Area);
                    if (Convert.ToBoolean(Config["Settings", "Debug"]))
                    {
                        string parsed_config = GetMessage("EntityExpiry", player.UserIDString);
                        parsed_config = parsed_config.Replace("{expire_time}", UnixTimeStampToDateTime(Area.iExpire).ToLongTimeString());
                        parsed_config = parsed_config.Replace("{current_time}", UnixTimeStampToDateTime(UnixTimeStampUTC()).ToLongTimeString());
                        PrintToChat(player, parsed_config);
                    }
                }
            }
        }
Пример #3
0
        public async Task <ActionResult> Register(VerifyRegister elem)
        {
            if (ModelState.IsValid)
            {
                using (AreaEntities db = new AreaEntities())
                {
                    var tmp = await db.users.Where(m => m.Email == elem.Email).FirstOrDefaultAsync();

                    if (tmp != null)
                    {
                        ModelState.AddModelError("", "This Email is already taken.");
                        return(View(elem));
                    }
                    user ToAdd = new user()
                    {
                        Email    = elem.Email,
                        Name     = elem.Name,
                        Password = elem.Password
                    };
                    db.users.Add(ToAdd);
                    await db.SaveChangesAsync();

                    Session["Username"] = elem.Name;
                    Session["Email"]    = elem.Email;

                    FormsAuthentication.SetAuthCookie(elem.Email, false);
                    return(Redirect("/"));
                }
            }
            return(View(elem));
        }
Пример #4
0
 public String DeleteService(string id)
 {
     try
     {
         int id_service = Int32.Parse(id);
         using (AreaEntities db = new AreaEntities())
         {
             if (Session["Email"] == null)
             {
                 return("Error");
             }
             string Email   = Session["Email"].ToString();
             var    service = db.actions.Where(m => m.Id == id_service).FirstOrDefault();
             if (service.Equals(null))
             {
                 return("error");
             }
             else
             {
                 db.actions.Attach(service);
                 db.actions.Remove(service);
                 db.SaveChanges();
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return("success");
 }
Пример #5
0
        public string GetServices()
        {
            string result;
            JavaScriptSerializer jss = new JavaScriptSerializer();

            try
            {
                using (AreaEntities db = new AreaEntities())
                {
                    if (Session["Email"] == null)
                    {
                        return("Error");
                    }
                    string Email    = Session["Email"].ToString();
                    int    user     = db.users.Where(m => m.Email == Email).FirstOrDefault().Id;
                    var    services = db.actions.Where(m => m.Id_user == user).ToList();
                    result = jss.Serialize(services);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
        public async Task <int> RunAll()
        {
            using (AreaEntities db = new AreaEntities())
            {
                string token   = null;
                var    actions = await db.actions.ToListAsync();

                if (actions.Count > 0)
                {
                    Debug.WriteLine("actions.Count = " + actions.Count);
                    foreach (var a in actions)
                    {
                        Dictionary <string, List <string> > addArgument = new Dictionary <string, List <string> >();

                        if (a.Token_facebook != "" && a.Action1 != "" && a.Reaction != "")
                        {
                            Debug.WriteLine("HELLO");
                            try
                            {
                                RunOne(a);
                            }
                            catch (Exception e)
                            {
                                Console.WriteLine("Exception : " + e.Message);
                            }
                        }
                    }
                }
            }
            await Task.Delay(5000);

            RunAll();
            return(0);
        }
Пример #7
0
        public async Task <ActionResult> FacebookCallback(string code)
        {
            var     fb     = new Facebook.FacebookClient();
            dynamic result = await fb.PostTaskAsync("oauth/access_token",
                                                    new
            {
                client_id     = "<Your application ID>",
                client_secret = "<Your Application password>",
                redirect_uri  = RedirectUri.AbsoluteUri,
                code          = code
            });

            var accessToken = result.access_token;

            Session["FacebookToken"] = accessToken;
            fb.AccessToken           = accessToken;
            dynamic me = await fb.GetTaskAsync("me?fields=link,first_name,currency,last_name,email,gender,locale,timezone,verified,picture,age_range");

            string _Email = me.email;
            string _Name  = me.first_name + " " + me.last_name;

            using (AreaEntities db = new AreaEntities())
            {
                // If user exists log him.
                var tmp = await db.users.Where(m => m.Email == _Email).FirstOrDefaultAsync();

                if (tmp != null)
                {
                    Session["Username"] = _Name;
                    Session["Email"]    = _Email;
                    db.users.Attach(tmp);
                    tmp.Token_facebook  = accessToken;
                    db.Entry(tmp).State = EntityState.Modified;
                    db.SaveChanges();
                    FormsAuthentication.SetAuthCookie(_Email, false);
                    return(RedirectToAction("Index", "Home"));
                }
                // If user doesn't exists, add it to the database with a default password.
                else
                {
                    user ToAdd = new user()
                    {
                        Email          = _Email,
                        Name           = _Name,
                        Password       = "",
                        Token_facebook = accessToken
                    };
                    db.users.Add(ToAdd);
                    await db.SaveChangesAsync();

                    Session["Username"] = _Name;
                    Session["Email"]    = _Email;
                    FormsAuthentication.SetAuthCookie(_Email, false);
                    return(RedirectToAction("Index", "Home"));
                }
            }
        }
Пример #8
0
 public void AddUser(user ToTest)
 {
     using (AreaEntities db = new AreaEntities())
     {
         user tmp = new user {
             Id = 1
         };
         db.users.Add(tmp);
         db.SaveChanges();
     }
 }
Пример #9
0
 public static bool SaveLast(action tab, string arg)
 {
     using (AreaEntities db = new AreaEntities())
     {
         var elem = db.actions.Where(m => m.Id == tab.Id).FirstOrDefault();
         db.actions.Attach(elem);
         if (elem.Last_elem.Equals(arg))
         {
             return(false);
         }
         elem.Last_elem       = arg;
         db.Entry(elem).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
     }
     return(true);
 }
Пример #10
0
        public async Task <ActionResult> Index(VerifyLogin elem)
        {
            if (ModelState.IsValid)
            {
                using (AreaEntities db = new AreaEntities())
                {
                    var UserValid = db.users.Any(data => data.Email == elem.Email && data.Password == elem.Password);
                    if (UserValid)
                    {
                        FormsAuthentication.SetAuthCookie(elem.Email, false);
                        var tmp = await db.users.Where(m => m.Email == elem.Email).FirstOrDefaultAsync();

                        Session["Username"] = tmp.Name;
                        Session["Email"]    = tmp.Email;
                        return(Redirect("/"));
                    }
                }
            }
            return(View(elem));
        }
Пример #11
0
        public async Task <ActionResult> ExternalLoginCallback(string returnUrl)
        {
            string ProviderName = OpenAuth.GetProviderNameFromCurrentRequest();

            if (ProviderName == null || ProviderName == "")
            {
                NameValueCollection nvs = Request.QueryString;
                if (nvs.Count > 0)
                {
                    if (nvs["state"] != null)
                    {
                        NameValueCollection provideritem = HttpUtility.ParseQueryString(nvs["state"]);
                        if (provideritem["__provider__"] != null)
                        {
                            ProviderName = provideritem["__provider__"];
                        }
                    }
                }
            }
            GoogleOAuth2Client.RewriteRequest();
            var redirectUrl = Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl });
            var retUrl      = returnUrl;
            var authResult  = OpenAuth.VerifyAuthentication(redirectUrl);

            if (!authResult.IsSuccessful)
            {
                return(Redirect(Url.Action("Index", "Login")));
            }

            // Check if user is already registered locally
            string Email = null;

            if (Email == null && authResult.ExtraData.ContainsKey("email"))
            {
                Email = authResult.ExtraData["email"];
            }
            using (AreaEntities db = new AreaEntities())
            {
                if (db.users.Any(m => m.Email == Email))
                {
                    var tmp = await db.users.Where(m => m.Email == Email).FirstOrDefaultAsync();

                    Session["Username"] = tmp.Name;
                    Session["Email"]    = tmp.Email;
                    FormsAuthentication.SetAuthCookie(Email, false);
                    return(Redirect(Url.Action("Index", "Home")));
                }
            }


            //Get provider user details
            string ProviderUserId   = authResult.ProviderUserId;
            string ProviderUserName = authResult.UserName;

            if (Email == null && authResult.ExtraData.ContainsKey("email"))
            {
                Email = authResult.ExtraData["email"];
            }
            if (User.Identity.IsAuthenticated)
            {
                return(Redirect(Url.Action("Index", "Home")));
            }
            else
            {
                // User is new, save email as username
                string membershipUserName = Email ?? ProviderUserId;
                using (AreaEntities db = new AreaEntities())
                {
                    user elem = new user()
                    {
                        Name     = ProviderUserName,
                        Email    = Email,
                        Password = ""
                    };
                    if (db.users.Any(m => m.Email == Email))
                    {
                        ViewBag.Message = "User cannot be created";
                        ModelState.AddModelError("", "This Email is already taken.");
                        return(Redirect("/login/"));
                    }
                    else
                    {
                        db.users.Add(elem);
                        await db.SaveChangesAsync();

                        var tmp = await db.users.Where(m => m.Email == Email).FirstOrDefaultAsync();

                        Session["Email"]    = tmp.Email;
                        Session["Username"] = tmp.Name;
                        FormsAuthentication.SetAuthCookie(Email, false);
                        return(Redirect(Url.Action("Index", "Home")));
                    }
                }
            }
        }