protected void InitializeProperties() { Int64 serviceId = 0; if ((MercuryApplication != null) && (!IsPostBack)) { if (Request.QueryString["ServiceId"] != null) { serviceId = Int64.Parse(Request.QueryString["ServiceId"]); } if (serviceId != 0) { serviceSingleton = MercuryApplication.MedicalServiceSingletonGet(serviceId); if (serviceSingleton == null) { serviceSingleton = new Mercury.Client.Core.MedicalServices.ServiceSingleton(MercuryApplication); } Page.Title = "Service Singleton - " + serviceSingleton.Name; } else { serviceSingleton = new Mercury.Client.Core.MedicalServices.ServiceSingleton(MercuryApplication); } InitializeGeneralPage(); InitializeDefinitionPage(); InitializeDefinitionGrid(); Session[SessionCachePrefix + "ServiceSingleton"] = serviceSingleton; Session[SessionCachePrefix + "ServiceSingletonUnmodified"] = serviceSingleton.Copy(); } else // Postback { serviceSingleton = (Mercury.Client.Core.MedicalServices.ServiceSingleton)Session[SessionCachePrefix + "ServiceSingleton"]; } ApplySecurity(); return; }
protected Boolean ApplyChanges() { Boolean success = false; Boolean isModified = false; Boolean isValid = false; Dictionary <String, String> validationResponse; if (MercuryApplication == null) { return(false); } Mercury.Client.Core.MedicalServices.ServiceSingleton serviceSingletonUnmodified = (Mercury.Client.Core.MedicalServices.ServiceSingleton)Session [SessionCachePrefix + "ServiceSingletonUnmodified"]; Mercury.Server.Application.ObjectSaveResponse saveResponse; serviceSingleton.Name = SingletonName.Text; serviceSingleton.Description = SingletonDescription.Text; serviceSingleton.ServiceType = Mercury.Server.Application.MedicalServiceType.Singleton; serviceSingleton.ServiceClassification = (Mercury.Server.Application.ServiceClassification)Int32.Parse(SingletonClassification.SelectedValue); serviceSingleton.Enabled = SingletonEnabled.Checked; serviceSingleton.Visible = SingletonVisible.Checked; if (SingletonLastPaidDate.SelectedDate.HasValue) { serviceSingleton.LastPaidDate = SingletonLastPaidDate.SelectedDate.Value; } else { serviceSingleton.LastPaidDate = new DateTime(1900, 01, 01); } if (serviceSingletonUnmodified.Id == 0) { isModified = true; } if (!isModified) { isModified = !serviceSingleton.IsEqual(serviceSingletonUnmodified); } validationResponse = serviceSingleton.Validate(); isValid = (validationResponse.Count == 0); if ((isModified) && (isValid)) { if (!MercuryApplication.HasEnvironmentPermission(ManagePermission)) { SaveResponseLabel.Text = "Permission Denied."; return(false); } saveResponse = MercuryApplication.MedicalServiceSave(serviceSingleton); success = saveResponse.Success; if (success) { serviceSingleton = MercuryApplication.MedicalServiceSingletonGet(saveResponse.Id); Session[SessionCachePrefix + "ServiceSingleton"] = serviceSingleton; Session[SessionCachePrefix + "ServiceSingletonUnmodified"] = serviceSingleton.Copy(); SaveResponseLabel.Text = "Save Successful."; InitializeGeneralPage(); InitializeDefinitionGrid(); } else { SaveResponseLabel.Text = "Unable to Save."; if (MercuryApplication.LastException != null) { SaveResponseLabel.Text = SaveResponseLabel.Text + " [" + MercuryApplication.LastException.Message + "]"; } success = false; } } else if (!isModified) { SaveResponseLabel.Text = "No Changes Detected."; success = true; } else if (!isValid) { foreach (String validationKey in validationResponse.Keys) { SaveResponseLabel.Text = "Invalid [" + validationKey + "]: " + validationResponse[validationKey]; break; } success = false; } return(success); }