public async Task <Tuple <string, bool, int> > InsertUserCompetencyMatrices(QuestionnaireRequest request) { bool response = false; int status = 0; var message = ""; var isMissMatch = false; List <UserCompetencyMatrix> userCompetencies = new List <UserCompetencyMatrix>(); var userRepo = unitOfWork.GetRepository <User>(); var user = await Task.Run(() => userRepo.Get(x => x.UserID == request.UserID).FirstOrDefault()); if (user != null) { var jobMetricsRepo = unitOfWork.GetRepository <JobCompetencyMatrix>(); var jobRepo = unitOfWork.GetRepository <Job>(); var job = await Task.Run(() => jobRepo.Get(x => x.JobID == user.JobID).FirstOrDefault()); var userMetricsRepo = unitOfWork.GetRepository <UserCompetencyMatrix>(); var comps = request.Competency.Split(';'); var points = request.Points.Split(';'); if (comps.Length == points.Length) { UserCompetencyMatrix userCompetency; for (int i = 0; i < comps.Length; i++) { userCompetency = new UserCompetencyMatrix(); var comp = comps[i]; var jobMetric = await Task.Run(() => jobMetricsRepo.Get(x => x.JobID == user.JobID && x.Competency.Equals(comp)).FirstOrDefault()); if (jobMetric != null) { userCompetency.UserID = Convert.ToByte(request.UserID); userCompetency.Type = jobMetric.Type; userCompetency.MainGroup = jobMetric.Maingroup; userCompetency.SubGroup = jobMetric.Subgroup; userCompetency.Competency = comp; userCompetency.LoW = jobMetric.LoW; userCompetency.RequiredLevel = jobMetric.RequiredLevel; userCompetency.CurrentLevel = Convert.ToInt32(Math.Round(Convert.ToDouble(points[i]))); userCompetency.RatingDate = DateTime.Now; var gap = jobMetric.RequiredLevel - userCompetency.CurrentLevel; userCompetency.Gap = gap > 0 ? gap : 0; userCompetencies.Add(userCompetency); if (Convert.ToDouble(points[i]) <= 0) { log.LogError("Current Level in the request is 0 for: " + request.UserID + " with competency :" + comp + " below is the data." + "\n" + " Competency Object:\n" + " UserID = " + request.UserID + "\n" + " Competency = " + comp + "\n" + " Points = " + points[i] + "\n"); } } else { status = -1; log.LogError("Job Metric does not exist for UserID: " + request.UserID + " with competency :" + comp + " below is the data." + "\n" + " Competency Object:\n" + " UserID = " + request.UserID + "\n" + " Competency = " + comp + "\n" + " Points = " + points[i] + "\n"); } } } else { isMissMatch = true; } if (userCompetencies.Any()) { userMetricsRepo.InsertAll(userCompetencies); unitOfWork.Save(); status = 1; message = "Data inserted successfully for UserID: " + request.UserID; response = true; } else { status = -1; if (isMissMatch) { message = "Error in the Request: Number of Competencies does not match number of points in the request data passed."; } else { message = "No Competencies exist for UserID: " + request.UserID; } } } else { status = -2; message = "User does not exist with UserID: " + request.UserID; } log.LogDebug(message); return(new Tuple <string, bool, int>(message, response, status)); }
protected void saveQuestionnaire(QuestionnaireRequest item, string key, ref DateTime taskDate, UserProfile actor) { int questionID = int.Parse(key.Substring(1)); var quest = models.GetTable <PDQQuestion>().Where(q => q.QuestionID == questionID).FirstOrDefault(); if (quest == null) { return; } var values = Request.Form.GetValues(key); if (values == null) { return; } switch ((Naming.QuestionType)quest.QuestionType) { case Naming.QuestionType.問答題: String strVal; if (values.Length > 0 && (strVal = values[0].GetEfficientString()) != null) { models.GetTable <PDQTask>().InsertOnSubmit(new PDQTask { QuestionID = quest.QuestionID, UID = actor.UID, PDQAnswer = strVal, QuestionnaireID = item.QuestionnaireID, TaskDate = taskDate }); models.SubmitChanges(); } break; case Naming.QuestionType.單選題: case Naming.QuestionType.單選其他: foreach (var v in values) { int suggestID; if (int.TryParse(v, out suggestID)) { models.GetTable <PDQTask>().InsertOnSubmit(new PDQTask { QuestionID = quest.QuestionID, UID = actor.UID, SuggestionID = suggestID, QuestionnaireID = item.QuestionnaireID, TaskDate = taskDate }); } else { models.GetTable <PDQTask>().InsertOnSubmit(new PDQTask { QuestionID = quest.QuestionID, UID = actor.UID, PDQAnswer = v, QuestionnaireID = item.QuestionnaireID, TaskDate = taskDate }); } models.SubmitChanges(); } break; case Naming.QuestionType.多重選: break; case Naming.QuestionType.是非題: if (values.Length > 0) { models.GetTable <PDQTask>().InsertOnSubmit(new PDQTask { QuestionID = quest.QuestionID, UID = actor.UID, YesOrNo = values[0] == "1" ? true : false, QuestionnaireID = item.QuestionnaireID, TaskDate = taskDate }); models.SubmitChanges(); } break; } }
/// <summary> /// submit questionnaire in workspace /// </summary> /// <exception cref="Cloud.Governance.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="objecttype"></param> /// <param name="objectid"></param> /// <param name="questionnaireRequest"> (optional)</param> /// <returns>Task of List<ServiceList></returns> public async System.Threading.Tasks.Task <List <ServiceList> > SubmitQuestionnaireInWorkspaceAsync(WorkspaceType objecttype, string objectid, QuestionnaireRequest questionnaireRequest = default(QuestionnaireRequest)) { Cloud.Governance.Client.Client.ApiResponse <List <ServiceList> > localVarResponse = await SubmitQuestionnaireInWorkspaceAsyncWithHttpInfo(objecttype, objectid, questionnaireRequest); return(localVarResponse.Data); }
/// <summary> /// submit questionnaire in workspace /// </summary> /// <exception cref="Cloud.Governance.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="objecttype"></param> /// <param name="objectid"></param> /// <param name="questionnaireRequest"> (optional)</param> /// <returns>Task of ApiResponse (List<ServiceList>)</returns> public async System.Threading.Tasks.Task <Cloud.Governance.Client.Client.ApiResponse <List <ServiceList> > > SubmitQuestionnaireInWorkspaceAsyncWithHttpInfo(WorkspaceType objecttype, string objectid, QuestionnaireRequest questionnaireRequest = default(QuestionnaireRequest)) { // verify the required parameter 'objecttype' is set if (objecttype == null) { throw new Cloud.Governance.Client.Client.ApiException(400, "Missing required parameter 'objecttype' when calling QuestionnairesApi->SubmitQuestionnaireInWorkspace"); } // verify the required parameter 'objectid' is set if (objectid == null) { throw new Cloud.Governance.Client.Client.ApiException(400, "Missing required parameter 'objectid' when calling QuestionnairesApi->SubmitQuestionnaireInWorkspace"); } Cloud.Governance.Client.Client.RequestOptions localVarRequestOptions = new Cloud.Governance.Client.Client.RequestOptions(); String[] _contentTypes = new String[] { "application/json-patch+json", "application/json", "text/json", "application/_*+json" }; // to determine the Accept header String[] _accepts = new String[] { "text/plain", "application/json", "text/json" }; foreach (var _contentType in _contentTypes) { localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); } foreach (var _accept in _accepts) { localVarRequestOptions.HeaderParameters.Add("Accept", _accept); } if (objecttype != null) { localVarRequestOptions.PathParameters.Add("objecttype", Cloud.Governance.Client.Client.ClientUtils.ParameterToString(objecttype)); // path parameter } if (objectid != null) { localVarRequestOptions.PathParameters.Add("objectid", Cloud.Governance.Client.Client.ClientUtils.ParameterToString(objectid)); // path parameter } localVarRequestOptions.Data = questionnaireRequest; // authentication (ClientId) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("clientId"))) { localVarRequestOptions.HeaderParameters.Add("clientId", this.Configuration.GetApiKeyWithPrefix("clientId")); } // authentication (ClientSecret) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("clientSecret"))) { localVarRequestOptions.HeaderParameters.Add("clientSecret", this.Configuration.GetApiKeyWithPrefix("clientSecret")); } // authentication (UserPrincipalName) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("userPrincipalName"))) { localVarRequestOptions.HeaderParameters.Add("userPrincipalName", this.Configuration.GetApiKeyWithPrefix("userPrincipalName")); } // make the HTTP request var localVarResponse = await this.AsynchronousClient.PostAsync <List <ServiceList> >("/questionnaires/workspace/{objecttype}/{objectid}", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { Exception _exception = this.ExceptionFactory("SubmitQuestionnaireInWorkspace", localVarResponse); if (_exception != null) { throw _exception; } } return(localVarResponse); }
/// <summary> /// submit questionnaire /// </summary> /// <exception cref="Cloud.Governance.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="questionnaireRequest"> (optional)</param> /// <returns>Task of ApiResponse (List<ServiceList>)</returns> public async System.Threading.Tasks.Task <Cloud.Governance.Client.Client.ApiResponse <List <ServiceList> > > SubmitQuestionnaireAsyncWithHttpInfo(QuestionnaireRequest questionnaireRequest = default(QuestionnaireRequest)) { Cloud.Governance.Client.Client.RequestOptions localVarRequestOptions = new Cloud.Governance.Client.Client.RequestOptions(); String[] _contentTypes = new String[] { "application/json-patch+json", "application/json", "text/json", "application/_*+json" }; // to determine the Accept header String[] _accepts = new String[] { "text/plain", "application/json", "text/json" }; foreach (var _contentType in _contentTypes) { localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); } foreach (var _accept in _accepts) { localVarRequestOptions.HeaderParameters.Add("Accept", _accept); } localVarRequestOptions.Data = questionnaireRequest; // authentication (ClientId) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("clientId"))) { localVarRequestOptions.HeaderParameters.Add("clientId", this.Configuration.GetApiKeyWithPrefix("clientId")); } // authentication (ClientSecret) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("clientSecret"))) { localVarRequestOptions.HeaderParameters.Add("clientSecret", this.Configuration.GetApiKeyWithPrefix("clientSecret")); } // authentication (UserPrincipalName) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("userPrincipalName"))) { localVarRequestOptions.HeaderParameters.Add("userPrincipalName", this.Configuration.GetApiKeyWithPrefix("userPrincipalName")); } // make the HTTP request var localVarResponse = await this.AsynchronousClient.PostAsync <List <ServiceList> >("/questionnaires", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { Exception _exception = this.ExceptionFactory("SubmitQuestionnaire", localVarResponse); if (_exception != null) { throw _exception; } } return(localVarResponse); }
/// <summary> /// submit questionnaire in workspace /// </summary> /// <exception cref="Cloud.Governance.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="objecttype"></param> /// <param name="objectid"></param> /// <param name="questionnaireRequest"> (optional)</param> /// <returns>List<ServiceList></returns> public List <ServiceList> SubmitQuestionnaireInWorkspace(WorkspaceType objecttype, string objectid, QuestionnaireRequest questionnaireRequest = default(QuestionnaireRequest)) { Cloud.Governance.Client.Client.ApiResponse <List <ServiceList> > localVarResponse = SubmitQuestionnaireInWorkspaceWithHttpInfo(objecttype, objectid, questionnaireRequest); return(localVarResponse.Data); }
/// <summary> /// submit questionnaire /// </summary> /// <exception cref="Cloud.Governance.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="questionnaireRequest"> (optional)</param> /// <returns>Task of List<ServiceList></returns> public async System.Threading.Tasks.Task <List <ServiceList> > SubmitQuestionnaireAsync(QuestionnaireRequest questionnaireRequest = default(QuestionnaireRequest)) { Cloud.Governance.Client.Client.ApiResponse <List <ServiceList> > localVarResponse = await SubmitQuestionnaireAsyncWithHttpInfo(questionnaireRequest); return(localVarResponse.Data); }
/// <summary> /// submit questionnaire /// </summary> /// <exception cref="Cloud.Governance.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="questionnaireRequest"> (optional)</param> /// <returns>ApiResponse of List<ServiceList></returns> public Cloud.Governance.Client.Client.ApiResponse <List <ServiceList> > SubmitQuestionnaireWithHttpInfo(QuestionnaireRequest questionnaireRequest = default(QuestionnaireRequest)) { Cloud.Governance.Client.Client.RequestOptions localVarRequestOptions = new Cloud.Governance.Client.Client.RequestOptions(); String[] _contentTypes = new String[] { "application/json-patch+json", "application/json", "text/json", "application/_*+json" }; // to determine the Accept header String[] _accepts = new String[] { "text/plain", "application/json", "text/json" }; var localVarContentType = Cloud.Governance.Client.Client.ClientUtils.SelectHeaderContentType(_contentTypes); if (localVarContentType != null) { localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType); } var localVarAccept = Cloud.Governance.Client.Client.ClientUtils.SelectHeaderAccept(_accepts); if (localVarAccept != null) { localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept); } localVarRequestOptions.Data = questionnaireRequest; // authentication (ClientId) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("clientId"))) { localVarRequestOptions.HeaderParameters.Add("clientId", this.Configuration.GetApiKeyWithPrefix("clientId")); } // authentication (ClientSecret) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("clientSecret"))) { localVarRequestOptions.HeaderParameters.Add("clientSecret", this.Configuration.GetApiKeyWithPrefix("clientSecret")); } // authentication (UserPrincipalName) required if (!String.IsNullOrEmpty(this.Configuration.GetApiKeyWithPrefix("userPrincipalName"))) { localVarRequestOptions.HeaderParameters.Add("userPrincipalName", this.Configuration.GetApiKeyWithPrefix("userPrincipalName")); } // make the HTTP request var localVarResponse = this.Client.Post <List <ServiceList> >("/questionnaires", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { Exception _exception = this.ExceptionFactory("SubmitQuestionnaire", localVarResponse); if (_exception != null) { throw _exception; } } return(localVarResponse); }
/// <summary> /// submit questionnaire /// </summary> /// <exception cref="Cloud.Governance.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="questionnaireRequest"> (optional)</param> /// <returns>List<ServiceList></returns> public List <ServiceList> SubmitQuestionnaire(QuestionnaireRequest questionnaireRequest = default(QuestionnaireRequest)) { Cloud.Governance.Client.Client.ApiResponse <List <ServiceList> > localVarResponse = SubmitQuestionnaireWithHttpInfo(questionnaireRequest); return(localVarResponse.Data); }
public async Task <bool> CreateAsync(QuestionnaireRequest questionnaireRequest) { Questionnaire questionnaire = _mapper.Map <QuestionnaireRequest, Questionnaire>(questionnaireRequest); return(await _questionnaireRepository.AddAsync(questionnaire)); }
public async Task <IActionResult> Create(QuestionnaireRequest questionnaireRequest) { await _questionnaireService.CreateAsync(questionnaireRequest); return(Created("", "")); }