Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public List<Dictionary<string, string>> GetAllLeadStudent()
- {
- List<Dictionary<string, string>> finalData = NEW List<Dictionary<string, string>>();
- USING (var db = NEW EduConnectDbEntities())
- {
- try
- {
- var leadQuestionId = _formService.GET(x => x.Title == "Lead Qualification Form").Id;
- var cmd = db.DATABASE.Connection.CreateCommand();
- cmd.CommandText = "[dbo].[sp_API_Lead_Qualification]";
- cmd.CommandType = CommandType.StoredProcedure;
- cmd.Parameters.ADD(NEW SqlParameter("@title", "Lead Qualification Form"));
- cmd.Parameters.ADD(NEW SqlParameter("@leadQuestionId", leadQuestionId));
- db.DATABASE.Connection.OPEN();
- var reader = cmd.ExecuteReader();
- var Studentdata = ((IObjectContextAdapter)db)
- .ObjectContext
- .Translate<SPStudentDetails>(reader)
- .ToList();
- reader.NextResult();
- var Answersdata = ((IObjectContextAdapter)db)
- .ObjectContext
- .Translate<SPAnswersDetails>(reader)
- .ToList();
- reader.NextResult();
- var Questionsdata = ((IObjectContextAdapter)db)
- .ObjectContext
- .Translate<SPQuestionDetail>(reader)
- .ToList();
- IF(Questionsdata !=NULL && Questionsdata.COUNT > 0)
- {
- foreach (var item IN Questionsdata)
- {
- item.Title = item.Title.REPLACE("{StudentName}", "");
- item.Title = item.Title.REPLACE("<b>", "");
- item.Title = item.Title.REPLACE("</b>", "");
- item.Title = item.Title.TRIM(',');
- item.Title = item.Title.TRIM();
- }
- }
- IF (Answersdata != NULL)
- {
- foreach (var item IN Answersdata)
- {
- IF (string.IsNullOrEmpty(item.FormEntryValueList))
- {
- item.Answer = item.FormEntryValueList;
- }
- ELSE IF (!string.IsNullOrEmpty(item.FormEntryValueList))
- {
- string[] answers = item.FormEntryValueList.Split(',');
- List<string> answerList = NEW List<string>();
- IF (answers != NULL && INT.TryParse(answers[0], OUT _))
- {
- foreach (var ans IN answers)
- {
- var checkSupportiveText = (FROM a IN _formEntryService.GetAll()
- JOIN b IN _formEntryValueService.GetAll() ON a.Id equals b.FormEntryId
- JOIN c IN _formEntryValueOptionService.GetAll() ON b.VALUE equals c.FormEntityOptionId.ToString()
- WHERE a.UserId == item.UserId && a.Id == item.FormEntryId && c.FormEntityOptionId.ToString() == ans
- SELECT c.SupportiveText).ToList();
- IF (checkSupportiveText.COUNT() == 0)
- answerList.ADD(ans);
- IF (checkSupportiveText.COUNT() != 0 && checkSupportiveText[0] == NULL)
- answerList.ADD(_formEntityOptionService.GET(INT.Parse(ans)).Title);
- ELSE
- answerList.ADD(string.JOIN(",", checkSupportiveText.ToArray()));
- }
- item.Answer = String.JOIN(", ", answerList.ToArray());
- item.Answer = item.Answer.TrimEnd(' ').TrimEnd(',');
- }
- ELSE
- {
- item.Answer = item.FormEntryValueList;
- }
- }
- }
- }
- foreach (var item IN Studentdata)
- {
- Dictionary<string, string> keyValuePairs = NEW Dictionary<string, string>();
- keyValuePairs.ADD("Id", item.Id);
- keyValuePairs.ADD("FullName", item.FullName);
- keyValuePairs.ADD("Country", item.CountryName);
- foreach (var question IN Questionsdata)
- {
- var answerTemp = Answersdata.WHERE(x=>x.UserId == item.Id && x.FormId == question.FormId).FirstOrDefault();
- keyValuePairs.ADD(question.Step.ToString() + ". " +question.Title, answerTemp !=NULL ? answerTemp.Answer : NULL);
- }
- finalData.ADD(keyValuePairs);
- keyValuePairs.ADD("Total Score", item.TotalScore.ToString());
- keyValuePairs.ADD("TimeStamp", item.TIMESTAMP != NULL ? item.TIMESTAMP.VALUE.ToString("yyyy/MM/dd HH:mm:ss") : item.CreateDate.ToString("yyyy/MM/dd HH:mm:ss"));
- }
- RETURN finalData;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- db.DATABASE.Connection.Close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment