public void LoadModel(string projectPath) { _projectPath = projectPath; var project = _projectLoader.Load(projectPath); _currentProject = project; Model = new SpaceProjectDetails(); Model.Schemas = project.Schemas.Values.Select(x => new SchemaDetails { Schema = x, SchemaMigrations = project.SchemaMigrations[x.Name] }).ToList(); Model.Queries = project.Queries.Values.Select(x => new QueryDetails { Query = x }).ToList(); Model.Forms = project.Forms.Values.Select(x => new FormDetails { Form = x }).ToList(); Model.EditWindows = project.Settings.EditWindows.Select( s => { var obj = FindModelStoreObject(s); return(new EditWindowDetails { StoreObject = obj, StoreObjectDetails = FindModelStoreObjectDetails(obj) }); }).ToList(); Model.EditWindows.ForEach(w => w.Type = GetStoreObjectType(w.StoreObject)); UpdateFormBuilder(); }
private void DataLoad() { var list = XMProjectService.GetXMProjectList(); StoreProject.DataSource = list; StoreProject.DataBind(); }
public void SaveAll(StoreProject project, string location, List <ObjectRenameItem> renames) { SaveFile(location, project.Name, project.Settings, StoreProjectItemType.Project); // forms foreach (var form in project.Forms.Values) { SaveFile(location, form.Name, form, StoreProjectItemType.Form); } ClearRenamed(project, location, renames); }
private void ClearRenamed(StoreProject project, string location, List <ObjectRenameItem> renames) { foreach (var rn in renames) { var name = rn.OrignalName + "." + GetProjectItemExtension(rn.Type); var fileName = Path.Combine(location, name); if (File.Exists(fileName)) { File.Delete(fileName); } } }
private StoreProject AssembleStoreProject() { var result = new StoreProject(); result.Name = _currentProject.Name; result.Schemas = new Dictionary <string, StoreSchema>(); result.SchemaMigrations = new Dictionary <string, StoreSchemaMigrations>(); result.Queries = new Dictionary <string, StoreQuery>(); result.Forms = new Dictionary <string, StoreForm>(); // Forms foreach (var form in Model.Forms) { var storeForm = form.Model?.IsDirty == true?form.Model.ToStore() : form.Form; result.Forms.Add(storeForm.Name, storeForm); } return(result); }
/// <summary> /// /// </summary> /// <param name="name">full path to folder where project file *.project.json located</param> /// <returns></returns> public StoreProject Load(string folderName) { var result = new StoreProject(); result.Schemas = new Dictionary <string, StoreSchema>(); result.SchemaMigrations = new Dictionary <string, StoreSchemaMigrations>(); result.Queries = new Dictionary <string, StoreQuery>(); result.Forms = new Dictionary <string, StoreForm>(); var dir = folderName; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } var name = Directory.GetFiles(dir, "*.project.json").FirstOrDefault(); if (name == null) { return(result); } var projectJson = File.ReadAllText(name); result.Name = Path.GetFileName(name).Replace(".project.json", ""); result.Settings = JsonSerializer.Deserialize <StoreProjectSettings>(projectJson); var files = Directory.GetFiles(dir, "*.schema.json"); foreach (var file in files) { var json = File.ReadAllText(file); var schema = JsonSerializer.Deserialize <StoreSchema>(json); result.Schemas.Add(schema.Name, schema); var migrationFile = file.Substring(0, file.Length - ".schema.json".Length) + ".schema.migrations.json"; json = File.ReadAllText(migrationFile); var migration = JsonSerializer.Deserialize <StoreSchemaMigrations>(json); result.SchemaMigrations.Add(schema.Name, migration); } files = Directory.GetFiles(dir, "*.query.json"); foreach (var file in files) { var json = File.ReadAllText(file); var query = JsonSerializer.Deserialize <StoreQuery>(json); result.Queries.Add(query.Name, query); } files = Directory.GetFiles(dir, "*.form.json"); foreach (var file in files) { var json = File.ReadAllText(file); var form = JsonSerializer.Deserialize <StoreForm>(json); result.Forms.Add(form.Name, form); } return(result); }
public StoreProject GetModel(int type) { StoreProject model = new StoreProject(); switch (type) { case 1: model.Key = 1; model.ProjectName = "高级版一个月"; model.Integral = 1000; model.Quantity = 1; model.BusId = 5; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 2: model.Key = 2; model.ProjectName = "高级版三个月"; model.Integral = 2500; model.Quantity = 3; model.BusId = 5; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 3: model.Key = 3; model.ProjectName = "维客套餐"; model.Integral = 4000; model.Quantity = 1; model.BusId = 52; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 4: model.Key = 4; model.ProjectName = "扫描枪"; model.Integral = 8000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 5: model.Key = 5; model.ProjectName = "暂结账功能一个月"; model.Integral = 1000; model.Quantity = 1; model.BusId = 29; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 6: model.Key = 6; model.ProjectName = "暂结账功能三个月"; model.Integral = 2500; model.Quantity = 5; model.BusId = 29; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 7: model.Key = 7; model.ProjectName = "新能量套餐"; model.Integral = 5000; model.Quantity = 1; model.BusId = 34; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 8: model.Key = 8; model.ProjectName = "58H 热敏打印机"; model.Integral = 6000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 9: model.Key = 9; model.ProjectName = "分店管理功能一个月"; model.Integral = 1000; model.Quantity = 1; model.BusId = 30; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 10: model.Key = 10; model.ProjectName = "分店管理功能三个月"; model.Integral = 2500; model.Quantity = 3; model.BusId = 30; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 11: model.Key = 11; model.ProjectName = "聚给力套餐"; model.Integral = 12000; model.Quantity = 1; model.BusId = 13; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 12: model.Key = 12; model.ProjectName = "58mm热敏收银纸"; model.Integral = 3000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 13: model.Key = 13; model.ProjectName = "短信200条"; model.Integral = 1000; model.Quantity = 2; model.BusId = 1; model.isEntity = 0; model.LimitType = 1; model.LimitNumber = 1; break; case 14: model.Key = 14; model.ProjectName = "短信600条"; model.Integral = 2500; model.Quantity = 6; model.BusId = 1; model.isEntity = 0; model.LimitType = 1; model.LimitNumber = 1; break; case 15: model.Key = 15; model.ProjectName = "生意专家T恤"; model.Integral = 1000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 16: model.Key = 16; model.ProjectName = "热敏条码打印机"; model.Integral = 20000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 17: model.Key = 17; model.ProjectName = "手机橱窗一个月"; model.Integral = 500; model.Quantity = 1; model.BusId = 6; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 18: model.Key = 18; model.ProjectName = "手机橱窗三个月"; model.Integral = 1200; model.Quantity = 3; model.BusId = 6; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 19: model.Key = 19; model.ProjectName = "USB 3.0 8G U盘"; model.Integral = 1500; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 20: model.Key = 20; model.ProjectName = "保险箱"; model.Integral = 15000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 21: model.Key = 21; model.ProjectName = "优惠券一个月"; model.Integral = 300; model.Quantity = 1; model.BusId = 7; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 22: model.Key = 22; model.ProjectName = "优惠券三个月"; model.Integral = 800; model.Quantity = 3; model.BusId = 7; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 23: model.Key = 23; model.ProjectName = "点钞机"; model.Integral = 20000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 24: model.Key = 24; model.ProjectName = "拉卡拉POS"; model.Integral = 25000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 25: model.Key = 25; model.ProjectName = "维客短信_生日提醒"; model.Integral = 300; model.Quantity = 1; model.BusId = 46; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 26: model.Key = 26; model.ProjectName = "维客短信_生日提醒"; model.Integral = 800; model.Quantity = 3; model.BusId = 46; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 27: model.Key = 27; model.ProjectName = "维客短信_新增会员"; model.Integral = 300; model.Quantity = 1; model.BusId = 51; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 28: model.Key = 28; model.ProjectName = "维客短信_新增会员"; model.Integral = 800; model.Quantity = 3; model.BusId = 51; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 29: model.Key = 29; model.ProjectName = "维客短信_储值提醒"; model.Integral = 300; model.Quantity = 1; model.BusId = 48; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 30: model.Key = 30; model.ProjectName = "维客短信_储值提醒"; model.Integral = 800; model.Quantity = 3; model.BusId = 48; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 31: model.Key = 31; model.ProjectName = "维客短信_消费提醒"; model.Integral = 300; model.Quantity = 1; model.BusId = 50; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 32: model.Key = 32; model.ProjectName = "维客短信_消费提醒"; model.Integral = 800; model.Quantity = 3; model.BusId = 50; model.isEntity = 0; model.LimitType = 0; model.LimitNumber = 0; break; case 33: model.Key = 33; model.ProjectName = "计算器"; model.Integral = 2000; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 34: model.Key = 34; model.ProjectName = "小米插线板"; model.Integral = 3500; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; case 35: model.Key = 35; model.ProjectName = "小米移动电源"; model.Integral = 3500; model.Quantity = 1; model.BusId = 0; model.isEntity = 1; model.LimitType = 0; model.LimitNumber = 0; break; default: return(null); } return(model); }