private void SaveReferral() { if (Validate()) { ObsLinkage obs; if (null == ObsLinkage) { obs = ObsLinkage.CreateNew(ReferredTo, DatePromised, ParentViewModel.Encounter.Id); } else { obs = ObsLinkage; obs.ReferredTo = ReferredTo; obs.DatePromised = DatePromised; _linkageService.SaveLinkage(obs, ParentViewModel.Client.Id); } _linkageService.SaveLinkage(obs, ParentViewModel.Client.Id); _linkageService.MarkEncounterCompleted(ParentViewModel.Encounter.Id, ParentViewModel.AppUserId, true); ParentViewModel.Encounter = _linkageService.OpenEncounter(ParentViewModel.Encounter.Id); _dialogService.ShowToast("Referral info saved successfully"); ParentViewModel.GoBack(); } else { if (null != Errors && Errors.Any()) { ShowErrorInfo(Errors.First().Value); } } }
private void SaveLinking() { if (Validate()) { ObsLinkage obs; if (null == ObsLinkage) { obs = ObsLinkage.CreateNew(FacilityHandedTo, HandedTo, WorkerCarde, DateEnrolled, EnrollmentId, Remarks, ParentViewModel.Encounter.Id, ARTStartDate); } else { obs = ObsLinkage; obs.FacilityHandedTo = FacilityHandedTo; obs.HandedTo = HandedTo; obs.WorkerCarde = WorkerCarde; obs.DateEnrolled = DateEnrolled; obs.ARTStartDate = ARTStartDate; obs.EnrollmentId = EnrollmentId; obs.Remarks = Remarks; _linkageService.SaveLinkage(obs, ParentViewModel.Client.Id, false); } _linkageService.SaveLinkage(obs, ParentViewModel.Client.Id, false); ParentViewModel.Encounter = _linkageService.OpenEncounter(ParentViewModel.Encounter.Id); _dialogService.ShowToast("Linkage info saved successfully"); ParentViewModel.GoBack(); } }
public void Init(string formId, string encounterTypeId, string mode, string clientId, string encounterId) { // Load Client Client = _dashboardService.LoadClient(new Guid(clientId)); if (null != Client) { var clientJson = JsonConvert.SerializeObject(Client); _settings.AddOrUpdateValue("client", clientJson); } // Load or Create Encounter if (!string.IsNullOrWhiteSpace(encounterTypeId)) { _settings.AddOrUpdateValue("encounterTypeId", encounterTypeId); } EncounterTypeId = new Guid(encounterTypeId); if (mode == "new") { // New Encounter _settings.AddOrUpdateValue("client.link.mode", "new"); Encounter = _linkageService.StartEncounter(new Guid(formId), EncounterTypeId, Client.Id, AppProviderId, AppUserId, AppPracticeId, AppDeviceId); } else { // Load Encounter _settings.AddOrUpdateValue("client.link.mode", "open"); Encounter = _linkageService.OpenEncounter(new Guid(encounterId)); } if (null == Encounter) { throw new ArgumentException("Encounter has not been Initialized"); } //Store Encounter var encounterJson = JsonConvert.SerializeObject(Encounter); _settings.AddOrUpdateValue("client.encounter", encounterJson); var modes = _lookupService.GetCategoryItems("TraceMode", true, "[Select Mode]").ToList(); _settings.AddOrUpdateValue("lookup.Mode", JsonConvert.SerializeObject(modes)); var outcomes = _lookupService.GetCategoryItems("TraceOutcome", true, "[Select Outcome]").ToList(); _settings.AddOrUpdateValue("lookup.Outcome", JsonConvert.SerializeObject(outcomes)); var reasons = _lookupService.GetCategoryItems("ReasonNotContacted", true, "[Select Reason]").ToList(); _settings.AddOrUpdateValue("lookup.ReasonNotContacted", JsonConvert.SerializeObject(reasons)); }