Ejemplo n.º 1
0
        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("删除成功!");
            }
        }
Ejemplo n.º 3
0
        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"]
                        });
                    }
                }
            }
        }
Ejemplo n.º 4
0
        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("删除成功!");
            }
        }
Ejemplo n.º 5
0
 public void Cancel()
 {
     if (DesignProperty.PropertyID > 0)
     {
         DesignProperty originalDesignProperty = ApplicationDesignService.GetDesignProperty(DesignProperty.PropertyID);
         DesignProperty = originalDesignProperty;
         DesignerViewModel.CurrentdesignProperty = originalDesignProperty;
     }
 }
Ejemplo n.º 6
0
 public bool EditDesignClass()
 {
     DesignClass.NamespaceID = SelectedNameSpace.NamespaceID;
     if (DesignClass.State != "added")
     {
         ApplicationDesignService.EditDesignClass(DesignClass);
         DesignClass.State = "normal";
         DesignerViewModel.SaveClassCommand.RaiseCanExecuteChanged();
         MessageBox.Show("保存成功!");
     }
     return(true);
 }
Ejemplo n.º 7
0
        public void Cancel()
        {
            DesignInfo DesignInfo = ApplicationDesignService.GetUIDesignInfo(DesignProperty.PropertyID);

            if (DesignInfo != null)
            {
                UIDesignInfo = DesignInfo;
            }
            else
            {
                InitDesignInfo();
            }
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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();
        }
Ejemplo n.º 10
0
        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关联不可以编辑!", "提示");
            }
        }
Ejemplo n.º 11
0
 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;
     }
 }
Ejemplo n.º 12
0
        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);
            }
        }
Ejemplo n.º 14
0
        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);
            }
        }
Ejemplo n.º 15
0
 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;
     }
 }
Ejemplo n.º 16
0
        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);
            }
        }
Ejemplo n.º 17
0
        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 初始化基本参照缓存
        }