예제 #1
0
 public async Task ResetLeaderboard(string Token, string Studio, string NameLeaderboard)
 {
     if (await Leaderboard.Reset(Token, Studio, NameLeaderboard) && await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
예제 #2
0
 public async Task UnBan(string Studio, string Token, string TokenPlayer)
 {
     if (await Player.UnBanPlayer(Studio, Token, TokenPlayer) && await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
예제 #3
0
 public async Task AddEmail(string Token, string Studio, string TokenPlayer, string Email)
 {
     if (await Player.AddEmail(Token, Studio, TokenPlayer, Email) && await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
예제 #4
0
 public async Task RemovePlayerAchievements(string Token, string Studio, string TokenPlayer, string Detail)
 {
     if (await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         if (await ModelAchievements.Remove(Token, Studio, ObjectId.Parse(TokenPlayer), BsonDocument.Parse(Detail)))
         {
             Response.StatusCode = Ok().StatusCode;
         }
         else
         {
             Response.StatusCode = BadRequest().StatusCode;
         }
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
예제 #5
0
        public async Task <string> ReciveBackups(string Token, string Studio, string NameLeaderboard, string Count)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Read))
            {
                var Result = await Leaderboard.ReciveBackup(Token, Studio, NameLeaderboard, int.Parse(Count));

                if (Result.ElementCount >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }
                return(Result.ToString());
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #6
0
        /// <summary>
        /// Return PlayerAccount
        /// </summary>
        public async Task <string> Token(string Token, string Studio, string TokenPlayer)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Write))
            {
                var Result = await Player.LoginPlayer(Token, Studio, TokenPlayer);

                if (Result.ElementCount >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }
                return(Result.ToString());
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #7
0
        public async Task <string> ReciveLeaderboardSetting(string Token, string Studio, string NameLeaderboard)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Read))
            {
                var result = await LeaderboardModel.SettingLeaderboard(Token, Studio, NameLeaderboard);

                if (result.ElementCount >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }
                return(result.ToString());
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #8
0
        public async Task <string> PlayerAchievements(string Token, string Studio, string TokenPlayer)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Write))
            {
                var Result = await ModelAchievements.PlayerAchievements(Token, Studio, ObjectId.Parse(TokenPlayer));

                if (Result.ElementCount >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }

                return(Result.ToString());
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #9
0
        public async Task <string> ReciveStatices(string Token, string Studio)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Read))
            {
                var result = await Dashboard.ReciveDetail(Token, Studio);

                if (result.ElementCount >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }

                return(result.ToString());
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #10
0
        public async Task <string> Token(string Token, string Studio, string Username, string Password)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Write))
            {
                var Result = await Player.CreatPlayer(Token, Studio, Username, Password);

                if (Result.Length >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }

                return(Result);
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #11
0
        public async Task <string> ListAchievements(string Studio, string Token)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Read))
            {
                var Result = await ModelAchievements.ReciveAchievements(Token, Studio);

                if (Result.ElementCount >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }

                return(Result.ToString());
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #12
0
        public async Task <string> SearchPlayerUsername(string Token, string Studio, string Username)
        {
            if (await BasicAPIs.ReadWriteControll(Studio, API.Read))
            {
                var result = await Player.SearchUsername(Token, Studio, Username);

                if (result.ElementCount >= 1)
                {
                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }

                return(result.ToString());
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
                return(new BsonDocument().ToString());
            }
        }
예제 #13
0
 public async Task AddPlayer(string Token, string Studio, string TokenPlayer, string NameLeaderboard, string Value)
 {
     if (await LeaderboardModel.Add(Token, Studio, TokenPlayer, NameLeaderboard, Value) && await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
예제 #14
0
        public async Task VerifiePay(string Token, string Studio, string Detail)
        {
            if (await CheackToken(Token))
            {
                var DeserilseDetail = BsonDocument.Parse(Detail);

                var client = new RestClient("https://api.idpay.ir/v1.1/payment/verify");
                client.Timeout = -1;
                client.ClearHandlers();
                var request = new RestRequest(Method.POST);
                request.AddHeader("Content-Type", "application/json");
                request.AddHeader("X-API-KEY", "a14190c5-c321-4a93-bdcc-e9f753608e00");
                //request.AddHeader("X-SANDBOX", "1");
                request.AddHeader("Cookie", "SSESS39ff69be91203b0b4d2039dd7a713620=7epaMgKagAqyX9SlMEc4j3MKve3PrWsPwYQQ5J0re20");
                request.AddParameter("application/json", DeserilseDetail.ToString(), ParameterType.RequestBody);
                var response = await client.ExecuteAsync(request);

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    var Paymentlog = await Client.GetDatabase("Users").GetCollection <BsonDocument>("Payments").FindAsync(new BsonDocument {
                        { "DetailPay.id", DeserilseDetail["id"] }
                    }).Result.SingleAsync();

                    var Update = new UpdateDefinitionBuilder <BsonDocument>().Inc("Monetiz.Cash", Paymentlog["Request"]["amount"]);

                    await Client.GetDatabase(Studio).GetCollection <BsonDocument>("Setting").UpdateOneAsync(new BsonDocument {
                        { "_id", "Setting" }
                    }, Update);

                    var Update1 = new UpdateDefinitionBuilder <BsonDocument>().Set("Status", 200);

                    await Client.GetDatabase("Users").GetCollection <BsonDocument>("Payments").UpdateOneAsync(new BsonDocument {
                        { "DetailPay.id", DeserilseDetail["id"] }
                    }, Update1);


                    //add payment
                    try
                    {
                        var Update2 = new UpdateDefinitionBuilder <BsonDocument>().Push <BsonDocument>("Monetiz.PaymentList", Paymentlog);

                        await Client.GetDatabase(Studio).GetCollection <BsonDocument>("Setting").UpdateOneAsync(new BsonDocument {
                            { "_id", "Setting" }
                        }, Update2);
                    }
                    catch (Exception)
                    {
                        throw;
                    }

                    //add log
                    try
                    {
                        await log.AddLog(Token, Studio, "Payments", $"The amount \" { Paymentlog["Request"]["amount"] } \" was credited to your account", Paymentlog.ToString(), "true");
                    }
                    catch (Exception)
                    {
                    }

                    //send email
                    try
                    {
                        var BodyMessage = new MailMessage(
                            "*****@*****.**",
                            Paymentlog["Request"]["mail"].ToString(),
                            "Payment was successful",
                            body: "Hi" +
                            "\n" +
                            $"Your payment for \" {Paymentlog["Detail"]["Studio"]} \" Studio was successful." +
                            "\n\n" +
                            $"Payment tracking number:{Paymentlog["Request"]["order_id"]}" +
                            $"\n\n" +
                            "Tanks" +
                            "\n" +
                            "Backendi.ir"
                            );

                        BasicAPIs.SendMail_Pay(BodyMessage);
                    }
                    catch (Exception)
                    {
                    }

                    Response.StatusCode = Ok().StatusCode;
                }
                else
                {
                    Response.StatusCode = BadRequest().StatusCode;
                }
            }
            else
            {
                Response.StatusCode = BadRequest().StatusCode;
            }
        }
예제 #15
0
 public async Task AddPassword(string Token, string Studio, string TokenPlayer, string OldPassword, string NewPassword)
 {
     if (await Player.AddPassword(Token, Studio, TokenPlayer, OldPassword, NewPassword) && await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
예제 #16
0
 public async Task AddLog(string Token, string Studio, string Header, string Description, string Detail, string IsNotification)
 {
     if (await Log.AddLog(Token, Studio, Header, Description, Detail, IsNotification) && await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }
예제 #17
0
 public async Task AddLogPlayer(string Token, string Studio, string TokenPlayer, string Header, string Description)
 {
     if (await Player.AddLogPlayer(Token, Studio, TokenPlayer, Header, Description) && await BasicAPIs.ReadWriteControll(Studio, API.Write))
     {
         Response.StatusCode = Ok().StatusCode;
     }
     else
     {
         Response.StatusCode = BadRequest().StatusCode;
     }
 }