Example #1
0
        public ActionResult <ScoreSheetModel> Answer(TextAnswerModel model)
        {
            if (model.Answer.ToLower() != "calamari")
            {
                return(BadRequest());
            }

            return(_quizMaster.CompletePuzzle(ScoreSheet).ToModel());
        }
        public BaseAnswerModel GetQuestionByType(string baseQuestion)
        {
            var baseAnswerM = JsonConvert.DeserializeObject <BaseAnswerModel>(baseQuestion);

            if (Enum.TryParse(baseAnswerM.Type.ToString(), out type))
            {
                switch (type)
                {
                case AnswerTypes.Textbox:
                {
                    TextAnswerModel question = JsonConvert.DeserializeObject <TextAnswerModel>(baseQuestion);
                    baseAnswerM = question as BaseAnswerModel;
                    break;
                }

                case AnswerTypes.Textarea:
                {
                    TextAreaAnswerModel question = JsonConvert.DeserializeObject <TextAreaAnswerModel>(baseQuestion);
                    baseAnswerM = question as BaseAnswerModel;
                    break;
                }

                case AnswerTypes.Radio:
                {
                    RadioAnswerModel question = JsonConvert.DeserializeObject <RadioAnswerModel>(baseQuestion);
                    baseAnswerM = question as BaseAnswerModel;
                    break;
                }

                case AnswerTypes.Checkbox:
                {
                    CheckBoxAnswerModel question = JsonConvert.DeserializeObject <CheckBoxAnswerModel>(baseQuestion);
                    baseAnswerM = question as BaseAnswerModel;
                    break;
                }

                case AnswerTypes.Dropdown:
                {
                    DropdownAnswerModel question = JsonConvert.DeserializeObject <DropdownAnswerModel>(baseQuestion);
                    baseAnswerM = question as BaseAnswerModel;
                    break;
                }

                case AnswerTypes.GridRadio:
                {
                    GridAnswerModel question = JsonConvert.DeserializeObject <GridAnswerModel>(baseQuestion);
                    baseAnswerM = question as BaseAnswerModel;
                    break;
                }
                }
            }
            return(baseAnswerM);
        }
        private void SaveTextAnswer(TextAnswerModel data)
        {
            if (data.Answer.Length > 0)
            {
                var optionChoice     = _optionChoiceService.GetListByOptionGroupId(data.OptionGroupId).Result.FirstOrDefault();
                var questionOptionId = _questionOptionService.Add(data.Id, optionChoice.Id);

                Answers answer = new Answers()
                {
                    AnswerBoolean    = false,
                    AnswerDateTime   = null,
                    AnswerNumeric    = null,
                    AnswerText       = data.Answer,
                    RespondentId     = respondentId,
                    QuestionOptionId = questionOptionId
                };
                var answerId = AddAsync(answer).Result;
            }
        }
Example #4
0
        public async Task <OkResult> GetUpdates([FromBody] Update updates)
        {
            if (updates.Type == UpdateType.Unknown)
            {
                return(Ok());
            }
            else if (updates.Type == UpdateType.Message)
            {
                if (updates.Message.Chat.Type == ChatType.Private)
                {
                    if (updates.Type == UpdateType.Message)
                    {
                    }
                }
                else if (updates.Message.Chat.Type == ChatType.Supergroup || updates.Message.Chat.Type == ChatType.Group)
                {
                    if (updates.Message.Text == "فعال شدن")
                    {
                        var creator = await _client.GetChatMemberAsync(updates.Message.Chat.Id, updates.Message.From.Id);

                        if (creator.Status == ChatMemberStatus.Creator)
                        {
                            if (_context.Groups.Any(c => c.Id == updates.Message.Chat.Id.ToString()))
                            {
                                await _client.SendTextMessageAsync(updates.Message.Chat.Id, ErrorAnswerModel.GroupAddedbefor);
                            }
                            else
                            {
                                try
                                {
                                    _context.Groups.Add(new Group
                                    {
                                        Id         = updates.Message.Chat.Id.ToString(),
                                        BotSetting = new botSetting {
                                            LockGap = false, LockSticker = false, LockVideo = false, LockVoice = false, SettingId = Guid.NewGuid().ToString()
                                        },
                                        GroupAdded  = true,
                                        GroupName   = updates.Message.Chat.FirstName + updates.Message.Chat.LastName,
                                        MemberCount = await _client.GetChatMembersCountAsync(updates.Message.Chat.Id),
                                    });

                                    _context.Admins.Add(new Admin
                                    {
                                        Id       = updates.Message.From.Id.ToString(),
                                        Name     = updates.Message.From.FirstName + updates.Message.From.LastName,
                                        UserName = updates.Message.From.Username ?? default
                                    });

                                    _context.AdminGroups.Add(new AdminGroup {
                                        AdminId = updates.Message.From.Id.ToString(), GroupId = updates.Message.Chat.Id.ToString()
                                    });

                                    _context.SaveChanges();

                                    await _client.SendTextMessageAsync(updates.Message.Chat.Id, TextAnswerModel.GapAdded(updates.Message.Chat.Id, updates.Message.From.Id));
                                }