public ResponseModel<String> ValidateAccountService(ValidateAccountRequest req) { var response = new ResponseModel<string>(); if (_db.ValidateUserKeys.Any(x => x.Username == req.userName && x.guid == req.guid)) { var user = _db.Users.SingleOrDefault(x => x.Username == req.userName); if (user == null) { response.Status = 500; response.Message = "Internal Server Error"; Logger.Info("Validate Account : " + req.userName); return response; } if (user.isActive == "true") { response.Status = 405; response.Message = "already active user"; return response; } user.isActive = "true"; var Recommendations = _db.RecommendedBies.SingleOrDefault(x => x.RecommendedTo == user.Username); new UserMessageService().SendUserNotificationForAccountVerificationSuccess( user.Username, user.Type ); if (Recommendations != null) { Recommendations.isValid = Constants.status_true; var result = new UserReputationService().UpdateUserBalance(Constants.userType_user, Recommendations.RecommendedFromUsername, Constants.newAccountCreationReferralBalanceAmount, 0, 0, Constants.payment_credit, Recommendations.RecommendedTo + " Joined Cautom", "New Account", "Referral Bonus", false); new UserNotificationService().SendUserCommonNotificationAsync(Recommendations.RecommendedFromUsername,Recommendations.RecommendedTo +" Account Validated <br/> Referral Bonus is Credited to your account!",Constants.userType_user); } try { _db.SaveChanges(); } catch (DbEntityValidationException e) { DbContextException.LogDbContextException(e); response.Status = 500; response.Message = "Internal Server Error"; return response; } response.Status = 200; response.Message = "validated"; return response; } response.Status = 402; response.Message = "link expired"; return response; }
public void AcceptCompleteSurveyTemplateDetailById(string username, long id, string userResponse) { var response = new ResponseModel<string>(); try { var HashMap = new Dictionary<string, double>(); var surveyDetail = _db.CreateTemplateQuestionInfoes.SingleOrDefault(x => x.Id == id && x.username == username); if (surveyDetail != null) { var SurveyResult = GetTemplateSurveyResponseResultById(username, id); foreach (var resultList in SurveyResult.Payload.resultList) { double subTotalResponse = (resultList.resultMap.Sum(x => x.Value)); //if (resultList.questionType == Constants.questionTypeSAQ) { foreach (var resultMap in resultList.resultMap) { HashMap[resultList.questionType + resultMap.Key] = Convert.ToDouble(Convert.ToDouble(resultMap.Value) / subTotalResponse); } } } var userList = _db.UserJobMappings.Where(x => x.refKey == surveyDetail.referenceId).Select(x => x.username).Distinct().ToList(); foreach (var users in userList) { double userReputationTempSum = 0.0; double averageReputation; long totalQuestions = 0; var userAnswerList = _db.UserSurveyResultToBeRevieweds1.Where(x => x.refKey == surveyDetail.referenceId && x.username == users) .ToList(); foreach (var userAnswer in userAnswerList) { userReputationTempSum += HashMap[userAnswer.type + userAnswer.answer]; totalQuestions++; } if (totalQuestions < 1) totalQuestions = 1; averageReputation = userReputationTempSum/totalQuestions; var result = new UserReputationService().UpdateUserBalance(Constants.userType_user, users, Convert.ToDouble( surveyDetail.payPerUser), 0, averageReputation, Constants.payment_credit, surveyDetail.title, surveyDetail.type, surveyDetail.subType,true); } surveyDetail.verified = Constants.status_accepted; try { _db.SaveChanges(); } catch (DbEntityValidationException e) { DbContextException.LogDbContextException(e); } } else { response.Status = 404; response.Message = "Survey id not found !!!"; } } catch (Exception ex) { } }