Example #1
0
        public async Task <QuestionnaireSaveResponse> DotaznikCreate(QuestionnaireSaveRequest questionnaire)
        {
            var apiForm  = _configuration["url"];
            var response = await _httlClient.PostJsonAsync <QuestionnaireSaveResponse>(apiForm + "api/Questionnaire/Save", questionnaire);

            return(response);
        }
        public ActionResult <QuestionnaireSaveResponse> Save([FromBody] QuestionnaireSaveRequest value)
        {
            //Instantiate database
            using var db = new DbModel();
            //Creating new database object
            var questionnaire = new Questionnaire
            {
                //Filling up database object with data from response object
                EndDate      = value.Questionnaire.EndDate,
                IsEvaluated  = value.Questionnaire.IsEvaluated,
                IsPublished  = value.Questionnaire.IsPublished,
                Name         = value.Questionnaire.Name,
                StartDate    = value.Questionnaire.StartDate,
                UserId       = value.Questionnaire.UserId,
                QuestionList = value.Questionnaire.Question
                               .Select(q => new Question
                {
                    //Filling up database object with data from response object Question
                    Text             = q.Text,
                    QuestionPosition = q.QuestionPosition,
                    AnswerList       = q.Answer
                                       .Select(a => new Answer
                    {
                        //Filling up database object with data from response object Answer
                        AnswerPosition = a.AnswerPosition,
                        Text           = a.Text,
                        Type           = a.Type
                    })
                                       .ToList()
                })
                               .ToList()
            };

            //Adding new Questionnaire to database
            db.Questionnaires.Add(questionnaire);
            //Saving changes in database
            db.SaveChanges();
            return(Ok(new QuestionnaireSaveResponse
            {
                Questionnaire = new QuestionnaireSaveResponse.QuestionnairePublish
                {
                    Success = true
                }
            }));
        }