/// <summary> /// This method deletes a 'Project' object. /// </summary> /// <param name='List<PolymorphicObject>'>The 'Project' to delete. /// <returns>A PolymorphicObject object with a Boolean value. internal PolymorphicObject DeleteProject(List <PolymorphicObject> parameters, DataConnector dataConnector) { // Initial Value PolymorphicObject returnObject = new PolymorphicObject(); // If the data connection is connected if ((dataConnector != null) && (dataConnector.Connected == true)) { // Create Delete StoredProcedure DeleteProjectStoredProcedure deleteProjectProc = null; // verify the first parameters is a(n) 'Project'. if (parameters[0].ObjectValue as Project != null) { // Create Project Project project = (Project)parameters[0].ObjectValue; // verify project exists if (project != null) { // Now create deleteProjectProc from ProjectWriter // The DataWriter converts the 'Project' // to the SqlParameter[] array needed to delete a 'Project'. deleteProjectProc = ProjectWriter.CreateDeleteProjectStoredProcedure(project); } } // Verify deleteProjectProc exists if (deleteProjectProc != null) { // Execute Delete Stored Procedure bool deleted = this.DataManager.ProjectManager.DeleteProject(deleteProjectProc, dataConnector); // Create returnObject.Boolean returnObject.Boolean = new NullableBoolean(); // If delete was successful if (deleted) { // 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); }