Example #1
0
        public CareTeamData GetCareTeam(DTO.GetCareTeamRequest request)
        {
            try
            {
                CareTeamData result = null;
                IRestClient  client = new JsonServiceClient();
                //[Route("/{Context}/{Version}/{ContractNumber}/Contacts/{ContactId}/CareTeams", "GET")]
                var url = Common.Helper.BuildURL(string.Format("{0}/{1}/{2}/{3}/Contacts/{4}/CareTeams",
                                                               DDContactServiceUrl,
                                                               "NG",
                                                               request.Version,
                                                               request.ContractNumber,
                                                               request.ContactId), request.UserId);

                GetCareTeamDataResponse dataDomainResponse = client.Get <GetCareTeamDataResponse>(url);

                if (dataDomainResponse != null)
                {
                    result = dataDomainResponse.CareTeamData;
                }
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        public CareTeam GetCareTeam(GetCareTeamRequest request)
        {
            CareTeam careTeam = null;

            if (request == null)
            {
                throw new ArgumentNullException("request");
            }

            if (string.IsNullOrEmpty(request.ContactId))
            {
                throw new ArgumentNullException("request.ContactId");
            }
            try
            {
                CareTeamData careTeamData = EndpointUtil.GetCareTeam(request);
                if (careTeamData != null)
                {
                    careTeam = Mapper.Map <CareTeam>(careTeamData);
                    #region Populate Contact object for each care team member.
                    if (careTeam.Members != null && careTeam.Members.Count > 0)
                    {
                        List <string>      contactIds   = careTeam.Members.Select(a => a.ContactId).ToList();
                        List <ContactData> contactsData = EndpointUtil.GetContactsByContactIds(contactIds, request.Version, request.ContractNumber, request.UserId);
                        if (contactsData != null)
                        {
                            foreach (var member in careTeam.Members)
                            {
                                ContactData data = contactsData.FirstOrDefault(c => c.Id == member.ContactId);
                                if (data == null)
                                {
                                    throw new ApplicationException(string.Format("Contact card for a care team member with contact id = {0} was not found", member.ContactId));
                                }
                                else
                                {
                                    member.Contact = Mapper.Map <Contact>(data);
                                }
                            }
                        }
                    }
                    #endregion
                }
                return(careTeam);
            }
            catch (Exception ex) { throw ex; }
        }
Example #3
0
        private CareTeamData BuildCareTeamData(MEContactCareTeam meCareTeam)
        {
            CareTeamData team = null;

            if (meCareTeam != null)
            {
                team = new CareTeamData
                {
                    Id          = meCareTeam.Id.ToString(),
                    ContactId   = meCareTeam.ContactId.ToString(),
                    Members     = BuildCareTeamMembers(meCareTeam.MeCareTeamMembers),
                    CreatedOn   = meCareTeam.RecordCreatedOn,
                    CreatedById = meCareTeam.RecordCreatedBy.ToString(),
                    UpdatedById = meCareTeam.UpdatedBy == null ? null : meCareTeam.UpdatedBy.ToString(),
                    UpdatedOn   = meCareTeam.LastUpdatedOn
                };
            }
            return(team);
        }
Example #4
0
        public object GetCareTeamByContactId(string contactId)
        {
            CareTeamData careTeam = null;

            using (var ctx = new ContactCareTeamMongoContext(_dbName))
            {
                var queries = new List <IMongoQuery>
                {
                    MB.Query <MEContactCareTeam> .EQ(c => c.ContactId, ObjectId.Parse(contactId)),
                    MB.Query <MEContactCareTeam> .EQ(c => c.DeleteFlag, false)
                };

                var query      = MB.Query.And(queries);
                var meCareTeam = ctx.CareTeam.Collection.FindOne(query);
                if (meCareTeam != null)
                {
                    careTeam = BuildCareTeamData(meCareTeam);
                }
            }
            return(careTeam);
        }