private void DeleteDesignApplication(object parameter) { MessageBoxResult result = MessageBox.Show("您确定要删除所选应用程序吗?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { List <DesignApplication> deletedDesignApplications = new List <DesignApplication>(); foreach (var item in ApplicationSource) { if (item.IsChecked) { if (!ApplicationDesignService.CanDeleteApplication(item.ApplicationID)) { MessageBox.Show("应用程序: " + item.ApplicationName + " 已经存在模块关联不可以删除!", "提示"); deletedDesignApplications.Clear(); return; } else { deletedDesignApplications.Add(item); } } } foreach (var designApplication in deletedDesignApplications) { SystemService.DeleteObjectByID("Application", designApplication.ApplicationID); ApplicationSource.Remove(designApplication); } MessageBox.Show("删除成功!"); } }
private void DeleteModule(object parameter) { MessageBoxResult result = MessageBox.Show("您确定要删除所选应用模块吗?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { List <ApplicationModule> deletedModules = new List <ApplicationModule>(); foreach (var aplicationModule in ModuleSouce) { if (aplicationModule.IsChecked) { if (!ApplicationDesignService.CanDeleteAplicationModule(aplicationModule.ModuleID)) { MessageBox.Show("应用模块: " + aplicationModule.ModuleName + " 已经存在关联不可以删除!", "提示"); deletedModules.Clear(); return; } else { deletedModules.Add(aplicationModule); } } } foreach (var aplicationModule in deletedModules) { SystemService.DeleteObjectByID("Module", aplicationModule.ModuleID); ModuleSouce.Remove(aplicationModule); } MessageBox.Show("删除成功!"); } }
private void InitModules() { ModuleList.Clear(); AddedModuleList.Clear(); if (SelectedApplication != null) { List <DynEntity> allModules = ApplicationDesignService.GetAllApplictionModuleCollection(); List <DynEntity> currentApplicationModules = ApplicationDesignService.GetAplicationModulesByAplicationID(SelectedApplication.ApplicationID); foreach (var module in allModules) { bool isHave = false; foreach (var addedModule in currentApplicationModules) { if (Convert.Equals(addedModule["ModuleID"], module["ModuleID"])) { AddedModuleList.Add(new ApplicationModule() { ModuleName = module["ModuleName"] as string, ModuleID = (int)module["ModuleID"] }); isHave = true; break; } } if (!isHave) { ModuleList.Add(new ApplicationModule() { ModuleName = module["ModuleName"] as string, ModuleID = (int)module["ModuleID"] }); } } } }
private void DeleteNamespace(object parameter) { MessageBoxResult result = MessageBox.Show("您确定要删除所选命名空间吗?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result == MessageBoxResult.Yes) { List <Namespace> deletedNamespace = new List <Namespace>(); foreach (var item in NamespaceSource) { if (item.IsChecked) { if (!ApplicationDesignService.CanDeleteNamespace(item.NamespaceID)) { MessageBox.Show("命名空间: " + item.NamespaceName + " 已经存在 Class关联不可以删除!", "提示"); deletedNamespace.Clear(); return; } else { deletedNamespace.Add(item); } } } foreach (var item in deletedNamespace) { SystemService.DeleteObjectByID("Namespace", item.NamespaceID); NamespaceSource.Remove(item); Namespace namespaceModel = ApplicationDesignCache.NamespaceSource.Where(namespaceItem => namespaceItem.NamespaceID == item.NamespaceID).FirstOrDefault(); ApplicationDesignCache.NamespaceSource.Remove(namespaceModel); } MessageBox.Show("删除成功!"); } }
public void Cancel() { if (DesignProperty.PropertyID > 0) { DesignProperty originalDesignProperty = ApplicationDesignService.GetDesignProperty(DesignProperty.PropertyID); DesignProperty = originalDesignProperty; DesignerViewModel.CurrentdesignProperty = originalDesignProperty; } }
public bool EditDesignClass() { DesignClass.NamespaceID = SelectedNameSpace.NamespaceID; if (DesignClass.State != "added") { ApplicationDesignService.EditDesignClass(DesignClass); DesignClass.State = "normal"; DesignerViewModel.SaveClassCommand.RaiseCanExecuteChanged(); MessageBox.Show("保存成功!"); } return(true); }
public void Cancel() { DesignInfo DesignInfo = ApplicationDesignService.GetUIDesignInfo(DesignProperty.PropertyID); if (DesignInfo != null) { UIDesignInfo = DesignInfo; } else { InitDesignInfo(); } }
public ApplicationOpenViewModel() { BtnOKCommand = new DelegateCommand <object>(BtnOK); ApplicationSource = new ObservableCollection <DesignApplication>(); RowActivatedCommand = new DelegateCommand <object>(RowActivate); List <DynEntity> applications = ApplicationDesignService.GetAllApplicationCollection(); foreach (var application in applications) { DesignApplication applicationViewModel = new DesignApplication(application); ApplicationSource.Add(applicationViewModel); } }
public ApplicationModuleRelationViewModel() { SelectionChangedCommand = new DelegateCommand <object>(SelectionChanged); List <DynEntity> applications = ApplicationDesignService.GetAllApplicationCollection(); ApplicationSource.Clear(); foreach (var application in applications) { DesignApplication designApplication = new DesignApplication(application); ApplicationSource.Add(designApplication); SelectedApplication = ApplicationSource[0]; } InitModules(); }
public void EditNamespace(object parameter) { Namespace nameSpace = NamespaceSource.Where(item => item.IsChecked == true).First(); if (ApplicationDesignService.CanDeleteNamespace(nameSpace.NamespaceID)) { NameSpaceView nameSpaceView = new NameSpaceView(); nameSpaceView.ViewModel.Namespace = nameSpace; nameSpaceView.Title = "编辑命名空间"; nameSpaceView.ViewModel.EditState = "modify"; nameSpaceView.ShowDialog(); } else { MessageBox.Show("命名空间: " + nameSpace.NamespaceName + " 已经存在 Class关联不可以编辑!", "提示"); } }
public void Cancel() { if (DesignMethod.MethodID > 0) { DesignMethod originalDesignMethod = ApplicationDesignService.GetDesignMethod(DesignMethod.MethodID); DesignMethod.MethodName = originalDesignMethod.MethodName; DesignMethod.Body = originalDesignMethod.Body; DesignMethod.Description = originalDesignMethod.Description; DesignMethod.IsChecked = true; DesignMethod.IsMethodChanged = originalDesignMethod.IsMethodChanged; DesignMethod.Parameters = originalDesignMethod.Parameters; DesignMethod.ResultCollectionType = originalDesignMethod.ResultCollectionType; DesignMethod.ResultDataType = originalDesignMethod.ResultDataType; DesignMethod.ResultStructName = originalDesignMethod.ResultStructName; DesignMethod.ScriptType = originalDesignMethod.ScriptType; DesignMethod.State = originalDesignMethod.State; } }
public bool EditUIDesignInfo() { if (DesignProperty.DataType != "String" && DesignProperty.DataType != "Struct") { if (UIDesignInfo.QueryForm == "Fuzzy") { MessageBox.Show("非字符型的属性不支持模糊查询,请检查!", "提示"); return(false); } } if (UIDesignInfo.IsPropertyChanged) { ApplicationDesignService.ModifyUIDesignInfo(DesignProperty.PropertyID, UIDesignInfo); UIDesignInfo.IsPropertyChanged = false; MessageBox.Show("界面信息已经成功保存到数据库!", "提示"); } return(true); }
public ApplicationModuleManagerViewModel() { AddModuleCommand = new DelegateCommand <object>(AddModule); EditModuleCommand = new DelegateCommand <object>(EditModule, CanEditModuleExecute); DeleteModuleCommand = new DelegateCommand <object>(DeleteModule, CanDeleteModuleExecute); CheckedCommand = new DelegateCommand <object>(Checked); UncheckedCommand = new DelegateCommand <object>(UnChecked); RowActivatedCommand = new DelegateCommand <object>(RowActivate); _moduleSouce = new ObservableCollection <ApplicationModule>(); List <DynEntity> modules = ApplicationDesignService.GetAllApplictionModuleCollection(); ModuleSouce.Clear(); foreach (var module in modules) { ApplicationModule moduleModel = new ApplicationModule(module); ModuleSouce.Add(moduleModel); } }
public ApplicationManagerViewModel() { AddDesignApplicationCommand = new DelegateCommand <object>(AddDesignApplication); EditDesignApplicationCommand = new DelegateCommand <object>(EditDesignApplication, CanEditDesignApplicationExecute); DeleteDesignApplicationCommand = new DelegateCommand <object>(DeleteDesignApplication, CanDeleteDesignApplicationExecute); RowActivatedCommand = new DelegateCommand <object>(RowActivate); CheckedCommand = new DelegateCommand <object>(Checked); UncheckedCommand = new DelegateCommand <object>(UnChecked); _applicationSource = new ObservableCollection <DesignApplication>(); List <DynEntity> applications = ApplicationDesignService.GetAllApplicationCollection(); ApplicationSource.Clear(); foreach (var application in applications) { DesignApplication applicationViewModel = new DesignApplication(application); ApplicationSource.Add(applicationViewModel); } }
public void Cancel() { if (DesignClass.ClassID > 0) { DynEntity classEntity = ApplicationDesignService.GetClassEntity(DesignClass.ClassID); string dynAtrributeStr = classEntity["Attributes"] as string; List <DynObject> dynAttributes = DynObjectTransverter.JsonToDynObjectList(dynAtrributeStr); foreach (var item in dynAttributes) { switch (item.DynClass.Name) { case "Persistable": DesignClass.IsPersistable = true; break; } } DesignClass.DisplayName = classEntity["Description"] as string; DesignClass.Description = classEntity["DisplayName"] as string; DesignClass.NamespaceID = Convert.ToInt32(classEntity["NamespaceID"]); DesignerViewModel.CurrentDesignClass = DesignClass; } }
private void GenerateCode() { if (ClassDataSource.Count > 0) { StringBuilder assemblyStringBuilder = new StringBuilder(); StringBuilder entityStringBuilder = null; assemblyStringBuilder.Append("using System;" + Environment.NewLine); assemblyStringBuilder.Append("using System.Collections.Generic;" + Environment.NewLine); //assemblyStringBuilder.Append("using System.Data;" + Environment.NewLine); assemblyStringBuilder.Append("using Rock.Orm.Common.Design;" + Environment.NewLine); assemblyStringBuilder.Append("namespace " + OutputNamespace + Environment.NewLine); assemblyStringBuilder.Append("{" + Environment.NewLine); string baseClassName = " : Rock.Orm.Common.Design.Entity"; foreach (var designClass in ClassDataSource) { entityStringBuilder = new StringBuilder(); //[Relation] if (designClass.MainType == 2) { entityStringBuilder.Append("[Relation]"); entityStringBuilder.Append(Environment.NewLine); } entityStringBuilder.Append("public interface " + designClass.ClassName + baseClassName); entityStringBuilder.Append(Environment.NewLine); entityStringBuilder.Append("{" + Environment.NewLine); designClass.Properties = ApplicationDesignService.GetClassDesignPropertyCollection(designClass.ClassID); foreach (var property in designClass.Properties) { //构造Atribute 结果 += " " + attrStr + CSharpDynClass.换行回车符; if (property.IsPrimarykey) { if (string.IsNullOrEmpty(property.StructName)) { entityStringBuilder.Append(" [PrimaryKey()]"); entityStringBuilder.Append(Environment.NewLine); } else { entityStringBuilder.Append(" [RelationKey(typeof(" + property.StructName + "))]"); entityStringBuilder.Append(Environment.NewLine); } } else { if (!property.IsNullable) { entityStringBuilder.Append(" [NotNull]"); entityStringBuilder.Append(Environment.NewLine); } } string dataType = string.Empty; switch (property.DataType) { case "String": dataType = "string"; if (property.DbFieldLength > 0) { entityStringBuilder.Append(" [SqlType(\"nvarchar(" + property.DbFieldLength + "\")]"); } else { entityStringBuilder.Append(" [SqlType(\"nvarchar(MAX\")]"); } entityStringBuilder.Append(Environment.NewLine); break; case "I32": if (property.IsNullable) { dataType = "int?"; } else { dataType = "int"; } break; case "Bool": if (property.IsNullable) { dataType = "bool?"; } else { dataType = "bool"; } break; case "DateTime": if (property.IsNullable) { dataType = "DateTime?"; } else { dataType = "DateTime"; } break; case "Decimal": entityStringBuilder.Append(" [SqlType(\"decimal(" + property.DbFieldLength + "," + property.DecimalDigits + "\")]"); entityStringBuilder.Append(Environment.NewLine); if (property.IsNullable) { dataType = "decimal?"; } else { dataType = "decimal"; } break; case "Struct": if (property.RelationType == "一对多") { entityStringBuilder.Append(" [FriendKey(typeof(" + property.StructName + "))]"); entityStringBuilder.Append(Environment.NewLine); entityStringBuilder.Append(" [FkReverseQuery(LazyLoad = true)]"); entityStringBuilder.Append(Environment.NewLine); entityStringBuilder.Append(" [MappingName(\"" + property.DbFieldName + "\")]"); entityStringBuilder.Append(Environment.NewLine); entityStringBuilder.Append(" [SerializationIgnore]"); entityStringBuilder.Append(Environment.NewLine); } else { if (designClass.MainType == 0) { entityStringBuilder.Append(" [FkQuery(\"" + designClass.ClassName + "ID\",LazyLoad = true)]"); entityStringBuilder.Append(Environment.NewLine); entityStringBuilder.Append(" [SerializationIgnore]"); entityStringBuilder.Append(Environment.NewLine); } } dataType = property.StructName; break; case "Binary": dataType = "byte[]"; break; case "I16": if (property.IsNullable) { dataType = "short?"; } else { dataType = "short"; } break; case "I64": if (property.IsNullable) { dataType = "long?"; } else { dataType = "long"; } break; case "Byte": if (property.IsNullable) { dataType = "byte?"; } else { dataType = "byte"; } break; case "Double": if (property.IsNullable) { dataType = "double?"; } else { dataType = "double"; } break; default: throw new Exception("数据类型错误:" + property.DataType); } switch (property.CollectionType) { case "None": if (property.DataType == "Struct") { entityStringBuilder.Append(" " + property.PropertyName + " " + property.PropertyName + " { get; set; }"); } else { entityStringBuilder.Append(" " + dataType + " " + property.PropertyName + " { get; set; }"); } break; case "List": entityStringBuilder.Append(" " + property.StructName + "[] " + property.PropertyName + " { get; set; }"); break; default: break; } entityStringBuilder.Append(Environment.NewLine); } entityStringBuilder.Append("}" + Environment.NewLine); assemblyStringBuilder.Append(entityStringBuilder.ToString()); } assemblyStringBuilder.Append("}"); Assembly ass = CSScript.LoadCode(assemblyStringBuilder.ToString()); CodeGenHelper codeGenHelper = new CodeGenHelper(OutputNamespace); EntityText = codeGenHelper.GenEntitiesEx(ass); } }
public void Initialize() { regionViewRegistry.RegisterViewWithRegion("MenuControl", typeof(Views.MenuControl)); regionViewRegistry.RegisterViewWithRegion("DocumentControl", typeof(Views.DocumentControl)); #region 初始化基本参照缓存 ApplicationDesignCache.CollectionTypeSource.Add("None"); ApplicationDesignCache.CollectionTypeSource.Add("List"); ApplicationDesignCache.DynTypeSource.Add("Binary"); ApplicationDesignCache.DynTypeSource.Add("Bool"); ApplicationDesignCache.DynTypeSource.Add("I16"); ApplicationDesignCache.DynTypeSource.Add("I32"); ApplicationDesignCache.DynTypeSource.Add("I64"); ApplicationDesignCache.DynTypeSource.Add("String"); ApplicationDesignCache.DynTypeSource.Add("Byte"); ApplicationDesignCache.DynTypeSource.Add("Double"); ApplicationDesignCache.DynTypeSource.Add("Decimal"); ApplicationDesignCache.DynTypeSource.Add("DateTime"); ApplicationDesignCache.DynTypeSource.Add("Struct"); ApplicationDesignCache.ResultTypeSource.Add("Void"); ApplicationDesignCache.ResultTypeSource.Add("Binary"); ApplicationDesignCache.ResultTypeSource.Add("Bool"); ApplicationDesignCache.ResultTypeSource.Add("I16"); ApplicationDesignCache.ResultTypeSource.Add("I32"); ApplicationDesignCache.ResultTypeSource.Add("I64"); ApplicationDesignCache.ResultTypeSource.Add("String"); ApplicationDesignCache.ResultTypeSource.Add("Byte"); ApplicationDesignCache.ResultTypeSource.Add("Double"); ApplicationDesignCache.ResultTypeSource.Add("Decimal"); ApplicationDesignCache.ResultTypeSource.Add("DateTime"); ApplicationDesignCache.ResultTypeSource.Add("Struct"); ApplicationDesignCache.RelationTypeSource.Add("无"); ApplicationDesignCache.RelationTypeSource.Add("一对多"); ApplicationDesignCache.RelationTypeSource.Add("多对一"); ApplicationDesignCache.SqlTypeSource.Add("nvarchar"); ApplicationDesignCache.SqlTypeSource.Add("int"); ApplicationDesignCache.SqlTypeSource.Add("datetime"); ApplicationDesignCache.SqlTypeSource.Add("date"); ApplicationDesignCache.SqlTypeSource.Add("bit"); ApplicationDesignCache.SqlTypeSource.Add("decimal"); ApplicationDesignCache.SqlTypeSource.Add("bigint"); ApplicationDesignCache.SqlTypeSource.Add("binary"); ApplicationDesignCache.SqlTypeSource.Add("char"); ApplicationDesignCache.SqlTypeSource.Add("float"); ApplicationDesignCache.SqlTypeSource.Add("nchar"); ApplicationDesignCache.SqlTypeSource.Add("smalldatetime"); ApplicationDesignCache.SqlTypeSource.Add("smallint"); ApplicationDesignCache.SqlTypeSource.Add("time"); ApplicationDesignCache.SqlTypeSource.Add("tinyint"); ApplicationDesignCache.SqlTypeSource.Add("uniqueidentifier"); ApplicationDesignCache.SqlTypeSource.Add("varbinary"); ApplicationDesignCache.SqlTypeSource.Add("varchar"); ApplicationDesignCache.ScriptTypeSource.Add("Dll"); ApplicationDesignCache.ValidateTypeSource.Add("None"); ApplicationDesignCache.ValidateTypeSource.Add("Number"); ApplicationDesignCache.ValidateTypeSource.Add("Date"); ApplicationDesignCache.InputTypeSource.Add("TextBox"); ApplicationDesignCache.InputTypeSource.Add("Date"); ApplicationDesignCache.InputTypeSource.Add("Combox"); ApplicationDesignCache.InputTypeSource.Add("CheckBox"); ApplicationDesignCache.InputTypeSource.Add("MultiTextBox"); ApplicationDesignCache.InputTypeSource.Add("Hidden"); ApplicationDesignCache.GridColSortingSource.Add("str"); ApplicationDesignCache.GridColSortingSource.Add("int"); ApplicationDesignCache.GridColSortingSource.Add("date"); ApplicationDesignCache.GridColSortingSource.Add("na"); ApplicationDesignCache.GridColTypeSource.Add("ro"); ApplicationDesignCache.GridColTypeSource.Add("ch"); ApplicationDesignCache.GridColTypeSource.Add("ed"); ApplicationDesignCache.GridColAlignSource.Add("left"); ApplicationDesignCache.GridColAlignSource.Add("center"); ApplicationDesignCache.GridColAlignSource.Add("right"); ApplicationDesignCache.GridColAlignSource.Add("justify"); ApplicationDesignCache.QueryFormSource.Add("Fuzzy"); ApplicationDesignCache.QueryFormSource.Add("Date"); ApplicationDesignCache.QueryFormSource.Add("Value"); ApplicationDesignCache.QueryFormSource.Add("Combox"); ApplicationDesignCache.QueryFormSource.Add("Tree"); ApplicationDesignCache.QueryFormSource.Add("Quick"); ApplicationDesignCache.NamespaceSource = ApplicationDesignService.GetAllNamespaceCollection(); ApplicationDesignCache.StructSource = ApplicationDesignService.GetAllEntityStructCollection(); ApplicationDesignCache.ApplicationID = 0; ApplicationDesignCache.ApplicationName = "设计器"; DocumentControlViewModel.OpenDesignerView(); #endregion 初始化基本参照缓存 }