示例#1
0
 public IEnumerable <object> Find(string Id)
 {
     try
     {
         List <PatientGoalViewData> goalsViewDataList = null;
         List <IMongoQuery>         queries           = new List <IMongoQuery>();
         queries.Add(Query.EQ(MEPatientGoal.PatientIdProperty, ObjectId.Parse(Id)));
         queries.Add(Query.EQ(MEPatientGoal.DeleteFlagProperty, false));
         queries.Add(Query.EQ(MEPatientGoal.TTLDateProperty, BsonNull.Value));
         IMongoQuery mQuery = Query.And(queries);
         using (PatientGoalMongoContext ctx = new PatientGoalMongoContext(_dbName))
         {
             List <MEPatientGoal> meGoals = ctx.PatientGoals.Collection.Find(mQuery).ToList();
             if (meGoals != null)
             {
                 goalsViewDataList = new List <PatientGoalViewData>();
                 foreach (MEPatientGoal b in meGoals)
                 {
                     PatientGoalViewData goalViewData = new PatientGoalViewData
                     {
                         Id           = b.Id.ToString(),
                         PatientId    = b.PatientId.ToString(),
                         FocusAreaIds = Helper.ConvertToStringList(b.FocusAreaIds),
                         Name         = b.Name,
                         StatusId     = ((int)b.Status)
                     };
                     goalsViewDataList.Add(goalViewData);
                 }
                 goalsViewDataList = goalsViewDataList.OrderByDescending(o => o.Id).ToList();
             }
         }
         return(goalsViewDataList);
     }
     catch (Exception) { throw; }
 }
示例#2
0
        public GetAllPatientGoalsDataResponse GetPatientGoalList(GetAllPatientGoalsDataRequest request)
        {
            GetAllPatientGoalsDataResponse result = null;

            try
            {
                result = new GetAllPatientGoalsDataResponse();
                IGoalRepository goalRepo = Factory.GetRepository(request, RepositoryType.PatientGoal);

                List <PatientGoalViewData> goalViewDataList = goalRepo.Find(request.PatientId) as List <PatientGoalViewData>;
                List <PatientGoalViewData> goalDataView     = null;
                if (goalViewDataList != null && goalViewDataList.Count > 0)
                {
                    goalDataView = new List <PatientGoalViewData>();
                    foreach (PatientGoalViewData p in goalViewDataList)
                    {
                        string contractNumber = request.ContractNumber;
                        string context        = request.Context;

                        PatientGoalViewData view = new PatientGoalViewData();
                        view = p;

                        //Barriers
                        List <ChildViewData>      barrierChildView = null;
                        List <PatientBarrierData> barrierData      = getBarriersByPatientGoalId(request, p.Id);
                        if (barrierData != null && barrierData.Count > 0)
                        {
                            barrierChildView = new List <ChildViewData>();
                            foreach (PatientBarrierData b in barrierData)
                            {
                                barrierChildView.Add(new ChildViewData {
                                    Id = b.Id, PatientGoalId = b.PatientGoalId, Name = b.Name, StatusId = ((int)(b.StatusId))
                                });
                                barrierChildView = barrierChildView.OrderBy(o => o.Name).ToList();
                            }
                        }
                        view.BarriersData = barrierChildView;

                        //Tasks
                        List <ChildViewData>   taskChildView = null;
                        List <PatientTaskData> taskData      = getTasksByPatientGoalId(request, p.Id);
                        if (taskData != null && taskData.Count > 0)
                        {
                            taskChildView = new List <ChildViewData>();
                            foreach (PatientTaskData b in taskData)
                            {
                                taskChildView.Add(new ChildViewData {
                                    Id = b.Id, PatientGoalId = b.PatientGoalId, Description = b.Description, StatusId = ((int)(b.StatusId))
                                });
                                taskChildView = taskChildView.OrderBy(o => o.Description).ToList();
                            }
                        }
                        view.TasksData = taskChildView;

                        //Interventions
                        List <ChildViewData>           interChildView = null;
                        List <PatientInterventionData> interData      = getInterventionsByPatientGoalId(request, p.Id);
                        if (interData != null && interData.Count > 0)
                        {
                            interChildView = new List <ChildViewData>();
                            foreach (PatientInterventionData b in interData)
                            {
                                interChildView.Add(new ChildViewData {
                                    Id = b.Id, PatientGoalId = b.PatientGoalId, Description = b.Description, StatusId = ((int)(b.StatusId))
                                });
                                interChildView.OrderBy(o => o.Description).ToList();
                            }
                        }
                        view.InterventionsData = interChildView;
                        goalDataView.Add(view);
                    }
                }

                result.PatientGoalsData = goalDataView;
                result.Version          = request.Version;
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }