Example #1
0
 void IPorts.init()
 {
     unsafe
     {
         ApiPorts.Api_OutPut(SConvert.ToSByte(".net中转器测试模块已启动!"));
     }
 }
Example #2
0
 private void WriteAny(XmlWriter writer, string name, object value)
 {
     if (value is Bag)
     {
         writer.WriteStartElement(XmlConvert.EncodeLocalName(name));
         WriteGrappe(writer, (Bag)value);
         writer.WriteEndElement();
     }
     if (value is SArray)
     {
         writer.WriteStartElement(XmlConvert.EncodeLocalName(name));
         writer.WriteAttributeString("type", "Array");
         foreach (var v in ((SArray)value).Values)
         {
             WriteAny(writer, "Item", v);
         }
         writer.WriteEndElement();
     }
     else if (value is SValue)
     {
         var sValue = (SValue)value;
         writer.WriteStartElement(XmlConvert.EncodeLocalName(name));
         writer.WriteAttributeString("type", Type.GetTypeCode(sValue.Value.GetType()).ToString());
         writer.WriteString(SConvert.XmlEncode(sValue.Value));
         writer.WriteEndElement();
     }
 }
Example #3
0
 void IPorts.end()
 {
     unsafe
     {
         ApiPorts.Api_OutPut(SConvert.ToSByte(".net中转器测试模块已结束!"));
     }
 }
Example #4
0
        public static void ListString()
        {
            var list = SConvert.DeserializeObject <List <string> >("(1 $#%^4 \"543\")");

            Assert.NotNull(list);
            Assert.Equal(3, list.Count());
        }
Example #5
0
        int IPorts.EventFun(string qq, int msgtype, int msgctype, string msgsource, string dop, string bep, string msg, string rawmsg, Backer bker)
        {
            if (msgtype > Consts.消息类型_好友 && msgtype < Consts.消息类型_讨论组临时会话)
            {
                unsafe
                {
                    string back = null;
                    switch (msg)
                    {
                    case ".net测试":
                        back = "测试返回文本!";
                        break;

                    case "测试":
                        back = "此为.net插件模块,使用.net中转适配器适配(by 月落)";
                        break;

                    default:
                        return(1);
                    }
                    ApiPorts.Api_SendMsg(SConvert.ToSByte(qq), msgtype, 0,
                                         SConvert.ToSByte(msgsource), SConvert.ToSByte(dop), SConvert.ToSByte("测试反馈:" + back));
                }
            }
            return(1);
        }
Example #6
0
        static void Main(string[] args)
        {
            var xxx = SConvert.DeserializeObject <TestEnum>("(1)");
            //var xx = SConvert.DeserializeObject<DateTime>("(\"8/14/2018 6:27:22 AM\")");
            //var x1 = SConvert.DeserializeObject<byte>("(5)");
            //var x1 = SConvert.DeserializeObject<decimal>($"(\"\\\"\")");

            // var settings = SConvert.DeserializeObject<string>("(5)");
            //var settings = SConvert.DeserializeObject<string>($"({" "})");

            //var settings = SConvert.DeserializeObject<Settings>(")");
            //var settings = SConvert.DeserializeObject<Settings>("(5))");


            //var str = File.ReadAllText("settings.clj");
            //var settings = SConvert.DeserializeObject<Settings>(str);


            //var settings = SConvert.DeserializeObject<List<int>>("(1 2 3)");

            //var dict = new Dictionary<string, Kk>();
            //dict.Add("keyyy", new Kk { MyProperty = 24 });


            //var ms = new Asa{ Name="asa1", BoaProp=new Boa { Goa="boa1", AsaProp=new Asa { Name="asa2" } }  };


            var rr = SConvert.SerializeObject(new { x = DateTimeOffset.UtcNow }, Formatting.Indented);

            //var rr = SConvert.SerializeObject(ms, Formatting.Indented);
        }
Example #7
0
        private void ReadElement(XmlReader reader, Bag parent)
        {
            var name = XmlConvert.DecodeName(reader.LocalName);
            var type = reader["type"];

            // is it a value node ? i.e. type=""
            if (type != null)
            {
                if (type == "Array")
                {
                    // go to first item
                    parent.SetMember(name, ReadArray(reader));
                    reader.Read();
                }
                else
                {
                    var typeCode = (TypeCode)Enum.Parse(typeof(TypeCode), type);
                    var value    = SConvert.XmlDecode(typeCode, reader.ReadElementString());
                    parent.SetMember(name, value);
                }
            }
            else
            {
                var grappe = new Bag();
                reader.Read();
                parent.SetMember(name, grappe);
                while (reader.MoveToContent() == XmlNodeType.Element)
                {
                    ReadElement(reader, grappe);
                }

                reader.Read();
            }
        }
Example #8
0
        public static void ListInt()
        {
            var list = SConvert.DeserializeObject <List <int> >("(1 2 3)");

            Assert.NotNull(list);
            Assert.Equal(6, list.Sum());
        }
Example #9
0
 public static void ExceptionFormat()
 {
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <int>("(()"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <int>("(5()"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <int>("((5)"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <int>("())"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <int>("(5))"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <int>("()5)"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <object>("(()(5)))"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <object>("(())(5))"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <object>("((()(5))"));
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <object>("(()()5))"));
 }
Example #10
0
 public static void String()
 {
     Assert.Null(SConvert.DeserializeObject <string>("()"));
     Assert.Null(SConvert.DeserializeObject <string>("(      )"));
     Assert.Equal(string.Empty, SConvert.DeserializeObject <string>($"(\"\")"));
     Assert.Equal(" ", SConvert.DeserializeObject <string>($"(\" \")"));
     Assert.Equal("hello", SConvert.DeserializeObject <string>($"(hello)"));
     Assert.Equal("hello world", SConvert.DeserializeObject <string>($"(\"hello world\")"));
     Assert.Equal("#$123*7^&ashfks", SConvert.DeserializeObject <string>($"(#$123*7^&ashfks)"));
     Assert.Equal("(", SConvert.DeserializeObject <string>($"(\"(\")"));
     Assert.Equal("\"", SConvert.DeserializeObject <string>($"(\"\\\"\")"));
     Assert.Equal("5\"5", SConvert.DeserializeObject <string>($"(\"5\\\"5\")"));
     Assert.Equal("5(\"5", SConvert.DeserializeObject <string>($"(\"5(\\\"5\")"));
     Assert.Equal("5(\"\"5", SConvert.DeserializeObject <string>($"(\"5(\\\"\\\"5\")"));
 }
Example #11
0
 public static void Boolean()
 {
     Assert.True(SConvert.DeserializeObject <bool>("(true)"));
     Assert.True(SConvert.DeserializeObject <bool>("(True)"));
 }
Example #12
0
 public static void ExceptionArgument()
 {
     Assert.Throws <ArgumentException>(() => SConvert.DeserializeObject <object>("("));
     Assert.Throws <ArgumentException>(() => SConvert.DeserializeObject <object>(")"));
     Assert.Throws <ArgumentException>(() => SConvert.DeserializeObject <int>("5"));
 }
Example #13
0
 public static void Decimal()
 {
     Assert.Equal(4.6m, SConvert.DeserializeObject <decimal>("(4.6)"));
 }
Example #14
0
 public static void Enum()
 {
     Assert.Equal(TestEnum.Time, SConvert.DeserializeObject <TestEnum>("(1)"));
 }
Example #15
0
 public static void Int()
 {
     Assert.Equal(4, SConvert.DeserializeObject <int>("(4)"));
     Assert.Equal(-205, SConvert.DeserializeObject <int>("(-205)"));
 }
Example #16
0
 public static void Double()
 {
     Assert.Equal(5.2, SConvert.DeserializeObject <double>("(5.2)"));
 }
Example #17
0
 public static void ExceptionBoolean()
 {
     Assert.Throws <FormatException>(() => SConvert.DeserializeObject <bool>("(1)"));
 }
Example #18
0
 public static void ExceptionChar()
 {
     Assert.Throws <FormatException>(() => SConvert.DeserializeObject <char>("(xx)"));
 }
Example #19
0
 public ActionResult UploadTest(string location, string inputStr)
 {
     return(Content(sHttp.SApiPost("MES", location, inputStr, SConvert.FilesToDic(HttpContext.Request.Files))));
 }
Example #20
0
 public static void ExceptionInt()
 {
     Assert.Throws <Exception>(() => SConvert.DeserializeObject <int>("()"));
 }
Example #21
0
        private plotData GetPlotdata(SNP snp, string itemName, TaskSnp taskSnp, ConsumerParams cpParams, plotData offset)
        {
            plotData        dataSeries = new plotData();
            List <TdrParam> tdrParams  = cpParams.TestConfigs[0].TdrParams;

            switch (taskSnp.ItemType)
            {
            case   ItemType.Loss:

                if (itemName.StartsWith("S"))
                {
                    itemName = GetReverseItem(itemName, !taskSnp.FirstHalf && taskSnp.Srevert);
                    // cpParams.FormUi.AddStatus("analyze:"+itemName);
                    string[] outPairs = new string[1];
                    var      data     = snp.EasyGetfreData(itemName, out outPairs);
                    float[]  x        = SConvert.indexArray(data.dB, 0, false);
                    dataSeries.xData = data.fre;
                    dataSeries.yData = x;
                }
                else if (itemName.StartsWith("TDD"))
                {
                    itemName = GetReverseItem(itemName, !taskSnp.FirstHalf && taskSnp.Trevert);
                    // cpParams.FormUi.AddStatus("analyze:" + itemName);
                    TdrParam tdrParam = tdrParams[int.Parse(itemName.Substring(3, 1)) - 1];
                    string[] outPairs = new string[1];
                    double   timeStep = (tdrParam.EndTime - tdrParam.StartTime) / (tdrParam.Points - 1);
                    var      data     = snp.EasyGetTimeData(itemName, out outPairs, tdrParam.RiseTime, timeStep, tdrParam.Points, tdrParam.Offset);
                    float[]  x        = SConvert.indexArray(data.resistance, 0, false);
                    dataSeries.xData = data.time;
                    dataSeries.yData = x;
                }
                else if (itemName.Equals("ILD", StringComparison.OrdinalIgnoreCase))
                {
                    string[] outPairs = new string[1];
                    var      data     = snp.EasyGetILD(cpParams.TestConfigs[0].IldSpec, out outPairs);
                    float[]  x        = SConvert.indexArray(data.dB, 0, false);
                    dataSeries.xData = data.fre;
                    dataSeries.yData = x;
                }
                break;

            case ItemType.Next:
                if (itemName.StartsWith("NEXT"))
                {
                    // cpParams.FormUi.AddStatus("analyze:" + itemName);
                    string[] outPairs = new string[1];
                    var      data     = snp.EasyGetfreData("SDD21", out outPairs);
                    float[]  x        = SConvert.indexArray(data.dB, 0, false);
                    dataSeries.xData = data.fre;
                    dataSeries.yData = x;
                }
                break;

            case ItemType.Fext:
                if (itemName.StartsWith("FEXT"))
                {
                    // cpParams.FormUi.AddStatus("analyze:" + itemName);
                    string[] outPairs = new string[1];
                    var      data     = snp.EasyGetfreData("SDD21", out outPairs);
                    float[]  x        = SConvert.indexArray(data.dB, 0, false);
                    dataSeries.xData = data.fre;
                    dataSeries.yData = x;
                }
                break;
            }

            if (offset.yData != null)
            {
                int length = dataSeries.yData.Length < offset.yData.Length
                    ? dataSeries.yData.Length
                    : offset.yData.Length;
                for (int i = 0; i < length; i++)
                {
                    dataSeries.yData[i] = dataSeries.yData[i] + offset.yData[i];
                }
            }

            return(dataSeries);
        }
Example #22
0
 public static void Char()
 {
     Assert.Equal('x', SConvert.DeserializeObject <char>("(x)"));
 }
Example #23
0
 public static void Byte()
 {
     Assert.Equal(5, SConvert.DeserializeObject <byte>("(5)"));
 }
Example #24
0
 public static void DateTime()
 {
     Assert.Equal(new DateTime(2018, 8, 14, 6, 27, 22, 0, 0), SConvert.DeserializeObject <DateTime>("(\"8/14/2018 6:27:22 AM\")"));
 }
Example #25
0
 public static void DateTimeOffset()
 {
     Assert.Equal(new DateTimeOffset(2018, 8, 14, 6, 27, 22, 0, new TimeSpan(2, 0, 0)), SConvert.DeserializeObject <DateTimeOffset>("(\"8/14/2018 6:27:22 AM +02:00\")"));
 }
Example #26
0
 public static void ExceptionArgumentNull()
 {
     Assert.Throws <ArgumentNullException>(() => SConvert.DeserializeObject <object>(null));
 }
Example #27
0
        public static async Task Main(string[] args)
        {
            var settingsData = File.ReadAllText("settings.clj");
            var config       = SConvert.DeserializeObject <Config.Config>(settingsData);

            LoggerService.Init(config.LogPath);
            var logger        = LogManager.GetLogger(Logger.Logger.log.ToString());
            var loggerFactory = ((ILoggerFactory)(new LoggerFactory())).AddNLog();

            //var xloggerFactory = ((ILoggerFactory)(LoggerFactory.Create(x=>x.AddConsole())));

            logger.Info("App starting ...");
            var data = new Data
            {
                //Options = options
            };


            var dataSource = $"DataSource={config.DbPath}";

            var profiler = MiniProfiler.StartNew("My Pofiler Name");

            using (var connection = new Microsoft.Data.Sqlite.SqliteConnection(dataSource))
            {
                connection.Open();

                var connectionInMemory = new Microsoft.Data.Sqlite.SqliteConnection("DataSource=:memory:");
                connectionInMemory.Open();

                var builderInMemory = new DbContextOptionsBuilder().UseSqlite(connectionInMemory);
                data.Options = builderInMemory.Options;
                connection.BackupDatabase(connectionInMemory);
            }

            //var connection = new Microsoft.Data.Sqlite.SqliteConnection(dataSource);
            //var connectionInMemoryProfile = new StackExchange.Profiling.Data.ProfiledDbConnection(connection, MiniProfiler.Current);
            //var dbContextOptionsBuilder = new DbContextOptionsBuilder().UseSqlite(connectionInMemoryProfile);
            //var options = dbContextOptionsBuilder.Options;


            using (var imContext = new ImContext(data.Options))
            {
                data.TopTags = await imContext.Str
                               .Where(x => x.TopScoreMin > 0.5)
                               .OrderByDescending(x => x.TopScoreMin)
                               .Select(x => x.Name)
                               .ToListAsync();

                var categories = await imContext.Category
                                 .Select(x => x.Name)
                                 .ToListAsync();


                data.SortedCategories = categories
                                        .Where(x => x.IndexOf('_') == x.Length - 1)
                                        .Select(x => x.TrimEnd('_'))
                                        .AsParallel()
                                        .OrderBy(x => x)
                                        .Select(x => new Category
                {
                    Id         = string.Intern(x + "_"),
                    Name       = x,
                    Categories = categories
                                 .Where(y => y.IndexOf(x) == 0 && y.Length > x.Length + 1)
                                 .Select(y => new Category
                    {
                        Id   = string.Intern(y),
                        Name = y.Replace("_", " ").Remove(0, x.Length + 1)
                    })
                                 .OrderBy(x => x.Name)
                                 .ToList()
                })
                                        .ToList();
                data.ImagesCount = await imContext.Image.CountAsync();

                data.Colors = await imContext.ImageStr
                              .Where(x => x.IsDominantColor == ImageGalleryDb.Models.Im.Boolean.True)
                              .Select(x => x.Str.Name)
                              .Distinct()
                              .ToListAsync();


                //var images = await imContext.Image.ToListAsync();
                //var sitemapService = new SitemapService(logger, images, config.Domain);
                //// TODO: comment this code
                //var path = Path.Combine(Environment.CurrentDirectory, "wwwroot", "sitemap");
                //var fileNames = await sitemapService.ReGenerate(path);
                //fileNames.ForEach(x => Console.WriteLine(x));
            }



            var startupService = new StartupService(logger, config, data);

            startupService.LoggerFactory = loggerFactory;
            CreateWebHostBuilder(args, startupService).Build().Run();
        }