Exemplo n.º 1
0
        public virtual string WriteClass(NetClass netClass)
        {
            var exportStr = netClass.IsPublic ? "public " : "";
            var extends   = netClass.BaseTypes.Any()
                ? " : " + string.Join(", ", netClass.BaseTypes.Select(WriteTypeName))
                : "";
            var generics = netClass.GenericParameters.Any()
                ? $"<{string.Join(", ", netClass.GenericParameters.Select(WriteGenericParameter))}>"
                : "";

            var methods = GetMethodsString(netClass);
            var fields  = GetFieldsString(netClass);
            //var properties = GetPropertiesString(netClass);
            var events        = GetEventsString(netClass);
            var nestedClasses = GetNestedClassesString(netClass);
            var constructor   = netClass.Constructor != null?GetConstructor(netClass) : "";

            //TODO: write constructor

            var body = JoinBodyText(fields, events, constructor, methods);

            //TODO: config for brackets on same line as declaration
            return($"{exportStr}class {netClass.Name}{generics}{extends}" + _config.NewLine +
                   @"{" + _config.NewLine +
                   body +
                   @"}" +
                   nestedClasses);
        }
Exemplo n.º 2
0
    public void CollectNetClasses()
    {
        int                  i;
        IPCB_Board           Board;
        IPCB_BoardIterator   ClassIterator;
        IPCB_ObjectClass     NetClass;
        IPCB_ServerInterface PCBServer = PCB.GlobalVars.PCBServer;
        ArrayList            Report    = new ArrayList();
        IClient              Client    = DXP.GlobalVars.Client;

        Board         = PCBServer.GetCurrentPCBBoard();
        ClassIterator = Board.BoardIterator_Create();
        ClassIterator.SetState_FilterAll();
        ClassIterator.AddFilter_ObjectSet(Util.MKset(PCB.TObjectId.eClassObject));
        NetClass = (IPCB_ObjectClass)ClassIterator.FirstPCBObject();
        while (NetClass != null)
        {
            i = 0;
            if (NetClass.GetState_MemberKind() == TClassMemberKind.eClassMemberKind_Net)
            {
                Report.Add("NetClass Name: " + NetClass.GetState_Name());
                while (NetClass.GetState_MemberName(i) != null)
                {
                    Report.Add("    Member: " + NetClass.GetState_MemberName(i));
                    i++;
                }
            }
            NetClass = (IPCB_ObjectClass)ClassIterator.NextPCBObject();
        }
        Board.BoardIterator_Destroy(ref ClassIterator);
        File.WriteAllLines("C:\\NetClass.txt", (string[])Report.ToArray(typeof(string)));
        //Client.OpenDocument("Text", "C:\\NetClass.txt");
    }
Exemplo n.º 3
0
 private void CleanUp()
 {
     if (RaBotProgram.Qt != null)
     {
         RaBotProgram.Qt.Dispose();
     }
     NetClass.DisposeAsync();
     RaBotProgram.DeleteTempFolder();
     _ni.Dispose();
 }
Exemplo n.º 4
0
        private string GetNestedClassesString(NetClass netClass)
        {
            var nestedClasses = string.Join(_config.NewLines(2), netClass.NestedClasses.Select(WriteType));

            if (!string.IsNullOrWhiteSpace(nestedClasses))
            {
                nestedClasses = _config.NewLines(2) + nestedClasses;
            }
            return(nestedClasses);
        }
Exemplo n.º 5
0
        public static NetClass GetNetClass(ClassDeclarationSyntax classDeclaration)
        {
            var a = new NetClass
            {
                Attributes        = GetAttributeList(classDeclaration.AttributeLists),
                IsPublic          = IsPublic(classDeclaration.Modifiers),
                Name              = classDeclaration.Identifier.ToString(),
                Methods           = classDeclaration.Members.OfType <MethodDeclarationSyntax>().Select(GetNetMethod).ToList(),
                Properties        = classDeclaration.Members.OfType <PropertyDeclarationSyntax>().Select(GetNetProperty).ToList(),
                BaseTypes         = GetBaseTypes(classDeclaration.BaseList),
                GenericParameters = GetGenericTypeParameters(classDeclaration.TypeParameterList)
            };

            return(a);
        }
Exemplo n.º 6
0
        public TsInterface GetTsInterface(NetClass netClass)
        {
            return(new TsInterface
            {
                IsPublic = netClass.IsPublic,
                GenericParameters = netClass.GenericParameters.Select(GetTsGenericParameter).ToList(),
                BaseTypes = netClass.BaseTypes.Select(GetTsType).ToList(),
                Name = netClass.Name,
                Fields = netClass
                         .Properties
                         .Where(p => !p.Attributes.Contains("TsIgnore"))
                         .Select(GetTsField)
                         .ToList()


                         //Fields =
            });
        }
Exemplo n.º 7
0
        public virtual string GetConstructor(NetClass netClass)
        {
            var netConstructor = netClass.Constructor;

            var funParams = string.Join(", ", netConstructor.Parameters.Select(p => WriteField(p)));

            var    exportStr      = !netConstructor.IsPublic ? "private " : "public ";
            var    staticStr      = netConstructor.IsStatic ? "static " : "";
            string accessModifier = $"{exportStr}{staticStr}";

            var body = netConstructor.MethodBody;

            var rtn = $"{accessModifier}{netClass.Name}({funParams})" + _config.NewLine +
                      @"{" + _config.NewLine +
                      $@"{body.Indent(_indent)}" + _config.NewLine +
                      @"}";

            return(rtn.Indent(_indent));
        }
Exemplo n.º 8
0
        public virtual NetClass GetControllerApiClientCsClass(NetClass controllerNetClass)
        {
            var controllerMethods = controllerNetClass
                                    .Methods
                                    .ToList();

            return(new NetClass
            {
                Name = controllerNetClass.Name,
                Methods = controllerMethods
                          .Where(m => m.ReturnType.Name != "IActionResult")
                          .Where(m => m.IsPublic && m.Attributes.Any(a => a == "CsExport"))
                          .Select(a => GetCsProxy(a, controllerNetClass.Name))
                          .ToList(),
                Fields = GetFields(controllerMethods, controllerNetClass),
                IsPublic = true,
                Constructor = GetConstructor(controllerNetClass)
            });
        }
Exemplo n.º 9
0
        public NetOpt()
        {
            ClientInGroup = new Hashtable();
            //listFileWaitRecv = new List<FileWaitObjcet>();
            dicFileWait   = new Dictionary <string, FileWaitObjcet>();
            fileWaitMutex = new Mutex(false);
            //listFileRequest = new List<FileRequestObjcet>();
            try
            {
                netc = new NetClass();
                IPAddress localServiceIP = IPAddress.Parse(INIClass.readIniInfo(GlobalVar.INI_localServiceSect, GlobalVar.INI_localServiceIP));
                int       portLocalService;
                if (!Int32.TryParse(INIClass.readIniInfo(GlobalVar.INI_localServiceSect, GlobalVar.INI_localServicePort), out portLocalService))
                {
                    return;
                }
                netc.LocalServiceIEP = new IPEndPoint(localServiceIP, portLocalService);
                int portLocalFile;
                if (!Int32.TryParse(INIClass.readIniInfo(GlobalVar.INI_localServiceSect, GlobalVar.INI_localFileRecvPort), out portLocalFile))
                {
                    return;
                }
                netc.LocalFileRecvIEP = new IPEndPoint(localServiceIP, portLocalFile);

                IPAddress multiCastGroupIP = IPAddress.Parse(INIClass.readIniInfo(GlobalVar.INI_multiCastSect, GlobalVar.INI_multiCastGroupIP));
                int       portMultiCastGroup;
                if (!Int32.TryParse(INIClass.readIniInfo(GlobalVar.INI_multiCastSect, GlobalVar.INI_multiCastPort), out portMultiCastGroup))
                {
                    return;
                }
                netc.MultiCastGroupIEP = new IPEndPoint(multiCastGroupIP, portMultiCastGroup);

                recvTmpPath = INIClass.readIniInfo(GlobalVar.INI_systemSect, GlobalVar.INI_sysRecvTmpPath);

                netc.RecvMultiCast += RecvMultiCastCallBack;
                netc.RecvTCPString += RecvTCPStringCallBack;
                netc.RecvFile      += FileRecvCallBack;
                netc.Start();
            }
            catch (Exception e) {
                Debug.WriteLine(e.Message);
            }
        }
Exemplo n.º 10
0
 private static NetMethod GetConstructor(NetClass controllerNetClass)
 {
     return(new NetMethod
     {
         IsPublic = true,
         Parameters = new[]
         {
             new NetParameter
             {
                 FieldType = new NetType
                 {
                     Name = "string"
                 },
                 Name = "baseUrl"
             }
         },
         MethodBody = "_baseUrl = baseUrl;"
     });
 }
Exemplo n.º 11
0
 public MainWindow()
 {
     InitializeComponent();
     try
     {
         SetIcon();
         RaBotProgram.SetTempFolder();
         Timers.InitTimers(LabelMoexTime, LabelLocalTime);
         NetClass.StartPing(ImgNetConn, ImgSlConn);
         LittleTable.GetLittleStops();
         SetLastLittleTable();
         GetCurrentLittleDeals();
         LittleTable.ReadCurrentDeals();
         RaBotProgram.SetFreeMoney();
     }
     catch (Exception)
     {
         Forms.MessageBox.Show("Ошибка в главном окне!");
         throw;
     }
     finally
     {
     }
 }
        public object SendYzmEmail(string email)
        {
            if (!ValidatorClass.Validator(email, CheckType.Email, null, false))
            {
                return(new { Rcode = -1, Rmsg = "参数错误" });
            }
            Random            rand   = new Random();
            string            errmsg = null;
            base_identifycode info   = new base_identifycode
            {
                code     = rand.Next(100000, 999999).ToString(),
                sendtime = DateTime.Now,
                endtime  = DateTime.Now.AddMinutes(5),
                email    = email
            };
            bool success = BaseBLL.PutIdentifyCode(info, out errmsg);

            if (!success || !string.IsNullOrEmpty(errmsg))
            {
                return new { Rcode = -1, Rmsg = "写入验证码出错" + errmsg }
            }
            ;
            string subject = Models.GlobalParameters.SmtpSignTitle + "验证邮件";
            string content = string.Format("您的验证码为 {0} ,请勿轻易告诉他人!", info.code);

            NetClass.SmtpServer = Models.GlobalParameters.SmtpServer;
            NetClass.Account    = Models.GlobalParameters.SmtpUser;
            NetClass.Passwd     = Models.GlobalParameters.SmtpPass;
            NetClass.MailFrom   = Models.GlobalParameters.SmtpMail;
            if (!NetClass.SendMail(email, subject, content, Models.GlobalParameters.SmtpMail, ref errmsg))
            {
                return(new { Rcode = -1, Rmsg = "发送邮件出错:" + errmsg });
            }
            return(new { Rcode = 1, Rmsg = "邮件已发送,请注意查收" });
        }
    }
Exemplo n.º 13
0
        //TODO: no route info classes for now
        //        public NetFieldDeclaration GetRouteDataFieldDeclaration(NetMethod netMethod, NetClass controllerNetClass)
        //        {
        //            var route = GetRouteInfo(controllerNetClass, netMethod);

        //            var a = new NetFieldDeclaration
        //            {
        //                DefaultValue =
        //$@"{{
        //    baseUrl: '/',
        //    controller: '{route.Controller}',
        //    action: '{route.Action}'
        //}}",
        //                FieldDeclarationType = NetFieldDeclarationType.Const,
        //                FieldType = new NetType { Name = "IRouteData" },
        //                IsStatic = true,
        //                Name = netMethod.Name + "Route"
        //            };
        //            return a;
        //        }

        private RouteInfo GetRouteInfo(NetClass controllerNetClass, NetMethod netMethod)
        {
            var controllerName = GetControllerName(controllerNetClass.Name);
            var actionName     = netMethod.Name;
            var routeInfo      = controllerNetClass.Attributes.FirstOrDefault(attr => attr.StartsWith("Route"));

            if (string.IsNullOrWhiteSpace(routeInfo))
            {
                routeInfo = "[controller]/[action]";
            }
            else
            {
                var m = Regex.Match(routeInfo, "\"(.*?)\"");

                if (m.Success && m.Groups.Count > 1 && m.Groups[1].Success)
                {
                    routeInfo = m.Groups[1].Value;
                }
            }

            var route = routeInfo
                        .Replace("[controller]", controllerName)
                        .Replace("[action]", actionName);

            if (!route.StartsWith("/"))
            {
                route = "/" + route;
            }

            return(new RouteInfo
            {
                Url = route,
                Controller = controllerName,
                Action = actionName
            });
        }
Exemplo n.º 14
0
		public void Sync(Action<Socket, BinaryWriter> del, NetClass obj) {
			var sockets = obj.GetSyncSockets();
			foreach(var sock in sockets) {
				del(sock, sock.tickStream);
			}
		}
Exemplo n.º 15
0
        private NetFieldDeclaration GetUrlNavigateConstFieldDeclaration(NetMethod netMethod, NetClass controllerNetClass)
        {
            var route = GetRouteInfo(controllerNetClass, netMethod);

            var a = new NetFieldDeclaration
            {
                DefaultValue         = "\"" + route.Url + "\"",
                FieldDeclarationType = NetFieldDeclarationType.Const,
                FieldType            = new NetType {
                    Name = "string"
                },
                IsPublic = true,
                Name     = netMethod.Name + "Url"
            };

            return(a);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write(@"(*
Copyright (C) 2020 Cepheis Ltd ([email protected])

This file is part of Cephei.QL Project https://github.com/channell/Cephei

Cephei.QL is open source software based on QLNet  you can redistribute it and/or modify it
under the terms of the Cephei.QL license.  You should have received a
copy of the license along with this program; if not, license is
available at <https://github.com/channell/Cephei/LICENSE>.

QLNet is a based on QuantLib, a free-software/open-source library
for financial quantitative analysts and developers - http://quantlib.org/
The QuantLib license is available online at http://quantlib.org/license.shtml.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the license for more details.
*)
namespace Cephei.QL

open System
open Cephei.QL.Util
open Cephei.Cell
open Cephei.Cell.Generic
open System.Collections
open System.Collections.Generic
open QLNet
open Cephei.QLNetHelper

");

            #line 37 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"

            int version = 0;
            foreach (var m in NetClass.Constructors)
            {
            #line default
            #line hidden
                this.Write("(* <summary>\r\n");

            #line 43 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture((NetClass.Notes != null ? NetClass.Notes : "")));

            #line default
            #line hidden
                this.Write("\r\n");

            #line 44 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture((m.Notes != null ? m.Notes : "")));

            #line default
            #line hidden
                this.Write("\r\n  </summary> *)\r\n[<AutoSerializable(true)>]\r\ntype ");

            #line 47 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.FSTemplate(version++)));

            #line default
            #line hidden
                this.Write("\r\n");

            #line 48 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(m.FSConstructor));

            #line default
            #line hidden
                this.Write("\r\n    inherit Model<");

            #line 49 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.FSTypeName));

            #line default
            #line hidden
                this.Write("> ()\r\n(*\r\n    Parameters\r\n*)\r\n");

            #line 53 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"

                foreach (var pam in m.Parameters)
                {
            #line default
            #line hidden
                    this.Write("    let _");

            #line 57 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture((Context.Keywords.Contains(pam.Value.Name) ? pam.Value.Name.ToUpper() : pam.Value.Name).PadRight(41, ' ')));

            #line default
            #line hidden
                    this.Write(" = ");

            #line 57 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(pam.Value.Name));

            #line default
            #line hidden
                    this.Write("\r\n");

            #line 58 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                }
                if (NetClass.HasEngine)
                {
            #line default
            #line hidden
                    this.Write("    let _evaluationDate                            = evaluationDate\r\n    let _pri" +
                               "cingEngine                             = pricingEngine\r\n");

            #line 65 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                }


            #line default
            #line hidden
                this.Write("(*\r\n    Functions\r\n*)\r\n");

            #line 71 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(m.FSConstruct));

            #line default
            #line hidden
                this.Write("\r\n");

            #line 72 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"

                foreach (var meth in NetClass.Methods)
                {
                    var celltype = (meth.Name.Contains("Price") || meth.Name.Contains("NPV") || meth.Name.Contains("yield") ? "cell" : "triv");
                    if (meth.Parameters.Count == 0)
                    {
                        if (meth.ReturnType == "void")
                        {
            #line default
            #line hidden
                            this.Write("    let _");

            #line 81 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FSName.PadRight(41, ' ')));

            #line default
            #line hidden
                            this.Write(" = ");

            #line 81 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(celltype));

            #line default
            #line hidden
                            this.Write(" (fun () -> ");

            #line 81 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.CellReference));

            #line default
            #line hidden
                            this.Write(".");

            #line 81 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture((Context.Keywords.Contains(meth.Name) ? meth.Name.ToUpper() : meth.Name)));

            #line default
            #line hidden

            #line 81 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture((meth.IsProperty ? "" : "()")));

            #line default
            #line hidden
                            this.Write("\r\n                                                                     _");

            #line 82 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.Name));

            #line default
            #line hidden
                            this.Write(".Value)\r\n");

            #line 83 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        }
                        else
                        {
            #line default
            #line hidden
                            this.Write("    let _");

            #line 88 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FSName.PadRight(41, ' ')));

            #line default
            #line hidden
                            this.Write(" = ");

            #line 88 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(celltype));

            #line default
            #line hidden
                            this.Write(" (fun () -> ");

            #line 88 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.CellReference));

            #line default
            #line hidden
                            this.Write(".");

            #line 88 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture((Context.Keywords.Contains(meth.Name) ? meth.Name.ToUpper() : meth.Name)));

            #line default
            #line hidden

            #line 88 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture((meth.IsProperty ? "" : "()")));

            #line default
            #line hidden
                            this.Write(")\r\n");

            #line 89 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        }
                    }
                    else
                    {
                        if (meth.ReturnType == "void")
                        {
            #line default
            #line hidden
                            this.Write("    let _");

            #line 97 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FSName.PadRight(41, ' ')));

            #line default
            #line hidden
                            this.Write(" ");

            #line 97 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FormatParameters("({0} : ICell<{1}>) ")));

            #line default
            #line hidden
                            this.Write("  \r\n                                                   = ");

            #line 98 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(celltype));

            #line default
            #line hidden
                            this.Write(" (fun () -> ");

            #line 98 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.CellReference));

            #line default
            #line hidden
                            this.Write(".");

            #line 98 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture((Context.Keywords.Contains(meth.Name) ? meth.Name.ToUpper() : meth.Name)));

            #line default
            #line hidden
                            this.Write("(");

            #line 98 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FormatParameters("{0}.Value", "", ", ")));

            #line default
            #line hidden
                            this.Write(")\r\n                                                                     _");

            #line 99 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.Name));

            #line default
            #line hidden
                            this.Write(".Value)\r\n");

            #line 100 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        }
                        else
                        {
            #line default
            #line hidden
                            this.Write("    let _");

            #line 105 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FSName.PadRight(41, ' ')));

            #line default
            #line hidden
                            this.Write(" ");

            #line 105 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FormatParameters("({0} : ICell<{1}>) ")));

            #line default
            #line hidden
                            this.Write("  \r\n                                                   = ");

            #line 106 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(celltype));

            #line default
            #line hidden
                            this.Write(" (fun () -> ");

            #line 106 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.CellReference));

            #line default
            #line hidden
                            this.Write(".");

            #line 106 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture((Context.Keywords.Contains(meth.Name) ? meth.Name.ToUpper() : meth.Name)));

            #line default
            #line hidden
                            this.Write("(");

            #line 106 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                            this.Write(this.ToStringHelper.ToStringWithCulture(meth.FormatParameters("{0}.Value", "", ", ")));

            #line default
            #line hidden
                            this.Write("))\r\n");

            #line 107 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        }
                    }
                }


            #line default
            #line hidden
                this.Write("    do this.Bind(_");

            #line 112 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(NetClass.Name));

            #line default
            #line hidden
                this.Write(")\r\n\r\n(* \r\n    Externally visible/bindable properties\r\n*)\r\n");

            #line 117 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"

                foreach (var pam in m.Parameters)
                {
            #line default
            #line hidden
                    this.Write("    member this.");

            #line 121 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(pam.Value.Name.PadRight(34, ' ')));

            #line default
            #line hidden
                    this.Write(" = _");

            #line 121 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(pam.Value.Name));

            #line default
            #line hidden
                    this.Write(" \r\n");

            #line 122 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                }
                if (NetClass.HasEngine)
                {
            #line default
            #line hidden
                    this.Write("    member this.");

            #line 127 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture("EvaluationDate".PadRight(34, ' ')));

            #line default
            #line hidden
                    this.Write(" = _evaluationDate\r\n    member this.");

            #line 128 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture("PricingEngine".PadRight(34, ' ')));

            #line default
            #line hidden
                    this.Write(" = _pricingEngine\r\n");

            #line 129 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                }

                foreach (var meth in NetClass.Methods)
                {
                    if (meth.Parameters.Count == 0)
                    {
            #line default
            #line hidden
                        this.Write("    member this.");

            #line 137 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(meth.CapFSName.PadRight(34, ' ')));

            #line default
            #line hidden
                        this.Write(" = _");

            #line 137 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(meth.FSName));

            #line default
            #line hidden
                        this.Write("\r\n");

            #line 138 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    }
                    else
                    {
            #line default
            #line hidden
                        this.Write("    member this.");

            #line 143 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(meth.CapFSName.PadRight(34, ' ')));

            #line default
            #line hidden
                        this.Write(" ");

            #line 143 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(meth.FormatParameters("{0} ")));

            #line default
            #line hidden
                        this.Write("  \r\n                                                   = _");

            #line 144 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(meth.FSName));

            #line default
            #line hidden
                        this.Write(" ");

            #line 144 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(meth.FormatParameters("{0} ")));

            #line default
            #line hidden
                        this.Write("\r\n");

            #line 145 "C:\Users\steve\source\repos\Cephei\Cephei.Gen\NetQL\Class.tt"
                    }
                }
            }


            #line default
            #line hidden
            return(this.GenerationEnvironment.ToString());
        }
Exemplo n.º 17
0
        public static void Main(string[] args)
        {
            #region Flv修复demo
            //DDTV_Core.Tool.FlvModule.FileFix.CuttingFFMPEG(@"F:\Users\寒曦朦\OneDrive - hanximeng\OneList\录播/星宮汐Official/02_5/22-37-52_【B限】101_5931.flv");
            //List<string> args = new List<string>();
            //Console.WriteLine("输入需要修复的flv路径,或者直接拖拽文件到本窗口..");
            //while (true)
            //{

            //    string FileName = Console.ReadLine();
            //    if(FileName!="ok")
            //    {
            //        args.Add(FileName);
            //        Console.WriteLine("要继续添加修复的文件请继续拖拽或输入路径,确定开始修复请输入两个小写字母【ok】并且回车");
            //    }
            //    else
            //    {
            //        break;
            //    }
            //}
            //foreach (var item in args)
            //{
            //    DDTV_Core.Tool.FlvModule.FileFix.Fix(item);
            //}
            //Console.WriteLine("修复完成,按任意键关闭窗口");
            //Console.ReadKey();
            //ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            //ServicePointManager.DefaultConnectionLimit = 512;
            //ServicePointManager.Expect100Continue = false;
            #endregion
            InitDDTV_Core.Core_Init(InitDDTV_Core.SatrtType.DDTV_CLI);
            while (true)
            {
                if (Console.ReadKey().Key.Equals(ConsoleKey.I))
                {
                    Console.WriteLine($"请按对应的按键查看或修改配置:\n" +
                                      $"a:查看下载中的任务情况\n" +
                                      $"b:查看调用阿B的API次数(已禁用)\n" +
                                      $"c:查看API查询次数(已禁用)\n" +
                                      $"d: 一键导入关注列表中的V(可能不全需要自己补一下)");
                    switch (Console.ReadKey().Key)
                    {
                    case ConsoleKey.A:
                    {
                        int i = 0;
                        Console.WriteLine($"下载中的任务:");
                        foreach (var A1 in Rooms.RoomInfo)
                        {
                            if (A1.Value.DownloadingList.Count > 0)
                            {
                                ulong FileSize = 0;
                                foreach (var item in A1.Value.DownloadingList)
                                {
                                    FileSize += (ulong)item.TotalDownloadCount;
                                }
                                i++;
                                Console.WriteLine($"{i}:{A1.Value.uid}  {A1.Value.room_id}  {A1.Value.uname}  {A1.Value.title}  {NetClass.ConversionSize(FileSize)}");
                            }
                        }
                        break;
                    }

                    case ConsoleKey.B:
                    {
                        //Console.WriteLine("API使用统计:");
                        //foreach (var item in NetClass.API_Usage_Count)
                        //{
                        //    Console.WriteLine($"{item.Value}次,来源:{item.Key}");
                        //}
                        break;
                    }

                    case ConsoleKey.C:
                    {
                        //Console.WriteLine("查询API统计:");
                        //foreach (var item in NetClass.SelectAPI_Count)
                        //{
                        //    Console.WriteLine($"{item.Value}次,来源:{item.Key}");
                        //}
                        break;
                    }

                    case ConsoleKey.D:
                        DDTV_Core.SystemAssembly.BilibiliModule.API.UserInfo.follow(long.Parse(DDTV_Core.SystemAssembly.ConfigModule.BilibiliUserConfig.account.uid));
                        break;
                    }
                }
            }
        }
Exemplo n.º 18
0
        private ICollection <NetField> GetFields(IReadOnlyCollection <NetMethod> controllerMethods, NetClass controllerNetClass)
        {
            var distinctControllerMethods = controllerMethods.Select(m => m.Name)
                                            .Distinct()
                                            .GroupJoin(
                controllerMethods,
                name => name,
                netMethod => netMethod.Name,
                (name, netMethods) => netMethods.First())
                                            .ToArray();

            //these are just the url fields
            var urlStringFields =
                distinctControllerMethods.Select(m => GetUrlNavigateConstFieldDeclaration(m, controllerNetClass));

            //these are the route data objects
            //var routeDataFields =
            //       distinctControllerMethods.Select(m => GetRouteDataFieldDeclaration(m, controllerNetClass));

            return(urlStringFields.Cast <NetField>().Union(new [] { new NetFieldDeclaration
                                                                    {
                                                                        Name = "_baseUrl",
                                                                        FieldDeclarationType = NetFieldDeclarationType.ReadOnly,
                                                                        IsPublic = false,
                                                                        FieldType = new NetType
                                                                        {
                                                                            Name = "string"
                                                                        }
                                                                    } }).ToArray()); //.Union(routeDataFields).ToList();
        }
Exemplo n.º 19
0
		public void SetParent(NetClass nClass) {
			this.parent = nClass;
		}
Exemplo n.º 20
0
        private void ResolveRecord(JObject parent, NetModel.NetModel model)
        {
            var      shortName = parent["name"].ToString().Split('.').Last();
            NetClass c         = new NetClass()
            {
                Name           = shortName,
                ClassNamespace = _namespaceHelper.ExtractNamespace(parent, parent["name"].ToString(), shortName)
            };

            model.NetTypes.Add(c);

            // Get Fields
            foreach (var field in parent["fields"] as JArray)
            {
                if (field is JObject fieldObject)
                {
                    // Get Field type
                    NetClassField fieldType  = new NetClassField();
                    bool          isNullable = false;

                    switch (field["type"])
                    {
                    case JValue _:
                        fieldType = ResolveField(fieldObject);
                        break;

                    case JObject fieldJObject:
                        fieldType = ResolveField(fieldJObject);
                        break;

                    case JArray types:
                    {
                        if (types.Any(t => t.ToString() == "null"))
                        {
                            isNullable = true;
                        }

                        if (types.Count > 2)
                        {
                            throw new InvalidAvroObjectException(
                                      $"Unable to determine acceptable data type for {field["type"]}");
                        }

                        // Is the field type an object that's defined in this spot
                        JToken arrayFieldType = types.FirstOrDefault(x => x.ToString() != "null");

                        switch (arrayFieldType)
                        {
                        case JValue _:
                            fieldObject["type"] = arrayFieldType;
                            fieldType           = ResolveField(fieldObject);
                            break;

                        case JObject arrayFieldJObject:
                            fieldType = ResolveField(arrayFieldJObject);
                            break;

                        default:
                            throw new InvalidAvroObjectException($"Unable to create array in array {arrayFieldType}");
                        }

                        break;
                    }

                    default:
                        throw new InvalidAvroObjectException($"Unable to process field type of {field["type"].GetType().Name}");
                    }

                    if (isNullable)
                    {
                        fieldType.FieldType += "?";
                    }

                    fieldType.Name = field["name"].ToString();

                    if (field["default"] is JValue)
                    {
                        fieldType.Default = field["default"].ToString();
                    }

                    if (field["doc"] is JValue)
                    {
                        fieldType.Doc = field["doc"].ToString();
                    }

                    c.Fields.Add(fieldType);
                }
                else
                {
                    throw new InvalidAvroObjectException($"Field type {field.GetType().Name} not supported");
                }
            }
        }