/// <summary> /// This method updates a 'Project' object. /// </summary> /// <param name='List<PolymorphicObject>'>The 'Project' to update. /// <returns>A PolymorphicObject object with a value. internal PolymorphicObject UpdateProject(List <PolymorphicObject> parameters, DataConnector dataConnector) { // Initial Value PolymorphicObject returnObject = new PolymorphicObject(); // locals Project project = null; // If the data connection is connected if ((dataConnector != null) && (dataConnector.Connected == true)) { // Create Update StoredProcedure UpdateProjectStoredProcedure updateProjectProc = null; // verify the first parameters is a(n) 'Project'. if (parameters[0].ObjectValue as Project != null) { // Create Project Parameter project = (Project)parameters[0].ObjectValue; // verify project exists if (project != null) { // Now create updateProjectProc from ProjectWriter // The DataWriter converts the 'Project' // to the SqlParameter[] array needed to update a 'Project'. updateProjectProc = ProjectWriter.CreateUpdateProjectStoredProcedure(project); } // Verify updateProjectProc exists if (updateProjectProc != null) { // Execute Update Stored Procedure bool saved = this.DataManager.ProjectManager.UpdateProject(updateProjectProc, dataConnector); // Create returnObject.Boolean returnObject.Boolean = new NullableBoolean(); // If save was successful if (saved) { // Set returnObject.Boolean.Value to true returnObject.Boolean.Value = NullableBooleanEnum.True; } else { // Set returnObject.Boolean.Value to false returnObject.Boolean.Value = NullableBooleanEnum.False; } } else { // Raise Error Data Connection Not Available throw new Exception("The database connection is not available."); } } } // return value return(returnObject); }