public HttpResponseMessage SaveQuizCareer([FromBody] UsersQuizzesEntity entity) { object objuser = null; Request.Properties.TryGetValue("user", out objuser); var user = objuser as UserEntity; entity.UserId = user.UserId; entity.Type = QuizTypes.PATHWAY.ToString(); var result = _usersManager.SaveQuiz(entity); return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public HttpResponseMessage SaveAboutyouQuiz([FromBody] UsersQuizzesEntity entity) { object objuser = null; Request.Properties.TryGetValue("user", out objuser); var user = objuser as UserEntity; entity.UserId = user.UserId; entity.Type = QuizTypes.ASSESSMENT.ToString(); var dictionary = JsonConvert.DeserializeObject <Dictionary <int, object> >(entity.Answers); var result = _usersManager.SaveQuiz(entity, dictionary); return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public Result SaveQuiz(UsersQuizzesEntity quiz) { try { var con = new DapperConnectionManager(); var query = new QueryEntity(); query.Entity = new { UserQuizId = quiz.UserQuizId }; query.Query = @"SELECT * FROM UsersQuizzes WHERE UserQuizId = @UserQuizId"; var result = con.ExecuteQuery <UsersQuizzesEntity>(query); if (!result.Success) { return(result); } quiz.DateVal = DateTime.Now; quiz.Date = quiz.DateVal.ToString("d MMM yyyy"); var q = ((IEnumerable <UsersQuizzesEntity>)result.Entity).FirstOrDefault(); if (q != null) { query.Entity = quiz; query.Query = @"Update UsersQuizzes set Date = @Date , DateVal = @DateVal , Results = @Results , Completed = @Completed where UserQuizId = @UserQuizId"; result = con.ExecuteQuery(query); return(result); } query.Entity = quiz; query.Query = @"INSERT INTO UsersQuizzes (UserId ,QuizId ,Date, DateVal, Results ,Completed, Type) VALUES (@UserId ,@QuizId ,@Date, @DateVal ,@Results ,@Completed, @Type)"; result = con.InsertQuery(query); return(result); }catch (Exception ex) { Logger.Log(ex); } return(new Result(false)); }
public Result SaveQuiz(UsersQuizzesEntity quiz, Dictionary <int, object> questionsAnswers) { try { var con = new DapperConnectionManager(); var query = new QueryEntity(); query.Query = @"SELECT * FROM Users where UserId = @UserId"; query.Entity = new { UserId = quiz.UserId }; var result = con.ExecuteQuery <UserEntity>(query); if (!result.Success) { result.Message = "An error occured"; return(result); } var r = (IEnumerable <UserEntity>)result.Entity; var userEntity = r.FirstOrDefault(); if (userEntity == null) { result.Message = "An error occurred"; return(result); } foreach (var item in questionsAnswers) { query.Entity = new { QuestionId = item.Key }; query.Query = @"SELECT * FROM UserDataQuestions WHERE QuestionId = @QuestionId"; var resultUserData = con.ExecuteQuery <UserDataQuestionsEntity>(query); if (!resultUserData.Success) { resultUserData.Message = "An error occurred"; return(resultUserData); } var data = ((IEnumerable <UserDataQuestionsEntity>)resultUserData.Entity).FirstOrDefault(); if (data == null) { continue; } var itemData = data.FieldName.ToString(); switch (itemData) { case "NurseType": userEntity.NurseType = item.Value.ToString(); break; case "Area": userEntity.Area = item.Value.ToString(); break; case "ActiveWorking": userEntity.ActiveWorking = item.Value.ToString(); break; case "PostalCode": userEntity.PostalCode = item.Value.ToString(); break; case "Address": var adress = JsonConvert.DeserializeObject <AddressEntity>(item.Value.ToString()); userEntity.State = adress.State; userEntity.PostalCode = adress.PostalCode; userEntity.Country = adress.Country; userEntity.Suburb = adress.Suburb; break; case "Patients": userEntity.Patients = item.Value.ToString(); break; case "PatientsTitle": userEntity.PatientsTitle = item.Value.ToString(); break; case "Qualification": userEntity.Qualification = item.Value.ToString(); break; case "Setting": userEntity.Setting = item.Value.ToString(); break; case "Age": userEntity.Age = item.Value.ToString(); break; } } using (var scope = new TransactionScope()) { query.Entity = new { UserQuizId = quiz.UserQuizId }; query.Query = @"SELECT * FROM UsersQuizzes WHERE UserQuizId = @UserQuizId"; result = con.ExecuteQueryUnScoped <UsersQuizzesEntity>(query); if (!result.Success) { return(result); } quiz.DateVal = DateTime.Now; quiz.Date = quiz.DateVal.ToString("d MMM yyyy"); var q = ((IEnumerable <UsersQuizzesEntity>)result.Entity).FirstOrDefault(); if (q != null) { query.Entity = quiz; query.Query = @"Update UsersQuizzes set Date = @Date , DateVal = @DateVal , Results = @Results , Completed = @Completed, Survey = @Survey where UserQuizId = @UserQuizId"; result = con.ExecuteQueryUnScoped(query); } else { query.Entity = quiz; query.Query = @"INSERT INTO UsersQuizzes (UserId ,QuizId ,Date, DateVal, Results ,Completed, Type, Survey) VALUES (@UserId ,@QuizId ,@Date, @DateVal ,@Results ,@Completed, @Type, @Survey)"; result = con.InsertQueryUnScoped(query); } var queryUser = new QueryEntity() { Entity = userEntity, Query = @"UPDATE Users set NurseType = @NurseType, ActiveWorking = @ActiveWorking, Area = @Area, Age = @Age, Country = @Country, Suburb = @Suburb, PostalCode = @PostalCode, State = @State, Patients = @Patients, PatientsTitle =@PatientsTitle, Qualification = @Qualification, Setting = @Setting where UserId = @UserId " }; result = con.ExecuteQueryUnScoped(queryUser); result.Entity = null; scope.Complete(); return(result); } } catch (Exception ex) { Logger.Log(ex); } return(new Result(false)); }
public HttpResponseMessage SaveAssessmentQuiz([FromBody] UsersQuizzesEntity entity) { object objuser = null; Request.Properties.TryGetValue("user", out objuser); var user = objuser as UserEntity; entity.UserId = user.UserId; entity.Type = QuizTypes.ASSESSMENT.ToString(); var result = _usersManager.SaveQuiz(entity); var error_counter = 0; if (!result.Success) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new Result(false))); } if (result.Success) { var userQuizid = (int)result.Entity; //Console.WriteLine(entity.Results); JObject parent_json = JObject.Parse(entity.Results); var answer = parent_json.Value <JObject>("answers").Properties(); var temp_result = new Result(); if (answer != null) { var nurse_answer_dict = answer.ToDictionary(k => Int32.Parse(k.Name), v => Decimal.Parse(v.Value.ToString())); foreach (KeyValuePair <int, decimal> ans in nurse_answer_dict) { NurseSelfAssessmentAnswersEntity ans_entity = new NurseSelfAssessmentAnswersEntity(); ans_entity.QuestionId = ans.Key; ans_entity.Value = ans.Value; ans_entity.LastUpdate = entity.DateVal; ans_entity.UserId = entity.UserId; ans_entity.UserQuizId = userQuizid; AnswerEntity answer_entity = null; if (answerDictionary.TryGetValue(new Tuple <int, decimal>(ans_entity.QuestionId, ans_entity.Value), out answer_entity)) { ans_entity.AnswerId = answer_entity.AnswerId; } QuestionEntity question_entity = null; if (questionDictionary.TryGetValue(ans.Key, out question_entity)) { ans_entity.AspectId = (int)question_entity.AspectId; } // insert answer into database temp_result = _nurseSelfAssessmentAnswersManager.InsertAnswer(entity.UserId, ans_entity); if (!temp_result.Success) { error_counter++; } } } } result.Message += String.Format(". Process ended with {0} error ", error_counter); return(Request.CreateResponse(HttpStatusCode.OK, result)); }