예제 #1
0
파일: ToDoTest.cs 프로젝트: rotovibe/engage
        public void UpdateToDo_Test()
        {
            ToDoData data = new ToDoData
            {
                Id           = "5400b215d433231f60c94119",
                AssignedToId = "5325c821072ef705080d3488",
                //CategoryId = "53f51b0ed4332316fcdbeba4",
                //Description = "updated desc",
                //DueDate = System.DateTime.UtcNow,
                //StartTime = DateTime.UtcNow,
                //Duration = 20,
                Title = "this is my updated title",
                // PatientId = "5325d9efd6a4850adcbba4c2",
                // PriorityId = 3,
                StatusId = 1,
                //ProgramIds = new System.Collections.Generic.List<string> { "532caae9a38116ac18000846" },
                DeleteFlag = true
            };
            PutUpdateToDoDataRequest request = new PutUpdateToDoDataRequest
            {
                Context        = context,
                ContractNumber = contractNumber,
                ToDoData       = data,
                UserId         = userId,
                Version        = version
            };

            ISchedulingDataManager cm = new SchedulingDataManager {
                Factory = new SchedulingRepositoryFactory()
            };
            PutUpdateToDoDataResponse response = cm.UpdateToDo(request);

            Assert.IsNotNull(response);
        }
예제 #2
0
        public PostUpdateToDoResponse UpdateToDo(PostUpdateToDoRequest request)
        {
            try
            {
                if (request.ToDo == null)
                {
                    throw new Exception("The ToDo property cannot be null in the request.");
                }

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

                ToDoData data = new ToDoData
                {
                    Id           = request.ToDo.Id,
                    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,
                    DeleteFlag   = request.ToDo.DeleteFlag,
                    ClosedDate   = request.ToDo.ClosedDate
                };

                PutUpdateToDoDataResponse dataDomainResponse =
                    client.Put <PutUpdateToDoDataResponse>(url, new PutUpdateToDoDataRequest
                {
                    ToDoData       = data,
                    Context        = "NG",
                    ContractNumber = request.ContractNumber,
                    Version        = request.Version,
                    UserId         = request.UserId,
                } 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:UpdateToDo()::" + ex.Message, ex.InnerException);
            }
        }
예제 #3
0
        public void UpdateToDo_Test()
        {
            ToDoData data = new ToDoData
            {
                Id          = "5400b215d433231f60c94119",
                StatusId    = (int)Status.Met,
                Description = "updated desc",
                Title       = "updated title",
                DueDate     = DateTime.UtcNow,
                StartTime   = System.DateTime.UtcNow,
                Duration    = 20,
                ClosedDate  = DateTime.UtcNow
            };
            PutUpdateToDoDataRequest request = new PutUpdateToDoDataRequest
            {
                Context        = context,
                ContractNumber = contractNumber,
                ToDoData       = data,
                UserId         = userId,
                Version        = version
            };

            ISchedulingDataManager cm = new StubToDoDataManager {
                Factory = new StubSchedulingRepositoryFactory()
            };
            PutUpdateToDoDataResponse response = cm.UpdateToDo(request);

            Assert.IsNotNull(response);
        }
예제 #4
0
        public DTO.PutUpdateToDoDataResponse UpdateToDo(DTO.PutUpdateToDoDataRequest request)
        {
            PutUpdateToDoDataResponse response = new PutUpdateToDoDataResponse();
            ISchedulingRepository     repo     = Factory.GetRepository(request, RepositoryType.ToDo);
            bool success = (bool)repo.Update(request);

            if (success)
            {
                ToDoData data = (ToDoData)repo.FindByID(request.ToDoData.Id, true);
                response.ToDoData = data;
            }
            return(response);
        }
예제 #5
0
        public PutUpdateToDoDataResponse UpdateToDo(PutUpdateToDoDataRequest request)
        {
            PutUpdateToDoDataResponse response = new PutUpdateToDoDataResponse();

            try
            {
                ISchedulingRepository repo = Factory.GetRepository(request, RepositoryType.ToDo);
                bool success = (bool)repo.Update(request);
                if (success)
                {
                    ToDoData data = (ToDoData)repo.FindByID(request.ToDoData.Id, true);
                    response.ToDoData = data;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(response);;
        }
예제 #6
0
        public PutUpdateToDoDataResponse Put(PutUpdateToDoDataRequest request)
        {
            PutUpdateToDoDataResponse response = new PutUpdateToDoDataResponse();

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

                response         = Manager.UpdateToDo(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);
        }