/// <summary> /// Saves/Updates the current PatientDeviation record /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void SaveClick(object sender, EventArgs e) { // Update/Insert PatientItem PatientItem patientItem = new PatientItem(); // update if (!string.IsNullOrEmpty(PatientItemId.Value)) { patientItem.Get(int.Parse(base.DecrypyValue(PatientItemId.Value))); } // inserting else { patientItem[PatientItem.PatientSchemaId] = PatientSchemaId; } patientItem[PatientItem.ScheduledDate] = ScheduledDate.Value; patientItem[PatientItem.Status] = "Unplanned"; patientItem.Save(); int patientItemId = (int)patientItem[PatientItem.PatientItemId]; PatientItemId.Value = base.EncryptValue(patientItemId.ToString()); // Update/insert deviation PatientDeviation deviation = new PatientDeviation(); // update if (!string.IsNullOrEmpty(PatientDeviationId.Value)) { deviation.Get(int.Parse(PatientDeviationId.Value)); } // insert else { deviation[PatientDeviation.PatientItemId] = patientItemId; } // set biz object values, update and reload form CICHelper.SetBOValues(this.Controls, deviation, patientItemId); deviation[PatientDeviation.PatientItemId] = patientItemId; deviation.Save(); PatientDeviationId.Value = deviation[PatientDeviation.PatientDeviationId].ToString(); // update fields PopulateForm(); // notify client scripts RegisterUpdateScript(false); }
/// <summary> /// Populates the fiels on this form with a PatientDevaition record /// </summary> private void PopulateForm() { if (!string.IsNullOrEmpty(PatientItemId.Value)) { // Populate patient item scheduled field int patientItemId = int.Parse(base.DecrypyValue(PatientItemId.Value)); PatientItem item = new PatientItem(); item.Get(patientItemId); if (item[PatientItem.ScheduledDate] != null && item[PatientItem.ScheduledDate].ToString() != "") { string sDate = ((DateTime)item[PatientItem.ScheduledDate]).ToShortDateString(); ScheduledDate.Value = sDate; ScheduledDateText.Value = sDate; } // populate deviation if (!string.IsNullOrEmpty(PatientDeviationId.Value)) { int pdi = int.Parse(PatientDeviationId.Value); PatientDeviation deviation = new PatientDeviation(); deviation.Get(pdi); base.PopulateForm(deviation); // cleanup date field display var inputs = PageUtil.GetCaisisInputControlsInContainer(this); foreach (var input in inputs) { if (input.Table == "ProtocolMgr_PatientDeviations" && input.Field.Contains("DeviationDate")) { if (!deviation.IsNull(input.Field)) { input.Value = string.Format("{0:d}", deviation[input.Field]); } } } } } }