示例#1
0
        private static List <ContactTypeLookUpData> CreateRoleHierarchy(List <MEContactTypeLookup> flattenedRoles, string parentId)
        {
            var docsToAdd     = new List <MEContactTypeLookup>(flattenedRoles.Where(r => r.ParentId.ToString() == parentId.ToString()));
            var roleHierarchy = new List <ContactTypeLookUpData>();

            foreach (var flattenedRole in docsToAdd)
            {
                var role = new ContactTypeLookUpData
                {
                    Id       = flattenedRole.Id.ToString(),
                    Name     = flattenedRole.Name,
                    Role     = flattenedRole.Role,
                    Group    = (ContactLookUpGroupType)flattenedRole.GroupId,
                    ParentId = flattenedRole.ParentId.ToString()
                };


                if (flattenedRoles.Any(r => r.ParentId.ToString() == flattenedRole.Id.ToString()))
                {
                    role.Children = CreateRoleHierarchy(flattenedRoles, flattenedRole.Id.ToString());
                }


                roleHierarchy.Add(role);
            }

            return(roleHierarchy);
        }
示例#2
0
        public void ContactTypeLookUpParentIdShouldBeNull_Test()
        {
            ContactTypeLookUpData cData = new ContactTypeLookUpData()
            {
                Id        = "56ea0c2c64e91cf53bbfca5f",
                Name      = "Doctor",
                Role      = "Doctor(M.D)",
                CreatedOn = DateTime.UtcNow,
                Group     = ContactLookUpGroupType.CareTeam,
                ParentId  = "000000000000000000000000"
            };
            var ct = Mapper.Map <ContactTypeLookUp>(cData);

            Assert.IsNull(ct.ParentId);
        }
示例#3
0
        public GetContactTypeLookUpDataResponse GetContactTypeLookUps(DTO.GetContactTypeLookUpDataRequest request)
        {
            var response = new GetContactTypeLookUpDataResponse();
            List <MEContactTypeLookup> data = null;

            var contactTypeLookupHierarchy = new List <ContactTypeLookUpData>();

            var repository = _factory.GetContactTypeLookUpRepository(request, RepositoryType.ContactTypeLookUp);

            if (repository == null)
            {
                throw new Exception("The repository is null");
            }

            data = (List <MEContactTypeLookup>)repository.GetContactTypeLookUps((ContactLookUpGroupType)request.GroupType);

            if (request.FlattenData)
            {
                foreach (var flattenedRole in data)
                {
                    var role = new ContactTypeLookUpData
                    {
                        Id       = flattenedRole.Id.ToString(),
                        Name     = flattenedRole.Name,
                        Role     = flattenedRole.Role,
                        Group    = (ContactLookUpGroupType)flattenedRole.GroupId,
                        ParentId = flattenedRole.ParentId.ToString()
                    };
                    contactTypeLookupHierarchy.Add(role);
                }
            }
            else
            {
                contactTypeLookupHierarchy = CreateRoleHierarchy(data, "000000000000000000000000");
            }



            response.ContactTypeLookUps = contactTypeLookupHierarchy;
            response.Version            = 1.0;


            return(response);
        }