Пример #1
0
        public IActionResult Collect(CollectSurveyViewModel collectSurveyViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(StatusCode(StatusCodes.Status417ExpectationFailed, "Model is not valid"));
            }


            ReturnFlag      flag            = SaveSurvey(collectSurveyViewModel);
            ThanksViewModel thanksViewModel = new ThanksViewModel();

            if (flag == ReturnFlag.UNDER_AGE)
            {
                thanksViewModel.Message = Messages.THANKS_MSG_BELOW_18;
            }
            else if (flag == ReturnFlag.FIRST_CAR)
            {
                thanksViewModel.Message = Messages.THANKS_MSG_FIRST_CAR;
            }
            else if (flag == ReturnFlag.PREFER_PUBLIC_TRANSPORT)
            {
                thanksViewModel.Message = Messages.THANKS_MSG_PREFER_PUBLIC_TRANSPORT;
            }
            else if (flag == ReturnFlag.SUCCESSED)
            {
                thanksViewModel.Message = Messages.THANKS_MSG_SUCCESSED;
            }

            return(StatusCode(StatusCodes.Status201Created, "value"));
        }
Пример #2
0
        private ReturnFlag SaveSurvey(CollectSurveyViewModel collectSurveyViewModel)
        {
            ReturnFlag flag = ValidateReturn(collectSurveyViewModel);
            //UnitOfWork unitOfWork = new UnitOfWork(new BMWApplicationContext());
            UnitOfWork unitOfWork = _UnitOfWorkServiceProvider.GetUnitOfWork();
            Survey     survey     = new Survey();

            survey.Age = collectSurveyViewModel.Age;
            if (flag == ReturnFlag.SUCCESSED)
            {
                survey.Gender       = collectSurveyViewModel.Gender;
                survey.OwnLicence   = collectSurveyViewModel.OwnLicence;
                survey.FirstCar     = collectSurveyViewModel.FirstCar;
                survey.DriveTrain   = collectSurveyViewModel.DriveTrain;
                survey.Drifting     = collectSurveyViewModel.Drifting;
                survey.NumberOfBMWs = collectSurveyViewModel.NumberOfBMWs;
            }
            else if (flag == ReturnFlag.FIRST_CAR)
            {
                survey.Gender     = collectSurveyViewModel.Gender;
                survey.OwnLicence = collectSurveyViewModel.OwnLicence;
            }
            else if (flag == ReturnFlag.PREFER_PUBLIC_TRANSPORT)
            {
                survey.Gender = collectSurveyViewModel.Gender;
            }
            else if (flag == ReturnFlag.UNDER_AGE)
            {
            }

            unitOfWork.Survies.Insert(survey);
            unitOfWork.Complete();
            if (flag == ReturnFlag.SUCCESSED)
            {
                Model model;
                foreach (var m in collectSurveyViewModel.Models)
                {
                    model           = new Model();
                    model.SurveyId  = survey.Id;
                    model.ModelName = m.ModelName;
                    unitOfWork.Models.Insert(model);
                }
                unitOfWork.Complete();
            }

            return(flag);
        }
Пример #3
0
        private ReturnFlag ValidateReturn(CollectSurveyViewModel collectSurveyViewModel)
        {
            ReturnFlag flag = ReturnFlag.SUCCESSED;

            if (collectSurveyViewModel.Age < 18)
            {
                flag = ReturnFlag.UNDER_AGE;
            }
            else if (collectSurveyViewModel.OwnLicence == OwnLicence.Prefer_public_transport)
            {
                flag = ReturnFlag.PREFER_PUBLIC_TRANSPORT;
            }
            else if (collectSurveyViewModel.FirstCar == YesNo.Yes)
            {
                flag = ReturnFlag.FIRST_CAR;
            }
            return(flag);
        }