public void UpdateCareTeamMember_Test() { CareTeamMemberData ctm = new CareTeamMemberData() { ContactId = "5325c821072ef705080d3488", Id = "570e957fee4785557c0bd569", Notes = "Test123", StatusId = 1, Core = true, RoleId = "56f169f8078e10eb86038514" }; var request = new UpdateCareTeamMemberDataRequest() { CareTeamMemberData = ctm, ContactId = "5325db7bd6a4850adc047053", UserId = "5325c81f072ef705080d347e", CareTeamId = "570e957fee4785557c0bd56a", Context = "NG", ContractNumber = "InHealth001", Version = 1.0 }; var fact = new CareTeamRepositoryFactory(); CareTeamDataManager cm = new CareTeamDataManager(fact); var response = cm.UpdateCareTeamMember(request); Assert.IsTrue(response.Status.ErrorCode.IsEmpty()); }
public UpdateCareTeamMemberDataResponse Put(UpdateCareTeamMemberDataRequest request) { var response = new UpdateCareTeamMemberDataResponse() { Version = request.Version }; try { if (string.IsNullOrEmpty(request.UserId)) { throw new UnauthorizedAccessException("ContactDD:CareTeamService:Put()::Unauthorized Access"); } Manager.UpdateCareTeamMember(request); } catch (Exception ex) { CommonFormat.FormatExceptionResponse(response, base.Response, ex); var aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0"; Helpers.LogException(int.Parse(aseProcessID), ex); } return(response); }
public UpdateCareTeamMemberDataResponse UpdateCareTeamMember(UpdateCareTeamMemberDataRequest request) { var response = new UpdateCareTeamMemberDataResponse(); if (request == null) { throw new ArgumentNullException("request"); } if (request.CareTeamMemberData == null) { throw new ArgumentNullException("CareTeamMemberData is Null", "request"); } if (string.IsNullOrEmpty(request.ContactId)) { throw new ArgumentNullException("Null or Empty ContactId", "request"); } if (string.IsNullOrEmpty(request.CareTeamId)) { throw new ArgumentNullException("Null or empty CareTeamId", "request"); } if (string.IsNullOrEmpty(request.Id)) { throw new ArgumentNullException("Null or empty MemberId", "request"); } if (request.Id != request.CareTeamMemberData.Id) { throw new ArgumentNullException("CareTeamMemberData.Id and Id are different", "request"); } var repo = _factory.GetCareTeamRepository(request, RepositoryType.CareTeam); if (repo == null) { throw new Exception("Repository is null"); } try { if (!repo.CareTeamMemberExist(request.CareTeamId, request.Id)) { throw new Exception(string.Format("Care Team Member {0} does not exist", request.Id)); } repo.UpdateCareTeamMember(request); } catch (Exception) { throw; } return(response); }
public void CareTeamDataManager_UpdateCareTeamMember_Null_CareTeamMember_Request_Should_Throw() { var mockFactory = new Mock <ICareTeamRepositoryFactory>(); var stubRequest = new UpdateCareTeamMemberDataRequest() { CareTeamId = "careteamId", Id = "memberId", CareTeamMemberData = null }; mockFactory.Setup( f => f.GetCareTeamRepository(It.IsAny <IDataDomainRequest>(), It.IsAny <RepositoryType>())) .Returns((ICareTeamRepository)null); var careTeamDataManager = new CareTeamDataManager(mockFactory.Object); var data = careTeamDataManager.UpdateCareTeamMember(stubRequest); }
public void CareTeamDataManager_UpdateCareTeamMember_InCompleteMember_EmptyMemberContactId_Should_Throw() { var mockFactory = new Mock <ICareTeamRepositoryFactory>(); var stubRequest = new UpdateCareTeamMemberDataRequest() { ContactId = "cid", CareTeamId = "careteamId", Id = "memberId", CareTeamMemberData = new CareTeamMemberData() { Id = "memberId1", StatusId = 1 } }; mockFactory.Setup( f => f.GetCareTeamRepository(It.IsAny <IDataDomainRequest>(), It.IsAny <RepositoryType>())) .Returns((ICareTeamRepository)null); var careTeamDataManager = new CareTeamDataManager(mockFactory.Object); var data = careTeamDataManager.UpdateCareTeamMember(stubRequest); }
public bool UpdateCareTeamMember(object entity) { UpdateCareTeamMemberDataRequest request = (UpdateCareTeamMemberDataRequest)entity; CareTeamMemberData careTeamMemberData = request.CareTeamMemberData; bool result = false; try { if (careTeamMemberData != null) { using (ContactCareTeamMongoContext ctx = new ContactCareTeamMongoContext(_dbName)) { var contactCareTeam = GetContactCareTeam(request.ContactId); if (contactCareTeam == null) { throw new ApplicationException( "UpdateCareTeamMember: The referenced contact doesn't have a care team"); } if (contactCareTeam.Id != ObjectId.Parse(request.CareTeamId)) { throw new ApplicationException( "UpdateCareTeamMember: The referenced Care Team doesn't exist or is not assigned to the referenced contact"); } var currentMeCareTeamMember = contactCareTeam.MeCareTeamMembers.FirstOrDefault( x => x.Id == ObjectId.Parse(careTeamMemberData.Id)); if (currentMeCareTeamMember == null) { throw new ApplicationException( "UpdateCareTeamMember: The referenced care team member doesn't exist"); } var memberIndex = contactCareTeam.MeCareTeamMembers.FindIndex( x => x.Id == ObjectId.Parse(careTeamMemberData.Id)); var updatedMecareMemberTeam = BuildMECareTeamMember(this.UserId, careTeamMemberData); updatedMecareMemberTeam.RecordCreatedOn = currentMeCareTeamMember.RecordCreatedOn; updatedMecareMemberTeam.RecordCreatedBy = currentMeCareTeamMember.RecordCreatedBy; contactCareTeam.MeCareTeamMembers[memberIndex] = updatedMecareMemberTeam; contactCareTeam.LastUpdatedOn = DateTime.UtcNow; contactCareTeam.UpdatedBy = ObjectId.Parse(this.UserId); ctx.CareTeam.Collection.Save(contactCareTeam); AuditHelper.LogDataAudit(this.UserId, MongoCollectionName.CareTeam.ToString(), contactCareTeam.Id.ToString(), DataAuditType.Update, request.ContractNumber); result = true; } } return(result); } catch (ApplicationException ex) { throw new ApplicationException(ex.Message); } catch (Exception ex) { throw new Exception("CareMemberDD:MongoCareMemberRepository:Update()" + ex.Message, ex.InnerException); } }