Пример #1
0
        // Setting Columns : display name, allow null
        private bool?ShowColumnSetting()
        {
            var    modelType              = _codeGeneratorViewModel.ModelType.CodeType;
            string savefolderPath         = Path.Combine(path1: Context.ActiveProject.GetFullPath(), path2: "CodeGen");
            StorageMan <MetaTableInfo> sm = new StorageMan <MetaTableInfo>(modelTypeName: modelType.Name, savefolderPath: savefolderPath);
            MetaTableInfo data            = sm.Read();

            if (data.Columns.Any())
            {
                _ModelMetadataVM = new ModelMetadataViewModel(dataModel: data);
            }
            else
            {
                //string dbContextTypeName = _codeGeneratorViewModel.DbContextModelType.TypeName;
                //ICodeTypeService codeTypeService = GetService<ICodeTypeService>();
                //CodeType dbContext = codeTypeService.GetCodeType(project: Context.ActiveProject, fullName: dbContextTypeName);
                //IEntityFrameworkService efService = Context.ServiceProvider.GetService<IEntityFrameworkService>();
                //ModelMetadata efMetadata = efService.AddRequiredEntity(context: Context, contextTypeFullName: dbContextTypeName, entityTypeFullName: modelType.FullName);
                var fullName   = modelType.FullName;
                var efMetadata = GetEfMetadata(fullName);
                _ModelMetadataVM = new ModelMetadataViewModel(efMetadata: efMetadata);
            }

            ModelMetadataDialog dialog = new ModelMetadataDialog(viewModel: _ModelMetadataVM);
            bool?isOk = dialog.ShowModal();

            if (isOk == true)
            {
                sm.Save(data: _ModelMetadataVM.DataModel);
            }

            return(isOk);
        }
Пример #2
0
        // Setting Columns : display name, allow null
        private bool?ShowColumnSetting()
        {
            var    modelType              = _codeGeneratorViewModel.ModelType.CodeType;
            string savefolderPath         = Path.Combine(Context.ActiveProject.GetFullPath(), "CodeGen");
            StorageMan <MetaTableInfo> sm = new StorageMan <MetaTableInfo>(modelType.Name, savefolderPath);
            MetaTableInfo data            = sm.Read();

            if (data.Columns.Any())
            {
                _ModelMetadataVM = new ModelMetadataViewModel(data);
            }
            else
            {
                string                  dbContextTypeName = _codeGeneratorViewModel.DbContextModelType.TypeName;
                ICodeTypeService        codeTypeService   = GetService <ICodeTypeService>();
                CodeType                dbContext         = codeTypeService.GetCodeType(Context.ActiveProject, dbContextTypeName);
                IEntityFrameworkService efService         = Context.ServiceProvider.GetService <IEntityFrameworkService>();
                ModelMetadata           efMetadata        = efService.AddRequiredEntity(Context, dbContextTypeName, modelType.FullName);
                _ModelMetadataVM = new ModelMetadataViewModel(efMetadata);
            }

            ModelMetadataDialog dialog = new ModelMetadataDialog(_ModelMetadataVM);
            bool?isOk = dialog.ShowModal();

            if (isOk == true)
            {
                sm.Save(_ModelMetadataVM.DataModel);
            }

            return(isOk);
        }
Пример #3
0
 public void SentMessageComplete(Guid id)
 {
     PostMessageInfo data = this.GetData();
     MessageInfo item = data.Items.FirstOrDefault(r => r.Id == id);
     item.SentTime = System.DateTime.Now;
     StorageMan<PostMessageInfo> sm = new StorageMan<PostMessageInfo>();
     sm.Save(data);
 }
        private void SaveDesignData()
        {
            StorageMan <MetaTableInfo> sm = new StorageMan <MetaTableInfo>(this.MethodTypeName, SaveFolderPath);

            sm.Save(this.QueryFormViewModel.DataModel);

            sm.ModelName = ModelType.ShortName;
            sm.Save(this.ResultListViewModel.DataModel);
        }
Пример #5
0
        public PostMessageInfo GetData()
        {
            StorageMan<PostMessageInfo> sm = new StorageMan<PostMessageInfo>();
            PostMessageInfo data = sm.Read();
            //if (data == null)
            //    data = new PostMessageInfo() { Items = new List<MessageInfo>() };

            return data;
        }
Пример #6
0
 public bool DeleteItem(Guid id)
 {
     PostMessageInfo data = this.GetData();
     MessageInfo item = data.Items.FirstOrDefault(r => r.Id == id);
     data.Items.Remove(item);
     StorageMan<PostMessageInfo> sm = new StorageMan<PostMessageInfo>();
     sm.Save(data);
     return true;
 }
        private void CreateViewModelFromMethodParameters()
        {
            ICodeTypeService codeTypeService = GetService <ICodeTypeService>();
            Project          project         = _context.ActiveProject;
            CodeType         dbContext       = codeTypeService.GetCodeType(project, DbContextModelType.TypeName);

            foreach (CodeElement code in dbContext.Members)
            {
                if (code.Name == this.MethodTypeName)
                {
                    //讀取參數
                    CodeFunction  myMethod = (CodeFunction)code;
                    MetaTableInfo data1    = new StorageMan <MetaTableInfo>(myMethod.Name, SaveFolderPath).Read();
                    if (data1.Columns.Any())
                    {
                        this.QueryFormViewModel = new MetadataSettingViewModel(data1);
                    }
                    else
                    {
                        this.QueryFormViewModel = new MetadataSettingViewModel(myMethod);
                    }


                    // 讀取回傳型別
                    CodeTypeRef returnTypeRef = myMethod.Type;
                    string      enumType      = returnTypeRef.AsFullName;
                    int         idx1          = enumType.IndexOf("<");
                    int         idx2          = enumType.LastIndexOf(">");
                    string      baseType      = enumType.Substring(idx1 + 1, idx2 - idx1 - 1);

                    CodeType returnContextType = codeTypeService.GetCodeType(project, baseType);
                    ModelType = new ModelType(returnContextType);

                    MetaTableInfo data2 = new StorageMan <MetaTableInfo>(ModelType.ShortName, SaveFolderPath).Read();
                    if (data2.Columns.Any())
                    {
                        this.ResultListViewModel = new MetadataSettingViewModel(data2);
                    }
                    else
                    {
                        //IEntityFrameworkService efService = _context.ServiceProvider.GetService<IEntityFrameworkService>();
                        //Microsoft.AspNet.Scaffolding.Core.Metadata.ModelMetadata efMetadata
                        //    = efService.AddRequiredEntity(_context, DbContextModelType.TypeName, ModelType.CodeType.FullName);

                        //this.ResultListViewModel = new MetadataSettingViewModel(efMetadata);

                        //TODO partal class 會找不到成員
                        this.ResultListViewModel = new MetadataSettingViewModel(returnContextType);
                    }
                }
            }
        }
Пример #8
0
        public bool AddNew(DateTime? schedule, string subject, string context)
        {
            PostMessageInfo data = this.GetData();
            data.Items.Add(new MessageInfo()
            {
                Schedule = schedule
                ,
                Subject = subject
                ,
                Context = context
            });

            StorageMan<PostMessageInfo> sm = new StorageMan<PostMessageInfo>();
            sm.Save(data);
            return true;
        }
 public CustomerBLL()
 {
     StorageMan<CustomerDB> sm = new StorageMan<CustomerDB>();
     this.DB = sm.Read();
 }
Пример #10
0
 private void SaveChangeToSotrage()
 {
     StorageMan<CustomerDB> sm = new StorageMan<CustomerDB>();
     sm.Save(this.DB);
 }
Пример #11
0
        public bool UpdateItem(Guid id,DateTime? schedule, string subject, string context)
        {
            PostMessageInfo data = this.GetData();
            MessageInfo item = data.Items.FirstOrDefault(r => r.Id == id);
            item.Schedule = schedule;
            item.Subject = subject;
            item.Context = context;

            StorageMan<PostMessageInfo> sm = new StorageMan<PostMessageInfo>();
            sm.Save(data);
            return true;
        }