How to Troubleshoot Apps for the Modern Connected Worker
Subscription Management System
1. Subscription Management System By Gene Wong Subscription Management System Introduction: Users can sign up to receive daily newsletters. For further capabilities, users can register to become members. Members are permitted to subscribe to other members only subscriptions, apply for print and/or digital subscriptions, and to be able to manage subscriptions. Members also have access to white papers and archived web seminars. Audience: New and existing members Project Goals: Create a business object component to provide any necessary type definitions needed that may apply across the company. Develop a library component to provide any necessary methods needed that may apply across the company. Build a data access component to provide any necessary methods needed that may apply across the company. Create a business object component to provide any necessary type definitions needed relating to Subscriptions. Develop a library component to provide any necessary methods needed relating to Subscriptions. Build a data access component to provide any necessary methods needed relating to the retrieving, adding or updating data in the Subscriptions database. Create web site where users can subscribe, unsubscribe and manage subscriptions. Allow members access to members only subscriptions, white papers and archived web seminars. Project Scope Databases: Main Database Subscriptions Database Stored Prodedures: uspDigitalMagDelete uspDigitalMagInsert uspDigitalMagSelectAll uspDigitalMagSelectbyId uspDigitalMagSelectMemberId uspDigitalMagSelectMemberIdType uspDigitalMagSelectCurrent uspDigitalMagSelectCurrentType uspDigitalMagUpdate uspMembersChangeStatus uspMembersCheckEmailAddress uspMembersDelete uspMembersInsert uspMembersSelectAll uspMembersSelectByEmail uspMembersSelectById uspMembersSelectPassword uspMembersSelectMemberId uspMembersUpdate uspMembersUpdatePassword uspPrintSubscriptionMembersInsert uspPrintSubscriptionMembersSelectByEmail uspPrintSubscriptionMembersSelectById uspPrintSubscriptionMembersUpdate uspClientChangeStatus uspClientCheckEmailAddress uspClientDelete uspClientInsert uspClientSelect uspClientSelectByEmail uspClientSelectById uspClientSelectClientId uspClientUpdate uspSubscriberCheckSubscriber uspSubscriberDelete uspSubscriberInsert uspSubscriberSelect uspSubscriberSelectByIdStatus uspSubscriberSelectByKey uspSubscriberUpdate WebForms: Basic.master case_studies_landing.aspx case_study.aspx daily_response.aspx email_daily_sub.aspx email_offers_post_print.aspx email_offers_post_registration.aspx email_offers_sub.aspx forgot_password.aspx HighEdCaseStudies.aspx info_access.aspx info_selection.aspx my_account.aspx no_thanks.aspx password_change.aspx password_confirm.aspx print_renewal.aspx print_sub.aspx print_sub_post_email.aspx register_community.aspx register_signin.aspx SignOut.aspx subscription_response.aspx subscription_response_before_print.aspx subscription_response_post_my_account.aspx subscription_response_post_print.aspx SubscriptionError.aspx Unsubscribe.aspx Web_seminar_archive_da.aspx Web_seminar_archive_ub.aspx Webinar_archive.aspx Company Wide Business Objects Introduction: This component assembly contains type definitions that can apply across the company. Project Goals: Create a component assembly for the purpose of housing type definitions that can apply across the company. Type Definition for MemberDA Object: This is the type definition for a MemberDA object which inherits from a MemberBase class. Type Definition for MemberUB Object: This is the type definition for a MemberUB object which inherits from a MemberBase class. Company Wide Library Introduction: This component assembly contains library methods that can apply across the company. Project Goals: Create a component assembly for the purpose of housing library methods that can apply across the company. Write to Log File: This library method is used to write a given text to a specified log file. Exception handling will catch exceptions and pass them to the calling method. Xml comments are used to provide documentation within Visual Studio’s IDE. Get Url of Cover Image: This library method is used to retrieve the url of a cover image for a given date value. Exception handling will catch and log exceptions and pass them to the calling method. Xml comments are used to provide documentation within Visual Studio’s IDE. Company Wide Data Access Layer Introduction: This component assembly contains data access methods that can apply across the company. Project Goals: Create a component assembly for the purpose of housing data access methods that can apply across the company. Stored Procedure to Retrieve a Member Record: This stored procedure is used to retrieve a member record for a given email address. Errors will be passed back to the calling method. Data Access Method to Retrieve Member Data: This data access method is used to retrieve a member record with a given email address; the record is returned in a dataset. Exception handling will catch exceptions and pass them to the calling method. Xml comments are used to provide documentation within Visual Studio’s IDE. Stored Procedure to Insert a New Member Record: This stored procedure is used to insert a new member record with given values. New identity value will be returned to the calling method. Errors will be passed back to the calling method. Subscriptions Business Objects Introduction: This component assembly contains type definitions that are pertinent to subscriptions. Project Goals: Create a component assembly for the purpose of housing type definitions that are pertinent to subscriptions. Type Definition for Subscription Object: This is the type definition for a Subscription object. Subscriptions Library Introduction: This component assembly contains library methods that are pertinent to subscriptions. Project Goals: Create a component assembly for the purpose of housing library methods that are pertinent to subscriptions. Library Method to Retrieve Email Address: This library method is used to retrieve an email address; a cookie will be checked first and if not found, a query string will then be checked. Exception handling will catch exceptions and pass them to the calling method. Xml comments are used to provide documentation within Visual Studio’s IDE. Subscriptions Data Access Layer Introduction: This component assembly contains data access methods that are pertinent to subscriptions. Project Goals: Create a component assembly for the purpose of housing data access methods that are pertinent to subscriptions. Stored Procedure to Retrieve a Client Record: This stored procedure is used to retrieve a client record for a given id value. Errors will be passed back to the calling method. Data Access Method to Retrieve Client Data: This data access method is used to retrieve a client record with a given email address; the record is returned in an object. Exception handling will catch exceptions and pass them to the calling method. Xml comments are used to provide documentation within Visual Studio’s IDE. Stored Procedure to Update a Client Record: This stored procedure is used to update a client record for a given id value. Errors will be passed back to the calling method. Subscription Web Pages Introduction: Users can sign up to receive daily newsletters. Users can register to become members. Members can subscribe to other members only subscriptions. Members can apply for print and/or digital subscriptions. Members can manage subscriptions. Users/Members can unsubscribe from subscriptions. Members can access white papers and archived web seminars. Audience: New and existing members Project Goals: Give users the capability to sign up to receive daily newsletters. Allow users to be able to register to become members. Make available the ability for members to subscribe to other members only subscriptions. Provide members with the option to apply for print and/or digital subscriptions. Give members can renew print subscriptions. Allow members to be able to manage subscriptions. Make available the ability for users/members to be able to unsubscribe from subscriptions. Provide members the capability to access white papers and archived web seminars. Permit members to be able to login, logout and set passwords. Display action confirmation pages. Create pages according to design specifications. Validate input values. Include error handling. Property Declaration on Master Page: This is a declaration of a property on a master page. Web Form Declaration Using Master Page: MasterPage is used to provide a common theme for all subscription web pages and to reduce the duplication of code. The MasterType directive is used to allow access to the public properties declared on the master page. Send Confirmation Email: This method sends a confirmation email to the member confirming subscription selections. The Master object is used to access properties on the referenced master page. CustomValidator Control Events: These event handlers on a CustomValidator control are used, server side and client side, to require a TextBox control to be filled when a certain item is selected from a DropDownList control.