/// <summary>
        /// This method deletes a 'Member' object.
        /// </summary>
        /// <param name='List<PolymorphicObject>'>The 'Member' to delete.
        /// <returns>A PolymorphicObject object with a Boolean value.
        internal PolymorphicObject DeleteMember(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
                DeleteMemberStoredProcedure deleteMemberProc = null;

                // verify the first parameters is a(n) 'Member'.
                if (parameters[0].ObjectValue as Member != null)
                {
                    // Create Member
                    Member member = (Member)parameters[0].ObjectValue;

                    // verify member exists
                    if (member != null)
                    {
                        // Now create deleteMemberProc from MemberWriter
                        // The DataWriter converts the 'Member'
                        // to the SqlParameter[] array needed to delete a 'Member'.
                        deleteMemberProc = MemberWriter.CreateDeleteMemberStoredProcedure(member);
                    }
                }

                // Verify deleteMemberProc exists
                if (deleteMemberProc != null)
                {
                    // Execute Delete Stored Procedure
                    bool deleted = this.DataManager.MemberManager.DeleteMember(deleteMemberProc, 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);
        }
        /// <summary>
        /// This method finds a 'Member' object.
        /// </summary>
        /// <param name='List<PolymorphicObject>'>The 'Member' to delete.
        /// <returns>A PolymorphicObject object with a Boolean value.
        internal PolymorphicObject FindMember(List <PolymorphicObject> parameters, DataConnector dataConnector)
        {
            // Initial Value
            PolymorphicObject returnObject = new PolymorphicObject();

            // locals
            Member member = null;

            // If the data connection is connected
            if ((dataConnector != null) && (dataConnector.Connected == true))
            {
                // Create Find StoredProcedure
                FindMemberStoredProcedure findMemberProc = null;

                // verify the first parameters is a 'Member'.
                if (parameters[0].ObjectValue as Member != null)
                {
                    // Get MemberParameter
                    Member paramMember = (Member)parameters[0].ObjectValue;

                    // verify paramMember exists
                    if (paramMember != null)
                    {
                        // Now create findMemberProc from MemberWriter
                        // The DataWriter converts the 'Member'
                        // to the SqlParameter[] array needed to find a 'Member'.
                        findMemberProc = MemberWriter.CreateFindMemberStoredProcedure(paramMember);
                    }

                    // Verify findMemberProc exists
                    if (findMemberProc != null)
                    {
                        // Execute Find Stored Procedure
                        member = this.DataManager.MemberManager.FindMember(findMemberProc, dataConnector);

                        // if dataObject exists
                        if (member != null)
                        {
                            // set returnObject.ObjectValue
                            returnObject.ObjectValue = member;
                        }
                    }
                }
                else
                {
                    // Raise Error Data Connection Not Available
                    throw new Exception("The database connection is not available.");
                }
            }

            // return value
            return(returnObject);
        }
        /// <summary>
        /// This method fetches all 'Member' objects.
        /// </summary>
        /// <param name='List<PolymorphicObject>'>The 'Member' to delete.
        /// <returns>A PolymorphicObject object with all  'Members' objects.
        internal PolymorphicObject FetchAll(List <PolymorphicObject> parameters, DataConnector dataConnector)
        {
            // Initial Value
            PolymorphicObject returnObject = new PolymorphicObject();

            // locals
            List <Member> memberListCollection = null;

            // Create FetchAll StoredProcedure
            FetchAllMembersStoredProcedure fetchAllProc = null;

            // If the data connection is connected
            if ((dataConnector != null) && (dataConnector.Connected == true))
            {
                // Get MemberParameter
                // Declare Parameter
                Member paramMember = null;

                // verify the first parameters is a(n) 'Member'.
                if (parameters[0].ObjectValue as Member != null)
                {
                    // Get MemberParameter
                    paramMember = (Member)parameters[0].ObjectValue;
                }

                // Now create FetchAllMembersProc from MemberWriter
                fetchAllProc = MemberWriter.CreateFetchAllMembersStoredProcedure(paramMember);
            }

            // Verify fetchAllProc exists
            if (fetchAllProc != null)
            {
                // Execute FetchAll Stored Procedure
                memberListCollection = this.DataManager.MemberManager.FetchAllMembers(fetchAllProc, dataConnector);

                // if dataObjectCollection exists
                if (memberListCollection != null)
                {
                    // set returnObject.ObjectValue
                    returnObject.ObjectValue = memberListCollection;
                }
            }
            else
            {
                // Raise Error Data Connection Not Available
                throw new Exception("The database connection is not available.");
            }

            // return value
            return(returnObject);
        }
Ejemplo n.º 4
0
        public IObjectWriter Create()
        {
            var valueWriterConduit = new ValueWriterConduit();

            IValuesCache  valuesCache  = new ValuesCache();
            IMemberWriter memberWriter = new MemberWriter(document, valueWriterConduit);

            var objectWriter = new ValueWriter(document,
                                               new IObjectWriter[]
            {
                new NotSupportedTypesWriter(),
                new NullValueWriter(document),
                new ObjectReferenceWriter(document, valuesCache),
                new AppObjectWriter(document, repository,
                                    valuesCache, typeNamesCache),
                new ListWriter(typeof(List <>), document,
                               valuesCache, valueWriterConduit,
                               typeNamesCache),
                new DictionaryWriter(document, valuesCache,
                                     valueWriterConduit, typeNamesCache),
                new ArrayOfDoublesXmlWriter(document, valuesCache,
                                            typeNamesCache),
                new ArrayOfObjectsWriter(document, valuesCache,
                                         valueWriterConduit,
                                         typeNamesCache),
                new EnumXmlWriter(document, typeNamesCache),
                new CustomTypeXmlWriter <Int32>(document, "Int32"),
                new CustomTypeXmlWriter <Int64>(document, "Int64"),
                new CustomTypeXmlWriter <UInt32>(document, "UInt32"),
                new CustomTypeXmlWriter <UInt64>(document, "UInt64"),
                new DoubleXmlWriter(document),
                new CustomTypeXmlWriter <Single>(document, "single"),
                new CustomTypeXmlWriter <String>(document, "string"),
                new CustomTypeXmlWriter <Boolean>(document, "bool"),
                new CustomTypeXmlWriter <Char>(document, "char"),
                new CustomTypeXmlWriter <Guid>(document, "guid"),
                new CustomTypeXmlWriter <TimeSpan>(document, "timespan"),
                new CustomTypeXmlWriter <DateTime>(document, "datetime"),
                new CustomTypeXmlWriter <Version>(document, "version"),
                new PrimitiveValueTypeXmlWriter(document),
                new ValueTypeWriter(document, memberWriter,
                                    typeNamesCache),
                new ListWriter(typeof(BindingList <>), document,
                               valuesCache,
                               valueWriterConduit, typeNamesCache),
                new ListWriter(typeof(ArrayList), document,
                               valuesCache,
                               valueWriterConduit, typeNamesCache),
                new MetaDataTypeNameWriter(document),
                new ClassWriter(document, valuesCache, memberWriter,
                                valueWriterConduit, typeNamesCache)
            },
                                               new IBaseTypeMembersWriter[]
            {
                new ListWriter(typeof(List <>), document,
                               valuesCache, valueWriterConduit,
                               typeNamesCache),
                new DictionaryWriter(document, valuesCache,
                                     valueWriterConduit, typeNamesCache),
                new ListWriter(typeof(ArrayList), document,
                               valuesCache, valueWriterConduit,
                               typeNamesCache),
                new ListWriter(typeof(BindingList <>), document,
                               valuesCache, valueWriterConduit,
                               typeNamesCache),
                new ClassBaseWriter(document, memberWriter,
                                    valueWriterConduit, typeNamesCache)
            });

            valueWriterConduit.SetTarget(objectWriter, objectWriter);

            return(objectWriter);
        }