private QueryListDataViewModel PopulateQueries(int topCount = 0)
        {
            string doctorLogin = User.Identity.Name;
            var    queries     = from q in queryRepository.GetAll()
                                 where q.Question.Form.Visit.Patient.Doctor.Login == doctorLogin
                                 orderby q.QueryTime
                                 select new QueryViewModel {
                IsClosed         = q.AnswerText != null,
                QueryAuthorImage = q.QueryAuthor.Photo,
                QueryId          = q.Id,
                QueryText        = q.QueryText,
                QueryAuthor      = q.QueryAuthor.Role + " " + q.QueryAuthor.LastName,
                PatientNumber    = q.Question.Form.Visit.Patient.PatientNumber,
                PatientCaption   = q.Question.Form.Visit.Patient.Caption,
                VisitCaption     = q.Question.Form.Visit.Caption,
                FormCaption      = q.Question.Form.Caption,
                Question         = q.Question.Caption
            };


            var model = new QueryListDataViewModel(topCount <= 0 ? queries : queries.Take(topCount));

            model.OpenQueryNumber =
                queryRepository.FindBy(q => q.Question.Form.Visit.Patient.Doctor.Login == doctorLogin).Count(
                    q => q.AnswerText == null);
            model.TotalQueryNumber =
                queryRepository.FindBy(q => q.Question.Form.Visit.Patient.Doctor.Login == doctorLogin).Count();
            return(model);
        }
Example #2
0
        public void Index_Counters_Model()
        {
            //Arrange
            EmulateControllerContext(controller, false);
            int queryId = 55;
            var query   = GetStandardQuery(queryId);

            query.AnswerText = null;

            queryRepository
            .Setup(r => r.FindBy(It.IsAny <Expression <Func <Query, bool> > >()))
            .Returns((new List <Query> {
                query
            }).AsQueryable());
            //Act
            var result = controller.Index();

            //Assert

            Assert.That(result, Is.Not.Null);
            Assert.That(result is ViewResultBase);
            var viewResultBase = result as ViewResultBase;

            Assert.That(viewResultBase.Model, Is.Not.Null);
            QueryListDataViewModel model = viewResultBase.Model as QueryListDataViewModel;

            Assert.That(model, Is.Not.Null);
            Assert.That(model.TotalQueryNumber, Is.EqualTo(1), "Total Query Number");
            Assert.That(model.OpenQueryNumber, Is.EqualTo(1), "Open Query Number");
        }
        public ActionResult Index()
        {
            QueryListDataViewModel model = PopulateQueries();

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_Index", model));
            }
            return(View("Index", model));
        }
Example #4
0
        public void Index_Query_Model()
        {
            //Arrange
            EmulateControllerContext(controller, false);
            int queryId = 55;
            var query   = GetStandardQuery(queryId);

            queryRepository
            .Setup(r => r.GetAll())
            .Returns((new List <Query> {
                query
            }).AsQueryable());
            //Act

            var result = controller.Index();

            //Assert

            Assert.That(result, Is.Not.Null);
            Assert.That(result is ViewResultBase);
            var viewResultBase = result as ViewResultBase;

            Assert.That(viewResultBase.Model, Is.Not.Null);
            QueryListDataViewModel model = viewResultBase.Model as QueryListDataViewModel;

            Assert.That(model, Is.Not.Null);

            Assert.That(model.Count, Is.EqualTo(1));
            var queryModel = model[0];

            Assert.That(queryModel.IsClosed, Is.True);

            Assert.That(queryModel.QueryText, Is.EqualTo(query.QueryText));
            //Assert.That(queryModel.QueryAuthor, Is.EqualTo("Supervisor Smith"));
            //Assert.That(queryModel.QueryAuthorImageUrl, Is.EqualTo(@"~\image1.jpg"));


            Assert.That(queryModel.Question, Is.EqualTo("Temperature"));
            Assert.That(queryModel.FormCaption, Is.EqualTo("Demographics"));
            Assert.That(queryModel.VisitCaption, Is.EqualTo("Baseline"));
            Assert.That(queryModel.PatientCaption, Is.EqualTo("Subj A025"));
            Assert.That(queryModel.PatientNumber, Is.EqualTo(25));

            //Assert.That(queryModel.Answer, Is.EqualTo(query.AnswerText));
            //Assert.That(queryModel.AnswerAuthor, Is.EqualTo("Doctor Johnson"));
            //Assert.That(queryModel.AnswerAuthorImageUrl, Is.EqualTo(@"~\image2.jpg"));
        }
        public ActionResult GridCallback()
        {
            QueryListDataViewModel model = PopulateQueries();

            return(PartialView("_QueryGrid", model));
        }
        public ActionResult Summary()
        {
            QueryListDataViewModel model = PopulateQueries(6);

            return(PartialView("_Summary", model));
        }