public UpdateExternalPractitionerResponse UpdateExternalPractitioner(UpdateExternalPractitionerRequest request) { var prac = PersistenceContext.Load <ExternalPractitioner>(request.PractitionerDetail.PractitionerRef, EntityLoadFlags.CheckVersion); EnsureNoDeactivatedContactPointsWithActiveOrders(request.PractitionerDetail.ContactPoints); var assembler = new ExternalPractitionerAssembler(); assembler.UpdateExternalPractitioner(request.PractitionerDetail, prac, PersistenceContext); prac.MarkEdited(); var userCanVerify = Thread.CurrentPrincipal.IsInRole(AuthorityTokens.Admin.Data.ExternalPractitionerVerification); if (request.MarkVerified && userCanVerify) { prac.MarkVerified(); } return(new UpdateExternalPractitionerResponse(assembler.CreateExternalPractitionerSummary(prac, PersistenceContext))); }
public void Apply() { try { var item = (ExternalPractitionerSummary)this.Context.Selection.Item; Platform.GetService( delegate(IExternalPractitionerAdminService service) { var editRequest = new LoadExternalPractitionerForEditRequest(item.PractitionerRef); var editResponse = service.LoadExternalPractitionerForEdit(editRequest); var updateRequest = new UpdateExternalPractitionerRequest(editResponse.PractitionerDetail, true); service.UpdateExternalPractitioner(updateRequest); }); DocumentManager.InvalidateFolder(typeof(UnverifiedFolder)); DocumentManager.InvalidateFolder(typeof(VerifiedTodayFolder)); } catch (Exception e) { ExceptionHandler.Report(e, this.Context.DesktopWindow); } }