public async Task <IActionResult> Edit(EditUserViewModel editUserViewModel)
        {
            string fullLink       = $"{baseUri}/SchoolUser";
            string categoryLink   = $"{baseUri}/SchoolUserCategory";
            string classgroupLink = $"{baseUri}/ClassGroup";

            string userById   = fullLink + "/" + editUserViewModel.Id;
            var    schoolUser = WebApiService.GetApiResult <SchoolUser>(userById);

            schoolUser.FirstName = editUserViewModel.FirstName;
            schoolUser.LastName  = editUserViewModel.LastName;

            string categoryById   = categoryLink + "/" + editUserViewModel.SelectedSchoolUserCategoryId;
            string classgroupById = classgroupLink + "/" + editUserViewModel.SelectedClassGroupId;

            var schoolUserCategory = WebApiService.GetApiResult <SchoolUserCategory>(categoryById);
            var classGroup         = WebApiService.GetApiResult <ClassGroup>(classgroupById);

            schoolUser.ClassGroup           = classGroup;
            schoolUser.ClassGroupId         = classGroup.Id;
            schoolUser.SchoolUserCategory   = schoolUserCategory;
            schoolUser.SchoolUserCategoryId = schoolUserCategory.Id;

            await WebApiService.PutCallApi <SchoolUser, SchoolUser>(userById, schoolUser);

            return(new RedirectToActionResult("Index", "User", new { id = editUserViewModel.Id }));
        }
        public async Task <IActionResult> Edit(SchoolUserCategoryDetailViewModel schoolUserCategoryDetailViewModel)
        {
            string fullLink = $"{baseUri}/SchoolUserCategory";

            string             schoolUserCategoryById = fullLink + "/" + schoolUserCategoryDetailViewModel.Id;
            SchoolUserCategory schoolUserCategory     = WebApiService.GetApiResult <SchoolUserCategory>(schoolUserCategoryById);

            schoolUserCategory.Category = schoolUserCategoryDetailViewModel.Category;

            string updateLink = $"{baseUri}/SchoolUserCategory/{schoolUserCategory.Id}";
            await WebApiService.PutCallApi <SchoolUserCategory, SchoolUserCategory>(updateLink, schoolUserCategory);

            return(RedirectToAction("Index", "UserCategory"));
        }
        public async Task <IActionResult> Edit(ClassGroupDetailViewModel editClassGroupViewModel)
        {
            string fullLink = $"{baseUri}/ClassGroup";

            string     classgroupById = fullLink + "/" + editClassGroupViewModel.Id;
            ClassGroup classGroup     = WebApiService.GetApiResult <ClassGroup>(classgroupById);

            classGroup.ClassGroupName = editClassGroupViewModel.ClassGroupName;

            classGroup.SchoolUsers = editClassGroupViewModel.SchoolUsers;

            string    yeargradeLink = $"{baseUri}/YearGrade/{editClassGroupViewModel.SelectedYearGradeId}";
            YearGrade yearGrade     = WebApiService.GetApiResult <YearGrade>(yeargradeLink);

            classGroup.YearGrade   = yearGrade;
            classGroup.YearGradeId = yearGrade.Id;

            string updateLink = $"{baseUri}/ClassGroup/{classGroup.Id}";
            await WebApiService.PutCallApi <ClassGroup, ClassGroup>(updateLink, classGroup);

            return(RedirectToAction("Index", "Classgroup"));
        }
        public async Task <IActionResult> Save(LangFirstQuestionDetailVm viewModel, IFormFile picture)
        {
            if (viewModel.Id != 0)
            {
                var categoryLink = $"{baseUri}/QuestionCategory/{2}";
                var category     = WebApiService.GetApiResult <QuestionCategory>(categoryLink);

                var answerLink = $"{baseUri}/Answer/{viewModel.AnswerId}";
                var answer     = new Answer()
                {
                    Id         = viewModel.AnswerId,
                    LangAnswer = viewModel.Answer
                };
                answer = await WebApiService.PutCallApi <Answer, Answer>(answerLink, answer);

                List <Feedback> feedbackList = new List <Feedback>();
                feedbackList.Add(new Feedback()
                {
                    Id = viewModel.FirstFeedbackId, Description = viewModel.FirstFeedback, QuestionId = viewModel.Id
                });
                feedbackList.Add(new Feedback()
                {
                    Id = viewModel.SecondFeedbackId, Description = viewModel.SecondFeedback, QuestionId = viewModel.Id
                });
                var questionLink = $"{baseUri}/Question/{viewModel.Id}";
                var question     = new Question()
                {
                    Id                 = viewModel.Id,
                    QuestionTitle      = viewModel.QuestionTitle,
                    FileName           = _imageServices.UploadImage(picture, "images/LangFirstQuestions"),
                    AnswerId           = answer.Id,
                    Answer             = answer,
                    QuestionCategory   = category,
                    QuestionCategoryId = category.Id,
                    Feedback           = feedbackList
                };
                question = await WebApiService.PutCallApi <Question, Question>(questionLink, question);

                var feedbackLink = $"{baseUri}/Feedback";
                await WebApiService.PutCallApi <Feedback, Feedback>($"{feedbackLink}/{viewModel.FirstFeedbackId}", feedbackList.ElementAt(0));

                await WebApiService.PutCallApi <Feedback, Feedback>($"{feedbackLink}/{viewModel.SecondFeedbackId}", feedbackList.ElementAt(1));

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                var categoryLink = $"{baseUri}/QuestionCategory/{2}";
                var category     = WebApiService.GetApiResult <QuestionCategory>(categoryLink);

                var answerLink = $"{baseUri}/Answer";
                var answer     = new Answer()
                {
                    LangAnswer = viewModel.Answer
                };
                //var seededAnswer = await WebApiService.PostCallApi<Answer, Answer>(answerLink, answer);
                answer.Id = 0;

                List <Feedback> feedbackList = new List <Feedback>();
                feedbackList.Add(new Feedback()
                {
                    Description = viewModel.FirstFeedback
                });
                feedbackList.Add(new Feedback()
                {
                    Description = viewModel.SecondFeedback
                });
                var questionLink = $"{baseUri}/Question";
                var question     = new Question()
                {
                    QuestionTitle    = viewModel.QuestionTitle,
                    FileName         = _imageServices.UploadImage(picture, "images/LangFirstQuestions"),
                    Answer           = answer,
                    QuestionCategory = category,
                    Feedback         = feedbackList
                };
                await WebApiService.PostCallApi <Question, Question>(questionLink, question);


                return(RedirectToAction(nameof(Index)));
            }
        }
Пример #5
0
        public async Task <IActionResult> Save(LangQuestionsDetailVm viewModel)
        {
            //ADJUST BOTH FOR QUESTIONCATEGORY (CAN QUESTIONCATEGORY BE CHANGED?)
            if (viewModel.Id != 0)
            {
                var categoryLink = $"{baseUri}/QuestionCategory/{viewModel.QuestionCategoryId}";
                var category     = WebApiService.GetApiResult <QuestionCategory>(categoryLink);

                var answerLink = $"{baseUri}/Answer/{viewModel.AnswerId}";
                var answer     = new Answer()
                {
                    Id         = viewModel.AnswerId,
                    LangAnswer = viewModel.Answer
                };
                answer = await WebApiService.PutCallApi <Answer, Answer>(answerLink, answer);

                List <Feedback> feedbackList = new List <Feedback>();
                feedbackList.Add(new Feedback()
                {
                    Id = viewModel.FirstFeedbackId, Description = viewModel.FirstFeedback, QuestionId = viewModel.Id
                });
                feedbackList.Add(new Feedback()
                {
                    Id = viewModel.SecondFeedbackId, Description = viewModel.SecondFeedback, QuestionId = viewModel.Id
                });
                var questionLink = $"{baseUri}/Question/{viewModel.Id}";
                var question     = new Question()
                {
                    Id                 = viewModel.Id,
                    QuestionTitle      = viewModel.QuestionTitle,
                    Description        = viewModel.Description,
                    AnswerId           = answer.Id,
                    Answer             = answer,
                    QuestionCategory   = category,
                    QuestionCategoryId = category.Id,
                    Feedback           = feedbackList
                };
                question = await WebApiService.PutCallApi <Question, Question>(questionLink, question);

                var feedbackLink = $"{baseUri}/Feedback";
                await WebApiService.PutCallApi <Feedback, Feedback>($"{feedbackLink}/{viewModel.FirstFeedbackId}", feedbackList.ElementAt(0));

                await WebApiService.PutCallApi <Feedback, Feedback>($"{feedbackLink}/{viewModel.SecondFeedbackId}", feedbackList.ElementAt(1));

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                var categoryLink = $"{baseUri}/QuestionCategory/{viewModel.QuestionCategoryId}";
                var category     = WebApiService.GetApiResult <QuestionCategory>(categoryLink);

                var answerLink = $"{baseUri}/Answer";
                var answer     = new Answer()
                {
                    LangAnswer = viewModel.Answer
                };

                answer.Id = 0;

                List <Feedback> feedbackList = new List <Feedback>();
                feedbackList.Add(new Feedback()
                {
                    Description = viewModel.FirstFeedback
                });
                feedbackList.Add(new Feedback()
                {
                    Description = viewModel.SecondFeedback
                });
                var questionLink = $"{baseUri}/Question";
                var question     = new Question()
                {
                    QuestionTitle    = viewModel.QuestionTitle,
                    Description      = viewModel.Description,
                    Answer           = answer,
                    QuestionCategory = category,
                    Feedback         = feedbackList
                };
                await WebApiService.PostCallApi <Question, Question>(questionLink, question);


                return(RedirectToAction(nameof(Index)));
            }
        }