public List <ToDoData> GetPatientToDos(string patientId, string userId, IAppDomainRequest req) { try { var request = new GetToDosDataRequest(); request.PatientId = patientId; request.UserId = userId; request.PatientId = patientId; IRestClient client = new JsonServiceClient(); //{Context}/{Version}/{ContractNumber}/Scheduling/ToDos var url = Common.Helper.BuildURL(string.Format(@"{0}/{1}/{2}/{3}/Scheduling/ToDos", DDSchedulingUrl, "NG", req.Version, req.ContractNumber), userId); var response = client.Post <GetToDosDataResponse>(url, request); return(response.ToDos); } catch (Exception ex) { throw new Exception("AD:PlanElementEndpointUtil:GetPatientToDos()::" + ex.Message, ex.InnerException); } }
public GetToDosDataResponse FindToDos(object request) { GetToDosDataResponse response = new GetToDosDataResponse(); List <ToDoData> todoList = null; GetToDosDataRequest dataRequest = (GetToDosDataRequest)request; todoList = new List <ToDoData>(); todoList.Add(new ToDoData { AssignedToId = "535ad70ad2d8e912e857525c", CategoryId = "532b64b1a381168abe000a7d", ClosedDate = DateTime.UtcNow, CreatedById = "532b678fa381168abe000ce8", CreatedOn = DateTime.UtcNow, Description = "test description", DueDate = DateTime.UtcNow, StartTime = DateTime.UtcNow, Duration = 20, Id = "532b6320a381168abe000877", PatientId = "532b645fa381168abe0009e9", PriorityId = (int)Priority.High, StatusId = (int)Status.Met, Title = "test title", UpdatedOn = DateTime.UtcNow, DeleteFlag = true }); response.ToDos = todoList; response.TotalCount = 1; return(response); }
public GetToDosDataResponse GetToDos(GetToDosDataRequest request) { try { var result = new GetToDosDataResponse(); ISchedulingRepository repo = Factory.GetRepository(request, RepositoryType.ToDo); repo.UserId = request.UserId; result = (GetToDosDataResponse)repo.FindToDos(request); return(result); } catch (Exception ex) { throw ex; } }
public void GetToDos_Test() { GetToDosDataRequest request = new GetToDosDataRequest { Context = context, ContractNumber = contractNumber, UserId = userId, Version = version, StatusIds = new List <int> { 1, 3 }, CreatedById = userId }; ISchedulingDataManager cm = new StubToDoDataManager { Factory = new StubSchedulingRepositoryFactory() }; GetToDosDataResponse response = cm.GetToDos(request); Assert.IsNotNull(response); }
public GetToDosDataResponse Post(GetToDosDataRequest request) { GetToDosDataResponse response = new GetToDosDataResponse(); try { if (string.IsNullOrEmpty(request.UserId)) { throw new UnauthorizedAccessException("SchedulingDD:Post()::Unauthorized Access"); } response = Manager.GetToDos(request); response.Version = request.Version; } catch (Exception ex) { FormatUtil.FormatExceptionResponse(response, base.Response, ex); string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0"; Helpers.LogException(int.Parse(aseProcessID), ex); } return(response); }
public void GetToDos_Test() { GetToDosDataRequest request = new GetToDosDataRequest { Context = context, ContractNumber = contractNumber, UserId = userId, Version = version, // AssignedToId = "5325c821072ef705080d348c", //PatientId = "", StatusIds = new List <int> { 1, 3 }, CreatedById = "5325c821072ef705080d3488" //FromDate = DateTime.Parse("9/1/2014 5:36:54 PM") }; ISchedulingDataManager cm = new SchedulingDataManager { Factory = new SchedulingRepositoryFactory() }; GetToDosDataResponse response = cm.GetToDos(request); Assert.IsNotNull(response); }
public GetToDosDataResponse FindToDos(object request) { GetToDosDataResponse response = new GetToDosDataResponse(); List <ToDoData> todoList = null; GetToDosDataRequest dataRequest = (GetToDosDataRequest)request; try { using (SchedulingMongoContext ctx = new SchedulingMongoContext(_dbName)) { List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(METoDo.DeleteFlagProperty, false)); if (!string.IsNullOrEmpty(dataRequest.AssignedToId)) { ObjectId ato; if (ObjectId.TryParse(dataRequest.AssignedToId, out ato)) { queries.Add(Query.EQ(METoDo.AssignedToProperty, ato)); } else { // Fix for bug - ENG-1068, UI sends AssignedToId = -1 to query on all unassigned ToDos. if (string.Compare(dataRequest.AssignedToId, "-1", true) == 0) { //queries.Add(Query.Or(Query.EQ(METoDo.AssignedToProperty, BsonNull.Value), Query.EQ(METoDo.AssignedToProperty, BsonString.Empty))); queries.Add(Query.In(METoDo.AssignedToProperty, new BsonArray { BsonNull.Value, BsonString.Empty })); } } } if (!string.IsNullOrEmpty(dataRequest.NotAssignedToId)) { ObjectId nto; if (ObjectId.TryParse(dataRequest.NotAssignedToId, out nto)) { queries.Add(Query.NotIn(METoDo.AssignedToProperty, new BsonArray { nto, BsonNull.Value, BsonString.Empty })); } } if (!string.IsNullOrEmpty(dataRequest.CreatedById)) { queries.Add(Query.EQ(METoDo.RecordCreatedByProperty, ObjectId.Parse(dataRequest.CreatedById))); } if (!string.IsNullOrEmpty(dataRequest.PatientId)) { queries.Add(Query.EQ(METoDo.PatientIdProperty, ObjectId.Parse(dataRequest.PatientId))); } if (dataRequest.StatusIds != null && dataRequest.StatusIds.Count > 0) { queries.Add(Query.In(METoDo.StatusProperty, new BsonArray(dataRequest.StatusIds))); } if (dataRequest.PriorityIds != null && dataRequest.PriorityIds.Count > 0) { queries.Add(Query.In(METoDo.PriorityProperty, new BsonArray(dataRequest.PriorityIds))); //integer values (not object ids) } if (dataRequest.CategoryIds != null && dataRequest.CategoryIds.Count > 0) { List <BsonValue> categories = new List <BsonValue>(); foreach (string categoryId in dataRequest.CategoryIds) { if (categoryId.Length > 0) { categories.Add(BsonValue.Create(ObjectId.Parse(categoryId))); } else { categories.Add(BsonNull.Value); //empty string => include null categories ( not set ) } } queries.Add(Query.In(METoDo.CatgegoryProperty, categories)); } if (dataRequest.FromDate != null) { queries.Add(Query.GTE(METoDo.ClosedDateProperty, dataRequest.FromDate)); } IMongoQuery mQuery = Query.And(queries); MongoCursor <METoDo> cToDos = ctx.ToDos.Collection.Find(mQuery); List <METoDo> meToDos = null; SortByBuilder sortBy = MongoSortingUtils.GetSortByBuilder(dataRequest.Sort, typeof(METoDo)); cToDos = cToDos.SetSortOrder(sortBy); cToDos = (MongoCursor <METoDo>)MongoSortingUtils.ApplySkipTake(cToDos, dataRequest); response.TotalCount = cToDos.Count(); meToDos = cToDos.ToList(); //query now if (meToDos != null && meToDos.Count > 0) { todoList = new List <ToDoData>(); foreach (METoDo t in meToDos) { todoList.Add(new ToDoData { AssignedToId = t.AssignedToId == null ? string.Empty : t.AssignedToId.ToString(), CategoryId = t.Category == null ? string.Empty : t.Category.ToString(), ClosedDate = t.ClosedDate, CreatedById = t.RecordCreatedBy.ToString(), CreatedOn = t.RecordCreatedOn, Description = t.Description, DueDate = t.DueDate, StartTime = t.StartTime, Duration = t.Duration, Id = t.Id.ToString(), PatientId = t.PatientId == null ? string.Empty : t.PatientId.ToString(), PriorityId = (int)t.Priority, ProgramIds = Helper.ConvertToStringList(t.ProgramIds), StatusId = (int)t.Status, Title = t.Title, UpdatedOn = t.LastUpdatedOn, DeleteFlag = t.DeleteFlag, ExternalRecordId = t.ExternalRecordId, SourceId = t.SourceId.ToString() }); } } } response.ToDos = todoList; return(response); } catch (Exception ex) { throw new Exception("DD:MongoToDoRepository:FindToDos()::" + ex.Message, ex.InnerException); } }