示例#1
0
文件: M.cs 项目: cmqd/coflows-quant
        public List <RawEntry> RawEntries()
        {
            lock (editLock)
            {
                if (group == null)
                {
                    group = Group.FindGroup(ID);
                }

                if (group != null && !string.IsNullOrEmpty(QuantApp.Kernel.User.ContextUser.ID) && group.List(QuantApp.Kernel.User.CurrentUser, typeof(QuantApp.Kernel.User), false).Count > 0)
                {
                    var permission = group.PermissionContext();
                    if (permission == AccessType.Denied)
                    {
                        return(new List <RawEntry>());
                    }
                }

                var entries = singularity.ToList();
                var res     = new List <RawEntry>();
                foreach (var entry in entries)
                {
                    var rawentry = new RawEntry();
                    rawentry.ID       = this.ID;
                    rawentry.EntryID  = entry.Key;
                    rawentry.Type     = singularity_type.ContainsKey(entry.Key) ? singularity_type[entry.Key] : entry.Value.GetType().ToString();
                    rawentry.Assembly = singularity_assembly.ContainsKey(entry.Key) ? singularity_assembly[entry.Key] : entry.Value.GetType().Assembly.GetName().Name;

                    if (rawentry.Type.ToLower() == "system.string" || rawentry.Type.ToLower() == "newtonsoft.json.linq.jobject" || (entry.Value is string))
                    {
                        string filtered_string = entry.Value.ToString().Replace((char)27, '"').Replace((char)26, '\'');
                        if (filtered_string.StartsWith("\"") && filtered_string.EndsWith("\""))
                        {
                            filtered_string = filtered_string.Substring(1, filtered_string.Length - 2).Replace("\\\"", "\"");
                        }
                        rawentry.Entry = filtered_string;
                    }
                    else
                    {
                        rawentry.Entry = Newtonsoft.Json.JsonConvert.SerializeObject(entry.Value);
                    }



                    res.Add(rawentry);
                }

                return(res);
            }
        }
示例#2
0
        public List <RawEntry> RawEntries()
        {
            lock (editLock)
            {
                var entries = singularity.ToList();
                var res     = new List <RawEntry>();
                foreach (var entry in entries)
                {
                    var rawentry = new RawEntry();
                    rawentry.ID       = this.ID;
                    rawentry.EntryID  = entry.Key;
                    rawentry.Type     = singularity_type.ContainsKey(entry.Key) ? singularity_type[entry.Key] : entry.Value.GetType().ToString();
                    rawentry.Assembly = singularity_assembly.ContainsKey(entry.Key) ? singularity_assembly[entry.Key] : entry.Value.GetType().Assembly.GetName().Name;

                    if (rawentry.Type.ToLower() == "system.string" || rawentry.Type.ToLower() == "newtonsoft.json.linq.jobject" || (entry.Value is string))
                    {
                        string filtered_string = entry.Value.ToString().Replace((char)27, '"').Replace((char)26, '\'');
                        if (filtered_string.StartsWith("\"") && filtered_string.EndsWith("\""))
                        {
                            filtered_string = filtered_string.Substring(1, filtered_string.Length - 2).Replace("\\\"", "\"");
                        }
                        rawentry.Entry = filtered_string;
                    }
                    else
                    {
                        rawentry.Entry = Newtonsoft.Json.JsonConvert.SerializeObject(entry.Value);
                    }



                    res.Add(rawentry);
                }

                return(res);
            }
        }