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")); }
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); }
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); }