public static void Balance(double amount, bool add)

        {
            double      newBalance = 0;
            List <User> list       = new List <User>();

            string result = JsonHandling.JsonRead("../../../Users.json");

            dynamic dynJson = JsonConvert.DeserializeObject(result);

            foreach (var item in dynJson)
            {
                if (item.id == currentId && add)
                {
                    newBalance = item.balance + amount;
                }
                else if (item.id == currentId && !add)
                {
                    newBalance = item.balance - amount;
                    LotteryDay.receivedMoney = LotteryDay.receivedMoney + amount;

                    ReceivedMoney moneyObject = new ReceivedMoney();
                    moneyObject.receivedMoney = LotteryDay.receivedMoney;

                    string jsonString2 = JsonConvert.SerializeObject(moneyObject, Formatting.Indented);
                    JsonHandling.JsonWrite("../../../ReceivedMoney.json", jsonString2);
                }
                else
                {
                    newBalance = item.balance;
                }
                User userOld = new User();
                userOld.name     = item.name;
                userOld.password = item.password;
                userOld.age      = item.age;
                userOld.phone    = item.phone;
                userOld.email    = item.email;
                userOld.balance  = newBalance;


                list.Add(userOld);
            }
            string jsonString = JsonConvert.SerializeObject(list, Formatting.Indented);

            JsonHandling.JsonWrite("../../../Users.json", jsonString);
            User.NextId = 0;
        }
        public static void LotteryNumber()
        {
            LotteryDay receivedMoney = new LotteryDay();

            double getMoneyValue = LotteryDay.ReceivedMoney();

            if (getMoneyValue >= 10)
            {
                // guess the 5 numbers
                int[]  zombieLottolineNumber = new int[5];
                Random randomNumbers         = new Random();


                List <int> listNumbers = new List <int>();
                int        num;
                for (int round = 0; round < 5; round++)
                {
                    do
                    {
                        num = randomNumbers.Next(1, 25);
                    } while (listNumbers.Contains(num));
                    listNumbers.Add(num);

                    zombieLottolineNumber[round] = num;
                }
                //Console.WriteLine("ZombieLotto line number: " + "{0}", string.Join(", ", zombieLottolineNumber));
                zombieLottoLineNumber = zombieLottolineNumber;

                ReceivedMoney moneyObject = new ReceivedMoney();
                moneyObject.receivedMoney = 0.0;

                string jsonString = JsonConvert.SerializeObject(moneyObject, Formatting.Indented);
                JsonHandling.JsonWrite("../../../ReceivedMoney.json", jsonString);

                AddToJson();
                UserHistory.CheckNumbers();
            }
        }
        public static void SignUp(string signUpUsername, string signUpPassword, int signUpAge, string signUpPhone, string signUpEmail)
        {
            List <User> list = new List <User>();

            string result = JsonHandling.JsonRead("../../../Users.json");

            dynamic dynJson = JsonConvert.DeserializeObject(result);

            foreach (var item in dynJson)
            {
                User userOld = new User();
                userOld.name     = item.name;
                userOld.password = item.password;
                userOld.age      = item.age;
                userOld.phone    = item.phone;
                userOld.email    = item.email;

                list.Add(userOld);
            }
            //-- New user account --
            User user = new User();

            user.name     = signUpUsername;
            user.password = signUpPassword;
            user.age      = signUpAge;
            user.age      = signUpAge;
            user.phone    = signUpPhone;
            user.email    = signUpEmail;

            list.Add(user);

            //-- Writes all users into json file
            string jsonString = JsonConvert.SerializeObject(list, Formatting.Indented);

            JsonHandling.JsonWrite("../../../Users.json", jsonString);
            User.NextId = 0;
        }
        public static void CheckNumbers()
        {
            string LotteryNumbers = JsonHandling.JsonRead("../../../LotteryDay.json");

            string UserNumbers = JsonHandling.JsonRead("../../../UserLotteryNumbers.json");


            //-- check status (false, true, null) --
            List <UserChooseNumbers> List = new List <UserChooseNumbers>();

            List <UserChooseNumbers> listJson = JsonConvert.DeserializeObject <List <UserChooseNumbers> >(UserNumbers);

            foreach (var item in listJson)
            {
                if (item.status == null)
                {
                    List.Add(item);
                }
            }


            //-- fetch last object from LotteryDay.json & the numbers --
            List <int> LotteryList = new List <int>();

            List <LotteryDay> lineList = JsonConvert.DeserializeObject <List <LotteryDay> >(LotteryNumbers);

            LotteryDay lastObj = lineList[lineList.Count - 1];

            for (int i = 0; i < lastObj.lineNumber.Length; i++)
            {
                LotteryList.Add(lastObj.lineNumber[i]);
            }


            List <UserChooseNumbers> finalList = new List <UserChooseNumbers>();


            foreach (var item2 in listJson)
            {
                if (item2.status != null)
                {
                    finalList.Add(item2);
                }
            }

            //-- compare the numbers --
            foreach (var item in List)
            {
                int  point = 0;
                bool?WinOrLose;

                for (int i = 0; i < item.userLotteryNumber.Length; i++)
                {
                    for (int n = 0; n < LotteryList.Count; n++)
                    {
                        if (item.userLotteryNumber[i] == LotteryList[n])
                        {
                            point++;
                        }
                    }
                }

                if (point == 5)
                {
                    WinOrLose = true;
                }
                else
                {
                    WinOrLose = false;
                }
                item.status = WinOrLose;
                finalList.Add(item);

                //Console.WriteLine(WinOrLose);
                //-- status change --
            }
            string jsonString = JsonConvert.SerializeObject(finalList, Formatting.Indented);

            JsonHandling.JsonWrite("../../../UserLotteryNumbers.json", jsonString);
        }