/// <summary> /// Writes the inserted date value to the client. /// </summary> private void UpdateStopDateAndReturn() { string newDate = string.Empty; // validate required mappings if (TABLE_MAPPINGS.ContainsKey(Table) && BusinessObjectFactory.CanBuildBusinessObject(Table) && PriKey.HasValue) { int patientId = int.Parse(Session[SessionKey.PatientId].ToString()); // create instance IBusinessObject biz = BusinessObjectFactory.BuildBusinessObject(Table); // load record and validate biz.Get(PriKey.Value); if (!biz.IsEmpty) { // turn on validation of patient biz.EnableSaveValidation(patientId); // the date field representing the stop date string dateField = TABLE_MAPPINGS[Table]; // check for date text field string dateTextField = dateField + "Text"; if (biz.HasField(dateField)) { // determine if updating stop date of nullifying bool doStop = Checked; if (doStop) { // set date fields DateTime date = QueryDate.HasValue ? QueryDate.Value : DateTime.Today; // ?? use DateTime.Today for normalization biz[dateField] = date; if (biz.HasField(dateTextField)) { biz[dateTextField] = date.ToShortDateString(); } // set short date newDate = date.ToShortDateString(); } // nullify stop date fields else { biz[dateField] = null; if (biz.HasField(dateTextField)) { biz[dateTextField] = null; } newDate = string.Empty; } } // update biz.Save(); } } else { newDate = string.Empty; } // write the new short stop date Response.Write(newDate); }