Esempio n. 1
0
        public SurveyLiteDbContext(string connection)
        {
            Database = new LiteDatabase(connection);
            var       total = Surveys.Count();
            const int max   = 8;

            if (total < max)
            {
                var newSurveys = Enumerable.Range(0, max - total).SelectMany(i => RandomEntitiesGenerator.SeedSurveys());
                Surveys.InsertBulk(newSurveys);
                Surveys.InsertBulk(RandomEntitiesGenerator.PredefinedSurveys);
            }
        }
        public IHttpActionResult GetNextQuestion(string id, int questionNumber, string direction)
        {
            try
            {
                var surveyObject = new SurveyRaterSurvey();

                surveyObject.Type = "Annually";

                surveyObject.Period = "2016";

                surveyObject.Rater = new Surveys().getSurveyTeamEmployeeList().Where(c => c.AD_User_Name.ToLower() == Generic.GetCurrentLogonUserName().ToLower()).First().Employee;

                surveyObject.Ratee = id;

                var surveyList = new Surveys().getSurveyFor(surveyObject);

                surveyList = direction == "Next" ? surveyList.Where(c => c.Q_No == questionNumber + 1).Distinct().ToList() : surveyList.Where(c => c.Q_No == questionNumber - 1).Distinct().ToList();

                // surveyList = surveyList.Where(c => c.Q_No == questionNumber + 1).Distinct().ToList();

                var nextQuestionObject = new SurveyQuestionnaire();

                if (surveyList.Count() > 0)
                {
                    nextQuestionObject.Q_No = surveyList[0].Q_No;

                    nextQuestionObject.Question = surveyList[0].Question;

                    nextQuestionObject.Rating = surveyList[0].Rating;

                    nextQuestionObject.Question_ID = surveyList[0].Question_ID;

                    nextQuestionObject.Rater_Comment = surveyList[0].Rater_Comment;
                }


                return(Ok(nextQuestionObject));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Esempio n. 3
0
        public ActionResult PrintRatingReportPerBusinessUnit(List <SurveyStatus> Survey_ForList, bool includeRaters, string businessUnit)
        {
            if (Survey_ForList.Count() == 0)
            {
                return(Redirect("PrintRatingReport"));
            }

            List <string> itemRow = new List <string>();

            RatingReport reportObject = new RatingReport();

            DataTable dt = new DataTable();

            SurveyForList surveyReportPParameterObject = new SurveyForList();

            surveyReportPParameterObject.Type = "Annually";

            surveyReportPParameterObject.Period = "2016";

            //var tempDirectoryPath = ConfigurationManager.AppSettings["BusinessUnitReportLocation"] + @"" + businessUnit;

            //var files = Directory.GetFiles(tempDirectoryPath, "*.xlsx");

            //if (Directory.Exists(tempDirectoryPath))
            //{
            //    foreach (var item in files)
            //    {
            //        System.IO.File.Delete(item);
            //    }

            //    Directory.Delete(tempDirectoryPath);
            //}

            foreach (var ratee in Survey_ForList)
            {
                surveyReportPParameterObject.Survey_For = ratee.Survey_For;

                List <SurveyStatus> list = new List <SurveyStatus>();


                list.Add(new SurveyStatus()
                {
                    Survey_For = ratee.Survey_For
                });

                var raterList = new List <string>();

                if (!string.IsNullOrWhiteSpace(ratee.Survey_For))
                {
                    dt = new DataTable();

                    var report = new Surveys().getSurveyForReport(surveyReportPParameterObject);

                    if (report.Count() > 0)
                    {
                        ViewBag.ReportList = report;

                        dt = reportObject.GetColumns(dt, report);

                        reportObject.AddHeadings(dt, ratee.Survey_For, report.First().Period);

                        reportObject.AddQuestionHeadings(dt, report);

                        reportObject.AddQuestionAverallMinRating(dt, report);

                        reportObject.AddQuestionAverallMaxRating(dt, report);

                        reportObject.AddQuestionAverageRating(dt, report);

                        dt.Rows.Add(new List <string>().ToArray());

                        //if (includeRaters)
                        //{
                        itemRow.Add("INDIVIDUAL RATER SCORES AND COMMENTS");

                        dt.Rows.Add(itemRow.ToArray());

                        var raters = report.Select(c => c.Rater).AsQueryable().Distinct().ToList();

                        var questionsPerRater = report.Select(c => c.Rater_Comment).AsQueryable().Distinct().ToList();

                        //for (int i = 0; i < report.Select(c => c.Question_ID).AsQueryable().Distinct().ToList().Count; i++)
                        // {
                        foreach (var item in raters)
                        {
                            var record = report.Where(c => c.Rater == item).ToList();

                            reportObject.AddIndividualRaterComment(dt, record, includeRaters, item, report);

                            reportObject.AddIndividualRating(dt, record, includeRaters, item, report);
                        }
                        // }
                        //}
                    }
                }

                if (!string.IsNullOrWhiteSpace(ratee.Survey_For) && dt.Rows.Count > 0)
                {
                    GenerateRatingReportExcelFilePerBusinessUnit(dt, list, includeRaters, businessUnit);
                }
            }



            return(Redirect("PrintRatingReport"));
        }