Esempio n. 1
0
        public string AddSellOrder(string token, int amount)
        {
            if (!Server.clients.ContainsKey(token))
            {
                return(NULL);
            }
            string username = (string)Server.clients[token];

            Console.WriteLine("ADD_SELL_ORDER " + username + " " + amount);

            if (amount <= 0)
            {
                return(NULL);
            }

            dynamic user  = Database.GetUser(username);
            double  quote = Database.GetQuotes(1)[0].value;

            if (user == null)
            {
                return(NULL);
            }
            List <dynamic> sell_orders = Database.GetSellOrders(username);
            int            diginotes   = (int)Database.GetDiginotes(username).diginotes - amount;

            foreach (dynamic sell_order in sell_orders)
            {
                diginotes -= amount;
            }
            if (amount < 0)
            {
                return(NULL);
            }

            int remaining = Server.DoSellOrder(username, amount, quote);

            if (remaining > 0)
            {
                dynamic res = Database.AddSellOrder(username, remaining);
                if (res == null)
                {
                    return(NULL);
                }
            }
            return(JsonConvert.SerializeObject(new { remaining = remaining }));
        }