示例#1
0
        public GetPatientTasksDataResponse GetTasks(GetPatientTasksDataRequest request)
        {
            try
            {
                var result = new GetPatientTasksDataResponse();

                IGoalRepository taskRepo = Factory.GetRepository(request, RepositoryType.PatientTask);
                taskRepo.UserId = request.UserId;
                IGoalRepository goalRepo = Factory.GetRepository(request, RepositoryType.PatientGoal);
                // Get all the goals associated to the patient in the request object.
                if (!string.IsNullOrEmpty(request.PatientId))
                {
                    List <PatientGoalViewData> goalViewDataList = goalRepo.Find(request.PatientId) as List <PatientGoalViewData>;
                    List <string> patientGoalIds = goalViewDataList.Select(a => a.Id).ToList();
                    if (patientGoalIds != null && patientGoalIds.Count > 0)
                    {
                        result.TasksData = (List <PatientTaskData>)taskRepo.Search(request, patientGoalIds);
                    }
                }
                else
                {
                    result.TasksData = (List <PatientTaskData>)taskRepo.Search(request, null);
                }

                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#2
0
        public static List <PatientTask> GetTasks(GetTasksRequest request)
        {
            List <PatientTask> tasks = null;

            try
            {
                //[Route("/{Context}/{Version}/{ContractNumber}/Goal/Tasks", "POST")]
                IRestClient client = new JsonServiceClient();
                string      url    = Common.Helper.BuildURL(string.Format("{0}/{1}/{2}/{3}/Goal/Tasks", DDPatientGoalsServiceUrl, "NG", request.Version, request.ContractNumber), request.UserId);

                GetPatientTasksDataResponse ddResponse = client.Post <GetPatientTasksDataResponse>(url, new GetPatientTasksDataRequest
                {
                    Context = "NG", ContractNumber = request.ContractNumber, Version = request.Version, UserId = request.UserId, StatusIds = request.StatusIds, PatientId = request.PatientId
                } as object);

                if (ddResponse != null && ddResponse.TasksData != null)
                {
                    tasks = new List <PatientTask>();
                    List <PatientTaskData> dataList = ddResponse.TasksData;
                    foreach (PatientTaskData n in dataList)
                    {
                        //Make a call to AttributeLibrary to get attributes details for Goal and Task.
                        List <CustomAttribute> taskAttributesLibrary = GoalsEndpointUtil.GetAttributesLibraryByType(request, 2);
                        PatientTask            i = GoalsUtil.ConvertToTask(n, taskAttributesLibrary);
                        tasks.Add(i);
                    }
                }
            }
            catch
            {
                throw;
            }
            return(tasks);
        }
示例#3
0
        public GetPatientTasksDataResponse Post(GetPatientTasksDataRequest request)
        {
            GetPatientTasksDataResponse response = new GetPatientTasksDataResponse();

            try
            {
                if (string.IsNullOrEmpty(request.UserId))
                {
                    throw new UnauthorizedAccessException("PatientGoalDD:Post()::Unauthorized Access");
                }

                response         = Manager.GetTasks(request);
                response.Version = request.Version;
            }
            catch (Exception ex)
            {
                CommonFormatter.FormatExceptionResponse(response, base.Response, ex);

                string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0";
                Common.Helper.LogException(int.Parse(aseProcessID), ex);
            }
            return(response);
        }