コード例 #1
0
        public void InsertToDos_Test()
        {
            string contractNumber = "InHealth001";
            double version        = 1.0;
            string token          = "53fb6f20d6a4851b0ce14611";

            JsonServiceClient.HttpWebRequestFilter = x => x.Headers.Add(string.Format("Token: {0}", token));
            IRestClient client = new JsonServiceClient();
            string      url    = string.Format(@"http://localhost:888/Nightingale/{0}/{1}/Scheduling/ToDo/Insert",
                                               version,
                                               contractNumber);

            ToDo data = new ToDo {
                AssignedToId = "5325c821072ef705080d3488",
                CategoryId   = "53fb585dd4332324207eddc6",
                Description  = "fourth todo insert desc",
                DueDate      = DateTime.UtcNow,
                PatientId    = "53ed25aed433232e6c26182c",
                PriorityId   = 2,
                Title        = "fourth todo insert title"
            };
            PostInsertToDoResponse response = client.Post <PostInsertToDoResponse>(
                url, new PostInsertToDoRequest
            {
                ContractNumber = contractNumber,
                Token          = token,
                UserId         = "5325c821072ef705080d3488",
                Version        = version,
                ToDo           = data
            } as object);

            Assert.IsNotNull(response);
        }
コード例 #2
0
        public void InsertToDoTest()
        {
            SchedulingManager ngm = new SchedulingManager();

            PostInsertToDoRequest request = new PostInsertToDoRequest
            {
                Version        = version,
                ContractNumber = contractNumber,
                UserId         = userId,
                ToDo           = new AppDomain.NG.DTO.ToDo
                {
                    AssignedToId = "5325c821072ef705080d3489",
                    CategoryId   = "53f7964cd433231edc7d24ce",
                    Description  = "app domain desc 2",
                    DueDate      = DateTime.UtcNow,
                    PatientId    = "5325db87d6a4850adcbba986",
                    PriorityId   = 0,
                    ProgramIds   = new List <string> {
                        "532caae9a38116ac18000846"
                    },
                    Title = "app domain title 2",
                }
            };

            PostInsertToDoResponse response = ngm.InsertToDo(request);

            Assert.IsNotNull(response);
        }
コード例 #3
0
        public PostInsertToDoResponse Post(PostInsertToDoRequest request)
        {
            PostInsertToDoResponse response = new PostInsertToDoResponse();
            SchedulingManager      toDoMgr  = new SchedulingManager();
            ValidateTokenResponse  result   = null;

            try
            {
                request.Token = base.Request.Headers["Token"] as string;
                result        = Security.IsUserValidated(request.Version, request.Token, request.ContractNumber);
                if (result.UserId.Trim() != string.Empty)
                {
                    request.UserId = result.UserId;
                    response       = toDoMgr.InsertToDo(request);
                }
                else
                {
                    throw new UnauthorizedAccessException();
                }
            }
            catch (Exception ex)
            {
                CommonFormatter.FormatExceptionResponse(response, base.Response, ex);
                if ((ex is WebServiceException) == false)
                {
                    toDoMgr.LogException(ex);
                }
            }
            finally
            {
                List <string> patientIds = null;
                if (request.ToDo != null)
                {
                    patientIds = new List <string>();
                    patientIds.Add(request.ToDo.PatientId);
                }
                if (result != null)
                {
                    AuditHelper.LogAuditData(request, result.SQLUserId, patientIds, System.Web.HttpContext.Current.Request, request.GetType().Name);
                }
            }
            return(response);
        }
コード例 #4
0
        public PostInsertToDoResponse InsertToDo(PostInsertToDoRequest request)
        {
            try
            {
                if (request.ToDo == null)
                {
                    throw new Exception("The ToDo property cannot be null in the request.");
                }

                PostInsertToDoResponse response = new PostInsertToDoResponse();
                //[Route("/{Context}/{Version}/{ContractNumber}/Scheduling/ToDo/Insert", "PUT")]
                IRestClient client = new JsonServiceClient();
                string      url    = Common.Helper.BuildURL(string.Format("{0}/{1}/{2}/{3}/Scheduling/ToDo/Insert",
                                                                          DDSchedulingUrl,
                                                                          "NG",
                                                                          request.Version,
                                                                          request.ContractNumber), request.UserId);

                ToDoData data = new ToDoData
                {
                    AssignedToId = request.ToDo.AssignedToId,
                    CategoryId   = request.ToDo.CategoryId,
                    Description  = request.ToDo.Description,
                    DueDate      = request.ToDo.DueDate,
                    StartTime    = request.ToDo.StartTime,
                    Duration     = request.ToDo.Duration,
                    PatientId    = request.ToDo.PatientId,
                    PriorityId   = request.ToDo.PriorityId,
                    ProgramIds   = request.ToDo.ProgramIds,
                    Title        = request.ToDo.Title,
                    StatusId     = request.ToDo.StatusId
                };
                if (request.ToDo.StatusId == (int)Phytel.API.DataDomain.Scheduling.DTO.Status.Met || request.ToDo.StatusId == (int)Phytel.API.DataDomain.Scheduling.DTO.Status.Abandoned)
                {
                    data.ClosedDate = DateTime.UtcNow;
                }
                PutInsertToDoDataResponse dataDomainResponse =
                    client.Put <PutInsertToDoDataResponse>(url, new PutInsertToDoDataRequest
                {
                    Context        = "NG",
                    ContractNumber = request.ContractNumber,
                    Version        = request.Version,
                    UserId         = request.UserId,
                    ToDoData       = data
                } as object);
                if (dataDomainResponse != null && dataDomainResponse.ToDoData != null)
                {
                    ToDo toDo = convertToToDo(dataDomainResponse.ToDoData);
                    // Call Patient DD to get patient details.
                    getPatient(request.Version, request.ContractNumber, request.UserId, client, toDo);
                    response.ToDo    = toDo;
                    response.Version = dataDomainResponse.Version;
                }

                return(response);
            }
            catch (WebServiceException ex)
            {
                throw new WebServiceException("AD:InsertToDo()::" + ex.Message, ex.InnerException);
            }
        }