Пример #1
0
        /// <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);
        }