public ConfigureGameApplicationService(
            DataConnection dataConnection,
            DataConnectionValidationService dataConnectionValidationService,
            DataExportService dataExportService,
            DataImportService dataImportService,
            DomainModelService domainModelService,
            DomainModelExportService domainModelExportService,
            DomainModelImportService domainModelImportService,
            GameExecutableCodePatcher gameExecutableCodePatcher)
        {
            _dataConnection = dataConnection ?? throw new ArgumentNullException(nameof(dataConnection));
            _dataConnectionValidationService = dataConnectionValidationService ?? throw new ArgumentNullException(nameof(dataConnectionValidationService));
            _dataExportService         = dataExportService ?? throw new ArgumentNullException(nameof(dataExportService));
            _dataImportService         = dataImportService ?? throw new ArgumentNullException(nameof(dataImportService));
            _domainModelExportService  = domainModelExportService ?? throw new ArgumentNullException(nameof(domainModelExportService));
            _domainModelImportService  = domainModelImportService ?? throw new ArgumentNullException(nameof(domainModelImportService));
            _gameExecutableCodePatcher = gameExecutableCodePatcher ?? throw new ArgumentNullException(nameof(gameExecutableCodePatcher));

            DomainModel = domainModelService ?? throw new ArgumentNullException(nameof(domainModelService));
        }
        string type = String.Empty; // 对象类型

        #endregion

        #region ASP.NET 事件

        protected void Page_Load(object sender, EventArgs e)
        {
            op   = RequestData.Get <string>("op");
            id   = RequestData.Get <string>("id");
            type = RequestData.Get <string>("type");

            SysDataExportTemplate ent = null;

            switch (this.RequestAction)
            {
            case RequestActionEnum.Update:
                ent = this.GetTargetData <SysDataExportTemplate>();
                SysDataExportTemplate pent = this.GetPostedData <SysDataExportTemplate>();

                bool isTemplateFileChanged = false;
                if (ent.TemplateFileID != pent.TemplateFileID)
                {
                    isTemplateFileChanged = true;
                }

                DataHelper.MergeData(ent, pent);        // 手工合并源数据与提交数据

                if (isTemplateFileChanged)
                {
                    DataExportService.DoExportTemplateFileChanged(ent);     // 触发模版文件变化操作
                }

                ent.DoUpdate();

                this.SetMessage("修改成功!");
                break;

            case RequestActionEnum.Insert:
            case RequestActionEnum.Create:
                ent = this.GetPostedData <SysDataExportTemplate>();

                ent.CreaterID   = UserInfo.UserID;
                ent.CreaterName = UserInfo.Name;

                DataExportService.DoExportTemplateFileChanged(ent);     // 触发模版文件变化操作

                ent.DoCreate();
                this.SetMessage("新建成功!");
                break;

            case RequestActionEnum.Delete:
                ent = this.GetTargetData <SysDataExportTemplate>();
                ent.DoDelete();
                this.SetMessage("删除成功!");
                return;
            }

            if (op != "c" && op != "cs")
            {
                if (!String.IsNullOrEmpty(id))
                {
                    ent = SysDataExportTemplate.Find(id);
                }

                this.SetFormData(ent);
            }
            else
            {
                PageState.Add("CreaterName", UserInfo.Name);
                PageState.Add("CreatedDate", DateTime.Now);
            }
        }