コード例 #1
0
    private static int InsertRefererTable(Dictionary <string, string> OnlineUserValue)
    {
        /*
         *      @ServerName varchar(10),
         *      @UserId int,
         *      @GameId varchar(32),
         *      @ClientIP varchar(20),
         *      @Country varchar(20),
         *      @City varchar(20),
         *      @Refer varchar(500),
         *      @WebRefer varchar(500),
         *      @Visit int,
         *      @WebAgent varchar(500)
         */
        UAParser.ClientInfo agentInfo = null;
        try
        {
            UAParser.Parser userAgentParser = UAParser.Parser.GetDefault();
            agentInfo = userAgentParser.Parse(Utils.safeStr(OnlineUserValue["WebAgent"]));
        }
        catch
        {
        }

        using (SqlConnection con = Utils.GetNewConnection())
        {
            con.Open();
            using (SqlCommand cmd = new SqlCommand("STAT_setOnlineGames_05042014", con))
            {
                try
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@ServerName", Utils.SERVER_NAME);
                    cmd.Parameters.AddWithValue("@UserId", Utils.safeInt(OnlineUserValue["UserId"]));
                    cmd.Parameters.AddWithValue("@GameId", Utils.safeStr(OnlineUserValue["GameId"]));
                    cmd.Parameters.AddWithValue("@ClientIP", Utils.safeStr(OnlineUserValue["ClientIP"]));
                    cmd.Parameters.AddWithValue("@Country", Utils.safeStr(OnlineUserValue["Country"]));
                    cmd.Parameters.AddWithValue("@City", Utils.safeStr(OnlineUserValue["City"]));
                    cmd.Parameters.AddWithValue("@Refer", Utils.safeStr(OnlineUserValue["Refer"]));
                    cmd.Parameters.AddWithValue("@WebRefer", Utils.safeStr(OnlineUserValue["WebRefer"]));
                    cmd.Parameters.AddWithValue("@Visit", Utils.safeInt(OnlineUserValue["Visit"]));
                    cmd.Parameters.AddWithValue("@VisitState", Utils.safeInt(OnlineUserValue["VisitState"]));
                    cmd.Parameters.AddWithValue("@WebAgent", Utils.safeStr(OnlineUserValue["WebAgent"]));
                    cmd.Parameters.AddWithValue("@Browser", Utils.safeStr(agentInfo.UserAgent));
                    cmd.Parameters.AddWithValue("@Device", Utils.safeStr(agentInfo.Device));
                    cmd.Parameters.AddWithValue("@OS", Utils.safeStr(agentInfo.OS));
                    SqlParameter prid = cmd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int);
                    prid.Direction = ParameterDirection.ReturnValue;
                    cmd.ExecuteNonQuery();
                    return(Convert.ToInt32(prid.Value));
                }
                catch
                {
                    return(0);
                }
            }
        }
    }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: codinia/oslink
        public IActionResult Show(string UID)
        {
            var Link      = _context.Links.Where(x => x.UID == UID).FirstOrDefault();
            var userAgent = HttpContext.Request.Headers["User-Agent"];
            var uaParser  = Parser.GetDefault();

            UAParser.ClientInfo c = uaParser.Parse(userAgent);
            if (c.OS.Family == "Windows")
            {
                ViewBag.message = "windows os";

                return(Redirect(Link.Microsoft_store));
            }
            if (c.Device.Family == "Android")
            {
                ViewBag.message = "OS And";


                return(Redirect(Link.Android_url));
            }

            return(RedirectToAction("Show"));
        }
コード例 #3
0
 private static string GetPlatform(ClientInfo clientInfo)
 {
     return clientInfo == null
                ? null
                : string.Format("{0} {1}", clientInfo.OS.Family, clientInfo.OS.Major);
 }
コード例 #4
0
 private static string GetBrowser(ClientInfo clientInfo)
 {
     return clientInfo == null
                ? null
                : string.Format("{0} {1}", clientInfo.UserAgent.Family, clientInfo.UserAgent.Major);
 }