예제 #1
0
        public void GetUsersPurchases(ref HttpRequest request)
        {
            string message = null;

            if (request.Authorize(ref message))
            {
                int page    = 0;
                int user_id = 0;
                if (Int32.TryParse(request.FormField("user_id"), out user_id))
                {
                    List <Purchases> purchases;
                    Int32.TryParse(request.HeadParameter("page"), out page);
                    if (page <= 0)
                    {
                        purchases = Database.purchase.SelectPurchases(user_id, 0, 15);
                    }
                    else
                    {
                        purchases = Database.purchase.SelectPurchases(user_id, page * 15, 15);
                    }
                    ActivateProgress progress = new ActivateProgress();
                    Database.progress.SelectProgress(user_id, ref progress);
                    var response = new { activate_progress = progress, purchases = purchases };
                    request.ResponseJsonData(response);
                    Logger.WriteLog("Get user's purchases - successfully.", LogLevel.Usual);
                    return;
                }
                else
                {
                    message = "Server can't get user_id from request body.";
                }
            }
            request.ResponseJsonAnswer(false, message);
            Logger.WriteLog(message, LogLevel.Warning);
        }
예제 #2
0
        public void GetVoiceCheckRecords(ref HttpRequest request)
        {
            string message = null;
            List <GroupVoiceCheck> groups = new List <GroupVoiceCheck>();

            if (request.Authorize(ref message))
            {
                int page = 0;
                Int32.TryParse(request.HeadParameter("page"), out page);
                {
                    Database.group.SelectGroupsViewed(ref groups, page * 15, page * 15 + 15, false, false);
                    if (groups.Count < 15)
                    {
                        Database.group.SelectGroupsViewed(ref groups, page * 15, page * 15 + 15, true, false);
                    }
                    if (groups.Count < 15)
                    {
                        Database.group.SelectGroupsViewed(ref groups, page * 15, page * 15 + 15, true, true);
                    }
                    for (int i = 0; i < groups.Count; i++)
                    {
                        GroupVoiceCheck group = groups[i];
                        group.checks = Database.check.SelectCheckByGroup(groups[i].group_id);
                        groups[i]    = group;
                    }
                    request.ResponseJsonUTF8Data(groups);
                    Logger.WriteLog("Get voice check groups.", LogLevel.Usual);
                    return;
                }
            }
            request.ResponseJsonAnswer(false, message);
            Logger.WriteLog(message, LogLevel.Warning);
        }
예제 #3
0
        public void GetUsersList(ref HttpRequest request)
        {
            string message = null;

            if (request.Authorize(ref message))
            {
                int page = 0;
                List <UserCache> users;
                Int32.TryParse(request.HeadParameter("page"), out page);
                if (page <= 0)
                {
                    users = Database.user.SelectUsers(0, 30);
                }
                else
                {
                    users = Database.user.SelectUsers(page * 30, 30);
                }
                for (int i = 0; i < users.Count; i++)
                {
                    UserCache user = users[i];
                    user.numbers_of_purchases = Database.purchase.SelectCountPurchases(users[i].user_id);
                    users[i] = user;
                }
                request.ResponseJsonData(users);
                Logger.WriteLog("Get users list from admin panel.", LogLevel.Usual);
                return;
            }
            request.ResponseJsonAnswer(false, message);
            Logger.WriteLog(message, LogLevel.Warning);
        }
예제 #4
0
        public void AnswerVoiceCheckRecords(ref HttpRequest request)
        {
            string message = null;
            bool   success = true;

            if (request.Authorize(ref message))
            {
                int group_id = request.RequiredJsonField("group_id", JTokenType.Integer);
                if (group_id == -1)
                {
                    return;
                }
                JArray answers = request.RequiredJsonField("answers", JTokenType.Array);
                if (answers == null)
                {
                    return;
                }
                GroupVoiceCheck group = new GroupVoiceCheck();
                if (Database.group.SelectGroup(group_id, ref group))
                {
                    if (answers.Count == 5)
                    {
                        for (int i = 0; i < answers.Count; i++)
                        {
                            JObject jObject = answers[i].ToObject <JObject>();
                            if (jObject.ContainsKey("word_id") && jObject.ContainsKey("check_assessment") && jObject.ContainsKey("check_comment"))
                            {
                                JToken word_id          = jObject["word_id"];
                                JToken check_assessment = jObject["check_assessment"];
                                JToken check_comment    = jObject["check_comment"];
                                if (word_id.Type != JTokenType.Integer || check_assessment.Type != JTokenType.Integer || check_comment.Type != JTokenType.String)
                                {
                                    success = false;
                                }
                            }
                            else
                            {
                                success = false;
                            }
                        }
                        if (success)
                        {