Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Attachment" /> class.
        /// </summary>
        /// <param name="filename">filename (required).</param>
        /// <param name="model">The object class to which the attachment must be linked. (required).</param>
        /// <param name="modelId">ID of the model this attachment is linked to. (required).</param>
        /// <param name="md5">MD5 hash of the file for basic duplicate detection..</param>
        /// <param name="downloadUri">downloadUri.</param>
        /// <param name="uploadUri">uploadUri.</param>
        /// <param name="title">title.</param>
        /// <param name="notes">notes.</param>
        public Attachment(string filename = default(string), ModelEnum model = default(ModelEnum), int modelId = default(int), string md5 = default(string), string downloadUri = default(string), string uploadUri = default(string), string title = default(string), string notes = default(string))
        {
            // to ensure "filename" is required (not null)
            if (filename == null)
            {
                throw new InvalidDataException("filename is a required property for Attachment and cannot be null");
            }
            else
            {
                this.Filename = filename;
            }

            this.Model = model;
            // to ensure "modelId" is required (not null)
            if (modelId == 0)
            {
                throw new InvalidDataException("modelId is a required property for Attachment and cannot be null");
            }
            else
            {
                this.ModelId = modelId;
            }

            this.Md5         = md5;
            this.DownloadUri = downloadUri;
            this.UploadUri   = uploadUri;
            this.Title       = title;
            this.Notes       = notes;
        }
Пример #2
0
 public void generate(ModelEnum _t = ModelEnum.Enemy_Cactus)
 {
     _Role = new EnemyRole(_t);
     _Role.init(null);
     _Role.gotostate(ModelEnum.Idle);
     _Role._AEVHandler += AnimatorEventHandler;
 }
Пример #3
0
    public override void loadanimation(ModelEnum _type)
    {
        clearrootanim();
        _WPType = _type;
        switch (_WPType)
        {
        case ModelEnum.WP_THS:
            _Animator.SetBool("THS", true);
            break;

        case ModelEnum.WP_SHS:
        case ModelEnum.WP_BOW:
            _Animator.SetBool("SHS", true);
            break;

        case ModelEnum.WP_STAFF:
            _Animator.SetBool("STAFF", true);
            break;

        case ModelEnum.WP_SPEAR:
            _Animator.SetBool("SPEAR", true);
            break;
        }
        _AnimParam = _preloaded[_WPType];
        doanim(ModelEnum.Idle);
    }
Пример #4
0
    private void loadfzskill()
    {
        ModelEnum _type = ModelEnum.ActionAttack;

        _type = ModelEnum.Atk_Skill_0;
        _atks [_type]._atkitem._Items._NModel = 105;
        _atks [_type]._atkitem._Items._NType  = (int)_type;                  //代表当前是哪个技能
        _atks [_type]._atkitem._Items._NStat  = (int)ModelEnum.Atk_Normal_0; //代表当前要播放哪个动画(即处于哪个状态)
        _atks [_type]._atkitem._Items._NCnt   = 1;                           //代表当前技能CD

        _type = ModelEnum.Atk_Skill_1;
        _atks [_type]._atkitem._Items._NModel = 125;
        _atks [_type]._atkitem._Items._NType  = (int)_type;                  //代表当前是哪个技能
        _atks [_type]._atkitem._Items._NStat  = (int)ModelEnum.Atk_Normal_1; //代表当前要播放哪个动画(即处于哪个状态)
        _atks [_type]._atkitem._Items._NCnt   = 1;                           //代表当前技能CD


        _type = ModelEnum.Atk_Skill_2;
        _atks [_type]._atkitem._Items._NModel = 145;
        _atks [_type]._atkitem._Items._NType  = (int)_type;                  //代表当前是哪个技能
        _atks [_type]._atkitem._Items._NStat  = (int)ModelEnum.Atk_Normal_1; //代表当前要播放哪个动画(即处于哪个状态)
        _atks [_type]._atkitem._Items._NCnt   = 5;                           //代表当前技能CD

        _type = ModelEnum.Atk_Skill_3;
        _atks [_type]._atkitem._Items._NModel = 165;
        _atks [_type]._atkitem._Items._NType  = (int)_type;                 //代表当前是哪个技能
        _atks [_type]._atkitem._Items._NStat  = (int)ModelEnum.Atk_Skill_0; //代表当前要播放哪个动画(即处于哪个状态)
        _atks [_type]._atkitem._Items._NCnt   = 5;                          //代表当前技能CD

        _type = ModelEnum.Atk_Skill_4;
        _atks [_type]._atkitem._Items._NModel = 185;
        _atks [_type]._atkitem._Items._NType  = (int)_type;                 //代表当前是哪个技能
        _atks [_type]._atkitem._Items._NStat  = (int)ModelEnum.Atk_Skill_1; //代表当前要播放哪个动画(即处于哪个状态)
        _atks [_type]._atkitem._Items._NCnt   = 5;                          //代表当前技能CD
    }
Пример #5
0
 public void init(Animator _animator, ModelEnum _wt = ModelEnum.WP_THS)
 {
     _Animator = _animator;
     init_anim_all();
     _WPType = _wt;
     loadanimation(_wt);
 }
Пример #6
0
    public override void loadskill(ModelEnum _type)
    {
        _WeaponType = _type;

        switch (_type)
        {
        case ModelEnum.WP_THS:
            loaddjskill();
            break;

        case ModelEnum.WP_STAFF:
            loadfzskill();
            break;

        case ModelEnum.WP_SHS:
            loaddsskill();
            break;

        default:
            break;
        }
        foreach (var val in _atks.Values)
        {
            val._atkitem.flash();
        }
    }
Пример #7
0
        private ModelEnum ProcessEnum(EnumType enumType)
        {
            Type type = assembly.GetType(enumType.FullName);

            if (type == null)
            {
                log.Warn($"Could not find type for complex type {enumType.FullName}");

                return(null);
            }

            log.Debug($"Found enum {enumType.FullName}");
            string customAttributes = GetCustomAttributes(type);

            ModelEnum result = new ModelEnum
            {
                Name             = enumType.Name,
                Namespace        = enumType.NamespaceName,
                IsFlags          = enumType.IsFlags,
                ValueType        = enumType.UnderlyingType.ClrEquivalentType.Name,
                CustomAttributes = customAttributes.Length > 2
                                                     ? customAttributes
                                                     : null,
                Values = enumType.Members
                         .Select(enumMember => new ModelEnumValue {
                    Name = enumMember.Name, Value = enumMember.Value?.ToString()
                })
                         .ToList()
            };

            log.Debug("\n   " + JsonConvert.SerializeObject(result));

            return(result);
        }
Пример #8
0
    public void equipon(ModelEnum _eq, UnityEngine.Object _equip)
    {
        equipoff(_eq);
        if (!_equipnodes [_eq]._BObject)
        {
            return;
        }
        if (_eq == ModelEnum.EqArmor)
        {
            _equipnodes[_eq]._BoneNode.GetComponent <SkinnedMeshRenderer>().material = (Material)_equip;
            return;
        }

        _equipnodes[_eq]._Equiped = (GameObject)_equip;
        _equipnodes[_eq]._Equiped.transform.parent        = _equipnodes[_eq]._BoneNode;
        _equipnodes[_eq]._Equiped.transform.localScale    = Vector3.one;
        _equipnodes[_eq]._Equiped.transform.localPosition = Vector3.zero;

        switch (_eq)
        {
        case ModelEnum.EqWeapon:
        case ModelEnum.EqSubWeapon:
            _equipnodes [_eq]._Equiped.transform.localRotation = Quaternion.Euler(270.0f, 0.0f, 0.0f);
            break;

        case ModelEnum.EqWings:
            _equipnodes[_eq]._Equiped.transform.localRotation = Quaternion.Euler(0.0f, 0.0f, 0.0f);
            break;

        default:
            break;
        }
    }
Пример #9
0
    public void AnimatorEventHandler(ModelEnum _t)
    {
        switch (_t)
        {
        case ModelEnum.AEV_ENTER:
            break;

        case ModelEnum.AEV_EFFECT:
            _Role.m_skillcontroler.skilleffect();
            break;

        case ModelEnum.AEV_DAMAGE:
            if (_TargetEnemy != null)
            {
                _TargetEnemy._Role.blooding(-50);
            }
            break;

        case ModelEnum.AEV_EXIT:
            if (false)             //_Role.m_skillcontroler._WeaponType == ModelEnum.WP_SHS && (ModelEnum)_Role.m_skillcontroler._curskill._NType == ModelEnum.Atk_Skill_3) {

            {
            }
            else
            {
                _Role.m_animcontroler.doanim(ModelEnum.Idle);
                _Role.m_skillcontroler.skillexit();
            }

            break;
        }
    }
Пример #10
0
    public override void doanim(ModelEnum _anim)
    {
        if (_AnimParam == null)
        {
            return;
        }
        switch (_anim)
        {
        case ModelEnum.Lock:
            break;

        case ModelEnum.Idle:
        case ModelEnum.Run:
            _Animator.SetBool(_AnimParam[ModelEnum.Idle]._parahash, _anim == ModelEnum.Idle ? true : false);
            break;

        case ModelEnum.Atk_Normal_0:
        case ModelEnum.Atk_Normal_1:
        case ModelEnum.Atk_Skill_0:
        case ModelEnum.Atk_Skill_1:
        case ModelEnum.Die:
            _Animator.SetBool(_AnimParam[ModelEnum.Idle]._parahash, true);
            _Animator.SetTrigger(_AnimParam[_anim]._parahash);
            break;
        }
    }
Пример #11
0
        private void ProcessEnum(Type enumType, ModelRoot modelRoot)
        {
            string customAttributes = GetCustomAttributes(enumType);

            ModelEnum result = new ModelEnum();

            result.Name      = enumType.Name;
            result.Namespace = enumType.Namespace;

            if (modelRoot.Enumerations.All(e => e.FullName != result.FullName))
            {
                Type underlyingType = Enum.GetUnderlyingType(enumType);
                result.IsFlags   = enumType.GetTypeInfo().GetCustomAttribute(typeof(FlagsAttribute)) is FlagsAttribute;
                result.ValueType = underlyingType.Name;

                result.CustomAttributes = customAttributes.Length > 2
                                         ? customAttributes
                                         : null;

                result.Values = Enum.GetNames(enumType)
                                .Select(name => new ModelEnumValue {
                    Name = name, Value = Convert.ChangeType(Enum.Parse(enumType, name), underlyingType).ToString()
                })
                                .ToList();

                modelRoot.Enumerations.Add(result);
            }
        }
Пример #12
0
    public override void loadanimation(ModelEnum _type)
    {
        _WPType = _type;

        Dictionary <ModelEnum, string[]> _anim = new Dictionary <ModelEnum, string[]> ()
        {
            { ModelEnum.Idle, new string[] { "Idle", "Idle" } },
            { ModelEnum.Run, new string[] { "Run", "Run" } },
            { ModelEnum.Die, new string[] { "Die", "Die" } },
            { ModelEnum.Atk_Normal_0, new string[] { "BiteAttack", "Bite Attack" } },
            { ModelEnum.Atk_Normal_1, new string[] { "ProjectileAttack", "Projectile Attack" } },
            { ModelEnum.Atk_Skill_0, new string[] { "FireBreathAttack-Middle", "Fire Breath Attack" } },
            { ModelEnum.Atk_Skill_1, new string[] { "CastSpell", "Cast Spell" } },
        };

        _AnimParam = new Dictionary <ModelEnum, roleanim> ();

        foreach (ModelEnum _e in _anim.Keys)
        {
            _AnimParam.Add(_e, new roleanim(_anim [_e] [0], _anim [_e] [1], _e));
        }

        _AnimEv = new Dictionary <int, roleanimev> ()
        {
            //WP_THS
            { Animator.StringToHash(_AnimParam[ModelEnum.Atk_Normal_0]._animname), new roleanimev(_AnimParam[ModelEnum.Atk_Normal_0], 0.02f, -1.0f, 0.48f, 0.94f) },
            { Animator.StringToHash(_AnimParam[ModelEnum.Atk_Normal_1]._animname), new roleanimev(_AnimParam[ModelEnum.Atk_Normal_1], 0.02f, -1.0f, 0.48f, 0.94f) },
            { Animator.StringToHash(_AnimParam[ModelEnum.Atk_Skill_0]._animname), new roleanimev(_AnimParam[ModelEnum.Atk_Skill_0], 0.0f, 0.3f, 0.4f, 0.94f) },
            { Animator.StringToHash(_AnimParam[ModelEnum.Atk_Skill_1]._animname), new roleanimev(_AnimParam[ModelEnum.Atk_Skill_1], 0.02f, -1.0f, 0.58f, 0.94f) },
        };

        _Animator.SetBool("Fly", false);
    }
Пример #13
0
 public Motorbike(ModelEnum model, float price, float volume_tank, int speed, int Pengine)
 {
     this.model       = model;
     this.price       = price;
     this.volume_tank = volume_tank;
     this.speed       = speed;
     this.Pengine     = Pengine;
 }
Пример #14
0
 public Motorbike()
 {
     model       = ModelEnum.Jawa;
     price       = 5000;
     volume_tank = 18.5f;
     speed       = 190;
     Pengine     = 62;
 }
Пример #15
0
 public AddCodeForm(ModelEnum element) : this()
 {
     lblClassName.Text = element.Name;
     txtCode.Lines     = element.Values.Select(x => x.ToString()).ToArray();
     Text        = "Add values as code";
     label1.Text = "Enum name";
     label2.Text = "Values";
 }
Пример #16
0
    public void init(ModelEnum _wt = ModelEnum.WP_THS)
    {
        _curskill = new Items();

        initattacks();

        loadskill(_wt);
    }
Пример #17
0
 public AddCodeForm(ModelEnum element) : this()
 {
     lblClassName.Text = element.Name;
     txtCode.Lines     = element.Values.Select(x => x.ToString()).ToArray();
     Text        = "Add values as code";
     label1.Text = "Enum name";
     label2.Text = "Values";
     txtCode.AutoCompleteCustomSource.AddRange(element.ModelRoot.ValidTypes);
 }
Пример #18
0
    public int _parahash;           //to hash

    public roleanim(string _name, string _para, ModelEnum _type)
    {
        _animname = _name;
        _animtype = _type;
        _paraname = _para;

        _animhash = Animator.StringToHash(_animname);
        _parahash = Animator.StringToHash(_paraname);
    }
Пример #19
0
    public roleanimev(string _name, string _para, ModelEnum _type, float _in, float _effect, float _damage, float _out)
    {
        _anim      = new roleanim(_name, _para, _type);
        _enter_did = _exit_did = _damage_did = _effect_did = false;

        _nort_enter  = _in;             //00%
        _nort_effect = _effect;         //36%
        _nort_damage = _damage;         //48%
        _nort_exit   = _out;            //90%
    }
Пример #20
0
        public EnumEditor(ModelEnum modelEnum) : this()
        {
            nameTextBox.Text = modelEnum.Name;
            editEnum         = modelEnum;
            editEnum.Editor  = this;

            Text                      = modelEnum.Name;
            nameTextBox.Text          = modelEnum.Name;
            namespaceTextBox.Text     = modelEnum.Namespace;
            typeComboBox.SelectedItem = editEnum.UnderlyingType;
        }
Пример #21
0
 /// <summary>
 /// 资源构造函数
 /// </summary>
 /// <param name="rtype">资源类型</param>
 /// <param name="args">参数对,字符型资源必须为int culture, string matter成对出现
 ///                            金额型资源必须为guid gid, decimal cash成对出现</param>
 /// <example>
 ///     var o = CreateResource(STRING, 2052, "中文内容", 1033, "英文内容");
 /// </example>
 public GeneralResource(ModelEnum.ResourceType rtype, params object[] args)
 {
     this.Rtype = (byte)rtype;
     this.ResourceItems = new List<GeneralResItem>();
     bool bFirstSet = true;
     try
     {
         if (this.Rtype == (byte)ModelEnum.ResourceType.MONEY)
         {
             for (int i = 0; i < args.Count(); i += 2)
             {
                 if (bFirstSet)
                 {
                     this.Currency = (Guid?)args[i];
                     this.Cash = (decimal)args[i + 1];
                     bFirstSet = false;
                 }
                 else
                 {
                     this.ResourceItems.Add(new GeneralResItem
                     {
                         Currency = (Guid?)args[i],
                         Cash = (decimal)args[i + 1]
                     });
                 }
             }
         }
         else
         {
             for (int i = 0; i < args.Count(); i += 2)
             {
                 if (bFirstSet)
                 {
                     this.Culture = (int)args[i];
                     this.Matter = args[i + 1].ToString();
                     bFirstSet = false;
                 }
                 else
                 {
                     this.ResourceItems.Add(new GeneralResItem
                     {
                         Culture = (int)args[i],
                         Matter = args[i + 1].ToString()
                     });
                 }
             }
         }
     }
     catch { }
 }
Пример #22
0
      string FullyQualified(ModelRoot modelRoot, string typeName)
      {
         string[] parts = typeName.Split('.');

         if (parts.Length == 1)
            return typeName;

         string simpleName = parts[0];
         ModelEnum modelEnum = modelRoot.Store.ElementDirectory.AllElements.OfType<ModelEnum>().FirstOrDefault(e => e.Name == simpleName);

         return modelEnum != null
                     ? $"{modelEnum.FullName}.{parts.Last()}"
                     : typeName;
      }
Пример #23
0
    public void equipoff(ModelEnum _eq)
    {
        if (_equipnodes [_eq]._BObject)
        {
            if (_equipnodes [_eq]._Equiped != null)
            {
                GameObject.Destroy(_equipnodes [_eq]._Equiped);
            }
            _equipnodes [_eq]._Equiped = null;

            if (_eq == ModelEnum.EqArmor)
            {
                _equipnodes [_eq]._BoneNode.GetComponent <SkinnedMeshRenderer> ().material = null;
            }
        }
    }
Пример #24
0
    public void AnimatorEventHandler(ModelEnum _t)
    {
        switch (_t)
        {
        case ModelEnum.AEV_ENTER:
            break;

        case ModelEnum.AEV_EFFECT:
            break;

        case ModelEnum.AEV_DAMAGE:
            break;

        case ModelEnum.AEV_EXIT:
            break;
        }
    }
Пример #25
0
        private void modelTree_DoubleClick(object sender, System.EventArgs e)
        {
            TreeNode selectedNode = this.modelTree.SelectedNode;

            if (selectedNode.Parent == null &&
                selectedNode.Tag is DataModel)
            {
                modelProperties(this, e);
            }
            else
            {
                if (selectedNode.Parent.Tag is ModelFolder)
                {
                    if (selectedNode.Tag is ModelClass)
                    {
                        ModelClass editClass = (ModelClass)selectedNode.Tag;

                        // Bring the edit window to focus if there is already one attached to the field
                        if (editClass.Editor != null)
                        {
                            ((ClassEditor)editClass.Editor).Focus();
                            return;
                        }

                        ClassEditor classEditor = new ClassEditor(editClass);
                        classEditor.MdiParent = this.MdiParent;
                        classEditor.Show();
                    }
                    else if (selectedNode.Tag is ModelEnum)
                    {
                        ModelEnum editEnum = (ModelEnum)selectedNode.Tag;

                        if (editEnum.Editor != null)
                        {
                            ((EnumEditor)editEnum.Editor).Focus();
                            return;
                        }

                        EnumEditor enumEditor = new EnumEditor(editEnum);
                        enumEditor.MdiParent = this.MdiParent;
                        enumEditor.Show();
                    }
                }
            }
        }
Пример #26
0
        private void addEnum(object sender, System.EventArgs e)
        {
            TreeNode    selectedNode;
            ModelFolder folder;

            selectedNode = modelTree.SelectedNode;

            // Find Current Folder
            while (selectedNode.Parent != null &
                   !(selectedNode.Tag is ModelFolder))
            {
                selectedNode = selectedNode.Parent;
            }

            if (selectedNode.Tag is ModelFolder)
            {
                folder = (ModelFolder)selectedNode.Tag;
            }
            else
            {
                return;
            }

            // Instantiate new class object
            ModelEnum newEnum = new ModelEnum();

            newEnum.Name        = "NewEnum";
            newEnum.ParentModel = this.model;
            newEnum.Namespace   = this.model.DefaultNamespace;
            folder.Items.Add(newEnum);

            // Add class object to DataTypeManager
            DataTypeManager.EnumTypes.Add(new EnumType(newEnum, null));

            // Instantiate new class object editor
            EnumEditor newEnumEditor = new EnumEditor(newEnum);

            newEnumEditor.MdiParent = this.MdiParent;
            newEnumEditor.Show();

            refreshTree();
        }
Пример #27
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="rtype">资源类型</param>
 /// <param name="resource">完整资源表</param>
 public GeneralResource(ModelEnum.ResourceType rtype, GeneralResource resource)
 {
     this.Rtype = (byte)rtype;
     this.ResourceItems = new List<GeneralResItem>();
     if (rtype == ModelEnum.ResourceType.MONEY)
     {
         this.Code = resource.Code;
         this.Currency = resource.Currency;
         this.Cash = resource.Cash;
         this.Remark = resource.Remark;
         foreach (GeneralResItem item in resource.ResourceItems)
         {
             var resitem = this.ResourceItems.FirstOrDefault(i => i.Currency == item.Currency && i.Deleted == false);
             if (resitem == null)
                 this.ResourceItems.Add(new GeneralResItem { Code = item.Code, Currency = item.Currency, Cash = item.Cash, Remark = item.Remark });
             else
             {
                 resitem.Code = item.Code;
                 resitem.Cash = item.Cash;
             }
         }
     }
     else
     {
         this.Code = resource.Code;
         this.Culture = resource.Culture;
         this.Matter = resource.Matter;
         this.Remark = resource.Remark;
         foreach (GeneralResItem item in resource.ResourceItems)
         {
             var resitem = this.ResourceItems.FirstOrDefault(i => i.Culture == item.Culture && i.Deleted == false);
             if (resitem == null)
                 this.ResourceItems.Add(new GeneralResItem { Code = item.Code, Culture = item.Culture, Matter = item.Matter, Remark = item.Remark });
             else
             {
                 resitem.Code = item.Code;
                 resitem.Matter = item.Matter;
             }
         }
     }
 }
Пример #28
0
        private TreeNode newTreeNode(object obj)
        {
            TreeNode n = new TreeNode();

            if (obj is ModelClass)
            {
                ModelClass c = (ModelClass)obj;
                n.Tag                = c;
                n.Text               = c.Name;
                n.ImageIndex         = 3;
                n.SelectedImageIndex = 3;
                c.Updated           += new ModelClassEventHandler(classUpdated);
            }
            else if (obj is ModelEnum)
            {
                ModelEnum e = (ModelEnum)obj;
                n.Tag                = e;
                n.Text               = e.Name;
                n.ImageIndex         = 5;
                n.SelectedImageIndex = 5;
            }
            else if (obj is ReferenceEntry)
            {
                ReferenceEntry r = (ReferenceEntry)obj;
                n.Tag                = r;
                n.Text               = r.Name;
                n.ImageIndex         = 4;
                n.SelectedImageIndex = 4;
            }
            else if (obj is ReferenceType)
            {
                ReferenceType type = (ReferenceType)obj;
                n.Tag                = type;
                n.Text               = type.Name;
                n.ImageIndex         = 3;
                n.SelectedImageIndex = 3;
            }

            return(n);
        }
Пример #29
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ModelSelection" /> class.
        /// </summary>
        /// <param name="library">The available values are: Lusid, RefinitivQps, RefinitivTracsWeb, VolMaster, IsdaCds (required).</param>
        /// <param name="model">The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes (required).</param>
        public ModelSelection(LibraryEnum library = default(LibraryEnum), ModelEnum model = default(ModelEnum))
        {
            // to ensure "library" is required (not null)
            if (library == null)
            {
                throw new InvalidDataException("library is a required property for ModelSelection and cannot be null");
            }
            else
            {
                this.Library = library;
            }

            // to ensure "model" is required (not null)
            if (model == null)
            {
                throw new InvalidDataException("model is a required property for ModelSelection and cannot be null");
            }
            else
            {
                this.Model = model;
            }
        }
Пример #30
0
        private void close()
        {
            if (model != null)
            {
                foreach (ModelFolder folder in model.Folders)
                {
                    foreach (object item in folder.Items)
                    {
                        if (item is ModelClass)
                        {
                            ModelClass c = (ModelClass)item;
                            if (c.Editor != null)
                            {
                                ClassEditor editor = (ClassEditor)c.Editor;
                                editor.Close();
                            }
                        }
                        else if (item is EnumEditor)
                        {
                            ModelEnum e = (ModelEnum)item;
                            if (e.Editor != null)
                            {
                                EnumEditor editor = (EnumEditor)e.Editor;
                                editor.Close();
                            }
                        }
                    }
                }

                //
                // Clear DataTypes!
                //
                DataTypeManager.Clear();

                mExplorer.Clear();
            }
        }
Пример #31
0
        private ModelEnum ProcessEnum(EnumType enumType)
        {
            Type   type             = assembly.GetType(enumType.FullName);
            string customAttributes = GetCustomAttributes(type);

            ModelEnum result = new ModelEnum();

            result.Name      = enumType.Name;
            result.Namespace = enumType.NamespaceName;
            result.IsFlags   = enumType.IsFlags;
            result.ValueType = enumType.UnderlyingType.ClrEquivalentType.Name;

            result.CustomAttributes = customAttributes.Length > 2
                                      ? customAttributes
                                      : null;

            result.Values = enumType.Members
                            .Select(enumMember => new ModelEnumValue {
                Name = enumMember.Name, Value = enumMember.Value.ToString()
            })
                            .ToList();

            return(result);
        }
Пример #32
0
 public string GetRefCode(ModelEnum.NoteType? refType, Guid? refID)
 {
     string code = null;
     if (refType.HasValue && refID.HasValue)
     {
         switch (refType)
         {
             case ModelEnum.NoteType.PURCHASE:
                 code = (from p in dbEntity.PurchaseInformations
                         where p.Gid == refID
                            && !p.Deleted
                         select p.Code).SingleOrDefault();
                 break;
             case ModelEnum.NoteType.ORDER:
                 code = (from o in dbEntity.OrderInformations
                         where o.Gid == refID
                            && !o.Deleted
                         select o.Code).SingleOrDefault();
                 break;
             case ModelEnum.NoteType.MOVE:
                 code = (from mov in dbEntity.WarehouseMovings
                         where mov.Gid == refID
                            && !mov.Deleted
                         select mov.Code).SingleOrDefault();
                 break;
             default: break;
         }
     }
     if (code == null)
         code = string.Empty;
     return code;
 }
Пример #33
0
 /// <summary>
 /// 普通日志写入文件
 /// </summary>
 /// <param name="msg">日志内容(中文)</param>
 /// <param name="level">日志级别</param>
 /// <param name="source">日志来源,模块标识</param>
 /// <param name="classname">类名称</param>
 /// <param name="userID">用户GUID</param>
 public void WriteEvent(string msg, ModelEnum.ActionLevel level, ModelEnum.ActionSource source, string classname, Guid? userID = null)
 {
     WriteEvent(msg, level, source, classname, userID, 0, null);
 }
Пример #34
0
 public Guid GetNoteGid(ModelEnum.NoteType refType, string code = "")
 {
     if (code == string.Empty)
     {
         //To do
     }
     Guid? gid = null;
     switch (refType)
     {
         case ModelEnum.NoteType.PURCHASE:
             gid = (from p in dbEntity.PurchaseInformations
                    where p.Code == code
                        //&& p.Pstatus ==
                        //需要添加额外逻辑
                        //
                       && !p.Deleted
                    select p.Gid).SingleOrDefault();
             break;
         case ModelEnum.NoteType.ORDER:
             gid = (from o in dbEntity.OrderInformations
                    where o.Code == code
                        //&& o.Ostatus ==
                        //需要添加额外逻辑
                        //
                       && !o.Deleted
                    select o.Gid).SingleOrDefault();
             break;
         case ModelEnum.NoteType.MOVE:
             gid = (from mov in dbEntity.WarehouseMovings
                    where mov.Code == code
                        //&& mov.Mstatus ==
                        //需要添加额外逻辑
                        //
                       && !mov.Deleted
                    select mov.Gid).SingleOrDefault();
             break;
         default: break;
     }
     Guid data = gid.HasValue ? gid.Value : Guid.Empty;
     return data;
 }
Пример #35
0
 /// <summary>
 /// 根据授权类别,查询用户管辖的GUID,例如组织,渠道,仓库等
 /// </summary>
 /// <param name="privType">授权类型</param>
 /// <returns>对应授权类型的Guid列表,即MemberPrivItem中的RefID值</returns>
 public List<Guid> Permission(ModelEnum.UserPrivType privType)
 {
     List<Guid> oList = new List<Guid>();
     switch (privType)
     {
         case ModelEnum.UserPrivType.ORGANIZATION:
         case ModelEnum.UserPrivType.CHANNEL:
         case ModelEnum.UserPrivType.WAREHOUSE:
         case ModelEnum.UserPrivType.SUPPLIER_CATEGORY:
             var items = (from p in dbEntity.MemberPrivileges.Include("PrivilegeItems")
                          where p.UserID == CurrentSession.UserID && p.Deleted == false && p.Ptype == (byte)privType && p.Pstatus == (byte)ModelEnum.GenericStatus.VALID//add by tianyou 2011/10/21 添加判断条件:启用状态
                          select p).FirstOrDefault();
             //-----------------------------edit by tianyou 2011/10/15
             //添加判断----若items为空,则说明用户没有该授权类别的权限或者没有启用
             if (items != null)//非空 查找子表的RefID
             {
                 foreach (var item in items.PrivilegeItems)
                     if (item.RefID.HasValue && item.Deleted==false)//
                         oList.Add(item.RefID.Value);
             }
             //-----------------------------------------------end edit
             break;
         case ModelEnum.UserPrivType.PRODUCT_CATEGORY:
             oList = dbEntity.Database.SqlQuery<Guid>("SELECT Gid FROM dbo.fn_FindFullCategories({0})", CurrentSession.UserID).ToList();
             break;
     }
     return oList;
 }
Пример #36
0
 /// <summary>
 /// 根据记录级别,日志写到文件或数据库中
 /// </summary>
 /// <param name="msg">日志内容(中文)</param>
 /// <param name="level">日志级别</param>
 /// <param name="source">日志来源,模块标识</param>
 /// <param name="classname">类名称</param>
 /// <param name="userID">用户GUID</param>
 /// <param name="refType">关联单据类型,0订单号</param>
 /// <param name="refID">关联单据号</param>
 public void WriteEvent(string msg, ModelEnum.ActionLevel level, ModelEnum.ActionSource source,
     string classname, Guid? userID, ModelEnum.NoteType? refType, Guid? refID = null)
 {
     WriteEvent(msg, level, source, classname, userID, refType, refID, false);
 }
Пример #37
0
 /// <summary>
 /// 待办事项日志
 /// </summary>
 /// <param name="msg">事项内容</param>
 /// <param name="todo">类别</param>
 /// <param name="jumpUrl">跳转地址</param>
 public void WriteTodoEvent(string msg, ModelEnum.TodoType todo, string jumpUrl)
 {
     try
     {
         if (dbEntity != null)
         {
             GeneralTodoList oTodo = new GeneralTodoList { Ttype = (byte)todo, Title = msg, JumpUrl = jumpUrl };
             dbEntity.GeneralTodoLists.Add(oTodo);
             dbEntity.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         WriteEvent(ex.Message, this.ToString());
     }
 }
Пример #38
0
 /// <summary>
 /// 设置资源,即替代更新
 /// </summary>
 /// <param name="rtype">资源类型</param>
 /// <param name="args">参数对,字符型资源必须为int culture, string matter成对出现
 ///                            金额型资源必须为guid gid, decimal cash成对出现</param>
 /// <example>
 ///     var o = CreateResource(STRING, 2052, "中文内容", 1033, "英文内容");
 /// </example>
 public void SetResource(ModelEnum.ResourceType rtype, params object[] args)
 {
     this.SetResource(rtype, new GeneralResource(rtype, args));
 }
Пример #39
0
 /// <summary>
 /// 更新已经存在的资源文件,包括插入新语言/货币,删除过期的语言/货币等
 /// </summary>
 /// <param name="rtype">资源类型:字符,金额</param>
 /// <param name="resource">原资源文件</param>
 /// <param name="organID">组织ID,空表示用系统支持的语言/货币刷新</param>
 /// <returns>新资源文件</returns>
 public GeneralResource RefreshResource(ModelEnum.ResourceType rtype, GeneralResource resource, Guid? organID = null)
 {
     GeneralResource oResource = resource;
     if (oResource == null)
         oResource = this.NewResource(rtype, organID);
     oResource.Rtype = (byte)rtype;
     List<Guid> oGuidList = new List<Guid>();
     if (rtype == ModelEnum.ResourceType.MONEY)
     {
         List<GeneralMeasureUnit> oUnits = this.GetSupportCurrencies(organID);
         bool bIsFirst = true;
         foreach (var item in oUnits)
         {
             if (bIsFirst)
             {
                 oResource.Code = item.Code;
                 oResource.Currency = item.Gid;
             }
             else
             {
                 var resitem = oResource.ResourceItems.FirstOrDefault(i => i.Currency == item.Gid && i.Deleted == false);
                 if (resitem == null)
                     oResource.ResourceItems.Add(new GeneralResItem { Code = item.Code, Currency = item.Gid });
                 else
                     oGuidList.Add(resitem.Gid);
             }
             bIsFirst = false;
         }
     }
     else
     {
         List<GeneralCultureUnit> oCultures = this.GetSupportCultures(organID);
         bool bIsFirst = true;
         foreach (var item in oCultures)
         {
             if (bIsFirst)
             {
                 oResource.Culture = item.Culture;
             }
             else
             {
                 var resitem = oResource.ResourceItems.FirstOrDefault(i => i.Culture == item.Culture && i.Deleted == false);
                 if (resitem == null)
                     oResource.ResourceItems.Add(new GeneralResItem { Culture = item.Culture });
                 else
                     oGuidList.Add(resitem.Gid);
             }
             bIsFirst = false;
         }
     }
     // 删除过时的语言资源
     for (int i = 0; i < oResource.ResourceItems.Count; i++)
     {
         var item = oResource.ResourceItems.ElementAt(i);
         if (!item.Gid.Equals(Guid.Empty) && !oGuidList.Contains(item.Gid))
             oResource.ResourceItems.Remove(item);
     }
     return oResource;
 }
Пример #40
0
 /// <summary>
 /// 产生多语言的资源文件
 /// </summary>
 /// <param name="rtype">资源类型:字符或金额</param>
 /// <param name="organID">组织,空则表示用系统支持的所有语言</param>
 /// <returns>新资源文件</returns>
 public GeneralResource NewResource(ModelEnum.ResourceType rtype, Guid? organID = null)
 {
     GeneralResource oResource = new GeneralResource();
     oResource.Rtype = (byte)rtype;
     if (rtype == ModelEnum.ResourceType.MONEY)
     {
         List<GeneralMeasureUnit> oUnits = this.GetSupportCurrencies(organID);
         bool bIsFirst = true;
         foreach (var item in oUnits)
         {
             if (bIsFirst)
             {
                 oResource.Code = item.Code;
                 oResource.Currency = item.Gid;
             }
             else
             {
                 oResource.ResourceItems.Add(new GeneralResItem { Code = item.Code, Currency = item.Gid });
             }
             bIsFirst = false;
         }
     }
     else
     {
         List<GeneralCultureUnit> oCultures = this.GetSupportCultures(organID);
         bool bIsFirst = true;
         foreach (var item in oCultures)
         {
             if (bIsFirst)
                 oResource.Culture = item.Culture;
             else
                 oResource.ResourceItems.Add(new GeneralResItem { Culture = item.Culture });
             bIsFirst = false;
         }
     }
     return oResource;
 }
Пример #41
0
 /// <summary>
 /// 根据授权类别,查询用户管辖的GUID,例如组织,渠道,仓库等
 /// </summary>
 /// <param name="privType">授权类型</param>
 /// <returns>对应授权类型的Guid列表,即MemberPrivItem中的RefID值</returns>
 public List<Guid> Permission(ModelEnum.UserPrivType privType)
 {
     List<Guid> oList = new List<Guid>();
     switch (privType)
     {
         case ModelEnum.UserPrivType.ORGANIZATION:
         case ModelEnum.UserPrivType.CHANNEL:
         case ModelEnum.UserPrivType.WAREHOUSE:
         case ModelEnum.UserPrivType.SUPPLIER_CATEGORY:
             var items = (from p in dbEntity.MemberPrivileges.Include("PrivilegeItems")
                          where p.UserID == CurrentSession.UserID && p.Deleted == false && p.Ptype == (byte)privType
                          select p).FirstOrDefault();
             foreach (var item in items.PrivilegeItems)
                 if (item.RefID.HasValue)
                     oList.Add(item.RefID.Value);
             break;
         case ModelEnum.UserPrivType.PRODUCT_CATEGORY:
             oList = dbEntity.Database.SqlQuery<Guid>("SELECT Gid FROM dbo.fn_FindFullCategories({0})", CurrentSession.UserID).ToList();
             break;
     }
     return oList;
 }
Пример #42
0
 /// <summary>
 /// 产生多语言的资源文件
 /// </summary>
 /// <param name="rtype">资源类型:字符或金额</param>
 /// <param name="organID">组织,空则表示用系统支持的所有语言</param>
 /// <returns>新资源文件</returns>
 public GeneralResource NewResource(ModelEnum.ResourceType rtype, Guid? organID = null)
 {
     return oGeneralBLL.NewResource(rtype, organID);
 }
Пример #43
0
 /// <summary>
 /// 根据记录级别,日志写到文件或数据库中
 /// </summary>
 /// <param name="msg">日志内容(中文)</param>
 /// <param name="level">日志级别</param>
 /// <param name="source">日志来源,模块标识</param>
 /// <param name="classname">类名称</param>
 /// <param name="userID">用户GUID</param>
 /// <param name="refType">关联单据类型,0订单号</param>
 /// <param name="refID">关联单据号</param>
 /// <param name="bForceToDb">将日期强制写入数据库</param>
 public void WriteEvent(string msg, ModelEnum.ActionLevel level, ModelEnum.ActionSource source,
     string classname, Guid? userID, ModelEnum.NoteType? refType, Guid? refID, bool bForceToDb = false)
 {
     string sMessage = "";
     string sRefMsg;
     string sLevelMsg = "[INFO],[WARN],[ERROR]";
     string[] sLevelList = sLevelMsg.Split(',');
     byte nLevel = (byte)level;
     if (nLevel < sLevelList.Length)
         sMessage = sLevelList[nLevel];
     try
     {
         sRefMsg = (refID == null) ? "" : String.Format("[0][1]", refType.ToString(), refID);
         sMessage += String.Format("[{0}][{1}][{2}][{3}][{4}][{5}]", DateTimeOffset.Now.ToString("yyyy-MM-dd HH:mm:ss"),
             source.ToString(), classname, userID, sRefMsg, msg);
         StreamWriter oLogWriter = new StreamWriter(strLogFile, true);
         oLogWriter.WriteLine(sMessage);
         oLogWriter.Close();
         oLogWriter.Dispose();
         // 严重错误,写入数据库
         if ((bForceToDb) || ((level == ModelEnum.ActionLevel.ERROR) && (dbEntity != null)))
         {
             GeneralAction oAction = new GeneralAction { Grade = (byte)level, Source = (byte)source, ClassName = classname, UserID = userID, RefType = (byte)refType, RefID = refID, Matter = msg };
             dbEntity.GeneralActions.Add(oAction);
             dbEntity.SaveChanges();
         }
         if (bIsDebug) Debug.WriteLine("{0}, {1}", this.ToString(), sMessage);
     }
     catch (Exception ex)
     {
         try
         {
             sMessage = String.Format("[ERROR][{0}][{1}][{2}][{3}][][{4}]", DateTimeOffset.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                 ModelEnum.ActionSource.SYSTEM, this.ToString(), userID, ex.Message);
             StreamWriter oLogWriter = new StreamWriter(strLogFile, true);
             oLogWriter.WriteLine(sMessage);
             oLogWriter.Close();
             oLogWriter.Dispose();
             if (bIsDebug) Debug.WriteLine("{0}, {1}", this.ToString(), sMessage);
         }
         catch { }
     }
 }
Пример #44
0
        /// <summary>
        /// 蛇身在移动图上移动
        /// </summary>
        /// <param name="panel"></param>
        /// <param name="map"></param>
        /// <param name="snake"></param>
        /// <param name="direction"></param>
        /// <param name="enableBack"></param>
        /// <param name="dead"></param>
        /// <returns></returns>
        public static ModelSnake MoveSnakeOnMap(Panel panel, ModelMap map, ModelSnake snake, ModelEnum.Direction direction, bool enableBack, out bool dead)
        {
            dead = false;
            if (!enableBack)
            {
                if (direction.Equals(ModelEnum.Direction.Up) && snake.Direction.Equals(ModelEnum.Direction.Down))
                    direction = snake.Direction;
                else if (direction.Equals(ModelEnum.Direction.Down) && snake.Direction.Equals(ModelEnum.Direction.Up))
                    direction = snake.Direction;
                else if (direction.Equals(ModelEnum.Direction.Left) && snake.Direction.Equals(ModelEnum.Direction.Right))
                    direction = snake.Direction;
                else if (direction.Equals(ModelEnum.Direction.Right) &&
                         snake.Direction.Equals(ModelEnum.Direction.Left))
                    direction = snake.Direction;
            }
            else
            {
                if (direction.Equals(ModelEnum.Direction.Up) && snake.Direction.Equals(ModelEnum.Direction.Down))
                    snake.Body.Reverse();
                else if (direction.Equals(ModelEnum.Direction.Down) && snake.Direction.Equals(ModelEnum.Direction.Up))
                    snake.Body.Reverse();
                else if (direction.Equals(ModelEnum.Direction.Left) && snake.Direction.Equals(ModelEnum.Direction.Right))
                    snake.Body.Reverse();
                else if (direction.Equals(ModelEnum.Direction.Right) &&
                         snake.Direction.Equals(ModelEnum.Direction.Left))
                    snake.Body.Reverse();
            }

            var head = new ModelElement
                {
                    Abscissa = snake.Body[0].Abscissa,
                    Ordinate = snake.Body[0].Ordinate
                };
            switch (direction)
            {
                case ModelEnum.Direction.Left:
                    head.Abscissa--;
                    break;
                case ModelEnum.Direction.Right:
                    head.Abscissa++;
                    break;
                case ModelEnum.Direction.Up:
                    head.Ordinate--;
                    break;
                case ModelEnum.Direction.Down:
                    head.Ordinate++;
                    break;
            }
            if (head.Abscissa < 0) head.Abscissa = map.Column - 1;
            else if (head.Abscissa == map.Column) head.Abscissa = 0;
            if (head.Ordinate < 0) head.Ordinate = map.Row - 1;
            else if (head.Ordinate == map.Row) head.Ordinate = 0;

            var d = snake.Body.SingleOrDefault(t => t.Abscissa == head.Abscissa && t.Ordinate == head.Ordinate);
            if (d != null)
            {
                dead = true;
            }

            var tail = snake.Body[snake.Body.Count - 1];
            var m = map.Body.SingleOrDefault(t => t.Bonus && t.Abscissa == tail.Abscissa && t.Ordinate == tail.Ordinate);
            if (m == null)
            {
                DrawMapBox(panel, map.Color, tail.Abscissa, tail.Ordinate, map.Box.Width, map.Box.Height);
                snake.Body.Remove(tail);
            }
            else
            {
                DrawMapBox(panel, snake.Color, head.Abscissa, head.Ordinate, map.Box.Width, map.Box.Height);
                m.Bonus = false;
            }

            DrawMapBox(panel, snake.Color, head.Abscissa, head.Ordinate, map.Box.Width, map.Box.Height);
            snake.Body.Insert(0, head);
            snake.Direction = direction;

            return snake;
        }
Пример #45
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ModelSelection" /> class.
 /// </summary>
 /// <param name="library">The available values are: Lusid, RefinitivQps, RefinitivTracsWeb, VolMaster, IsdaCds (required).</param>
 /// <param name="model">The available values are: SimpleStatic, Discounting, VendorDefault, BlackScholes, ConstantTimeValueOfMoney, Bachelier, ForwardWithPoints, ForwardWithPointsUndiscounted, ForwardSpecifiedRate, ForwardSpecifiedRateUndiscounted, IndexNav, IndexPrice, InlinedIndex, ForwardFromCurve, ForwardFromCurveUndiscounted, BlackScholesDigital, BjerksundStensland1993 (required).</param>
 public ModelSelection(LibraryEnum library = default(LibraryEnum), ModelEnum model = default(ModelEnum))
 {
     this.Library = library;
     this.Model   = model;
 }
Пример #46
0
 /// <summary>
 /// 更新已经存在的资源文件,包括插入新语言/货币,删除过期的语言/货币等
 /// </summary>
 /// <param name="rtype">资源类型:字符,金额</param>
 /// <param name="resource">原资源文件</param>
 /// <param name="organID">组织ID,空表示用系统支持的语言/货币刷新</param>
 /// <returns>新资源文件</returns>
 public GeneralResource RefreshResource(ModelEnum.ResourceType rtype, GeneralResource resource, Guid? organID = null)
 {
     return oGeneralBLL.RefreshResource(rtype, resource, organID);
 }