Пример #1
0
        public ActionResult Main()
        {
            Service.ServiceClient service = new Service.ServiceClient();
            using (NmoorEntity db = new NmoorEntity())
            {
                if (Session["username"] == null)
                {
                    return(View("~/Views/Home/Login.cshtml"));
                }
                else
                {
                    var account = from u in db.User.ToList()
                                  where u.username == Session["username"].ToString()
                                  select u;
                    var userSession = Session["username"].ToString();
                    var recent      = Banking.RecentActivity(userSession);

                    var     user      = Session["username"].ToString();
                    var     amount    = db.User.Where(u => u.username == user).SingleOrDefault();
                    decimal n         = amount.balance.Value;
                    var     converted = service.convertCurrency(n, "USD");
                    ViewBag.converted = string.Format("{0:C}", converted);

                    ViewBag.recent = recent;
                    return(View(account));
                }
            }
        }
Пример #2
0
        public static async MyTask ExecuteAsync()
        {
            var channel = new Channel("localhost:50052", ChannelCredentials.Insecure);
            var client  = new Service.ServiceClient(channel);

            var call = client.ListenTask(new ListenTaskRequest {
                Token = Environment.GetEnvironmentVariable("MESG_TOKEN")
            }).ResponseStream;

            while (await call.MoveNext())
            {
                var input = call.Current;

                var response = new SubmitResultRequest {
                    OutputKey   = input.TaskKey,
                    ExecutionID = input.ExecutionID
                };

                switch (input.TaskKey)
                {
                case "fetch":
                    var req = JsonConvert.DeserializeObject <KeyRequest>(input.InputData);
                    response.OutputData = JsonConvert.SerializeObject(new { Key = Fetch(req) });
                    client.SubmitResult(response);
                    break;
                }
            }
        }
Пример #3
0
        static async Task Main(string[] args)
        {
            var channel = GrpcChannel.ForAddress("https://localhost:5001");
            var client  = new Service.ServiceClient(channel);
            var req     = new AddCommentRequest {
                Postid = 1, Text = "un tesxt"
            };
            var res = await client.AddCommentAsync(req);

            Console.WriteLine(res.BResult);
        }
Пример #4
0
        public static void Init()
        {
            var root = FileSystem.AppDataDirectory;
            var path = Path.Combine(root, "Database.db3");

            Database = new Database(path);

            //var ip = Device.RuntimePlatform == Device.Android ? "192.168.1.156"/*"10.0.2.2"*/ : "localhost";

            var channel = GrpcChannel.ForAddress(
                "http://hadifooladi-001-site6.itempurl.com/",
                new GrpcChannelOptions {
                HttpHandler = new GrpcWebHandler(new HttpClientHandler())
            });

            OCR_Server = new Service.ServiceClient(channel);
        }
Пример #5
0
        private static void Main(string[] args)
        {
            #region config

            _config = new ConfigurationBuilder()
                      .AddJsonFile("appsettings.json", true, true)
                      .AddEnvironmentVariables()
                      .Build();

            #endregion

            #region logging

            Utils.InitLog();
            _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

            #endregion

            var symbol       = "";
            var artifactType = ArtifactType.Base;
            var artifactSet  = false;
            var create       = false;

            var newSymbol = "";

            if (args.Length > 0 && args.Length < 7)
            {
                _gRpcHost = _config["gRpcHost"];
                _gRpcPort = Convert.ToInt32(_config["gRpcPort"]);

                _printHost = _config["printHost"];
                _printPort = Convert.ToInt32(_config["printPort"]);

                _log.Info("Connection to TaxonomyService: " + _gRpcHost + " port: " + _gRpcPort);
                TaxonomyClient = new Service.ServiceClient(
                    new Channel(_gRpcHost, _gRpcPort, ChannelCredentials.Insecure));

                _log.Info("Connection to TTF-Printer: " + _printHost + " port: " + _printPort);
                _printerClient = new PrinterService.PrinterServiceClient(
                    new Channel(_printHost, _printPort, ChannelCredentials.Insecure));

                switch (args.Length)
                {
                case 1 when args[0] == "--f":
Пример #6
0
        static async Task ObjectPut(ObjectPutOptions opts)
        {
            const int ChunkSize = (int)(3.5 * Units.MB);

            byte[]     cid;
            byte[]     oid = Guid.NewGuid().Bytes();
            FileStream file;

            try
            {
                cid = Base58.Decode(opts.CID);
            }
            catch (Exception err)
            {
                Console.WriteLine("wrong cid format: {0}", err.Message);
                return;
            }

            try
            {
                file = new FileStream(opts.File, FileMode.Open, FileAccess.Read);
            }
            catch (Exception err)
            {
                Console.WriteLine("can't open file: {0}", err.Message);
                return;
            }

            var key = privateKey.FromHex().LoadKey();
            var obj = NeoFS.API.Object.Object.Prepare(cid, oid, (ulong)file.Length, key);

            if (opts.Plugin)
            {
                obj.SetPluginHeaders(opts.Expired);
            }

            obj.Headers.Add(
                new Header
            {
                UserHeader = new UserHeader
                {
                    Key   = "filename",
                    Value = file.Name,
                },
            });

            var channel = new Channel(opts.Host, ChannelCredentials.Insecure);

            channel.UsedHost().GetHealth(SingleForwardedTTL, key, opts.Debug).Say();

            Token token = await channel.EstablishSession(oid, SingleForwardedTTL, key, opts.Debug);

            using (var put = new Service.ServiceClient(channel).Put())
            {     // Send Object to node
                { // send header:
                    var req = obj.PrepareHeader(SingleForwardedTTL, token, key);

                    await put.RequestStream.WriteAsync(req);

                    //Console.WriteLine(put.ResponseAsync.Result);
                }

                double len = file.Length;

                {// send chunks:
                    byte[] chunk = new byte[ChunkSize];
                    int    off   = 0;

                    Console.WriteLine();
                    Console.Write("Write chunks: ");
                    using (var progress = new ProgressBar())
                    {
                        for (int num; ; off += num)
                        {
                            num = file.Read(chunk);
                            if (num == 0)
                            {
                                break;
                            }

                            var req = chunk.Take(num).PrepareChunk(SingleForwardedTTL, key);
                            await put.RequestStream.WriteAsync(req);

                            progress.Report((double)off / len);
                        }
                    }
                }

                await Task.Delay(TimeSpan.FromMilliseconds(100));

                Console.Write("Done!");

                put.ResponseAsync.Wait();
                await put.RequestStream.CompleteAsync();

                var res = put.ResponseAsync.Result;

                Console.WriteLine();
                Console.WriteLine("Object stored:");
                Console.WriteLine("URL: {0}", res.Address.ToURL());
                Console.WriteLine("CID: {0}", res.Address.CID.ToCID());
                Console.WriteLine("OID: {0}", res.Address.ObjectID.ToUUID());
            }

            Console.WriteLine();

            Console.WriteLine("Close file.");
            file.Close();

            //Console.WriteLine("Close connection.");
            //channel.ShutdownAsync().Wait();
        }
Пример #7
0
        private static void Main(string[] args)
        {
            #region config

            _config = new ConfigurationBuilder()
                      .AddJsonFile("appsettings.json", true, true)
                      .AddEnvironmentVariables()
                      .Build();

            #endregion

            #region logging

            Utils.InitLog();
            _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

            #endregion

            _log.Info("TTF-Printer boot...");

            _printerHost = _config["printerHost"];
            _printerPort = Convert.ToInt32(_config["printerPort"]);

            _taxonomyService = _config["taxonomyHost"];
            _taxonomyPort    = Convert.ToInt32(_config["taxonomyPort"]);
            _printToPath     = _config["printToPath"];

            #region TCP Loop

            var tcpScan = new TcpClient();
            var open    = false;
            while (!open)
            {
                try
                {
                    tcpScan.Connect(_taxonomyService, _taxonomyPort);
                    open = true;
                }
                catch
                {
                    _log.Info("Waiting on Taxonomy Service on port: " + _taxonomyPort);
                    Thread.Sleep(2500);
                }
            }

            _log.Info("Connected to Taxonomy Service");
            tcpScan.Close();

            #endregion

            _log.Info("Connection to TaxonomyService: " + _taxonomyService + " port: " + _taxonomyPort);
            TaxonomyClient = new Service.ServiceClient(
                new Channel(_taxonomyService, _taxonomyPort, ChannelCredentials.Insecure));

            ModelManager.Taxonomy = (TaxonomyClient.GetFullTaxonomy(new TaxonomyVersion
            {
                Version = "1.0"
            }));

            ModelMap.WaterMark = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location) + ModelMap.FolderSeparator
                                 + "images" +
                                 ModelMap.FolderSeparator +
                                 "TTF-bw.jpg";

            ModelMap.DraftWaterMark = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location) + ModelMap.FolderSeparator
                                      + "images" +
                                      ModelMap.FolderSeparator +
                                      "TTF-bw-draft.jpg";

            ModelMap.StyleSource =
                Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location) + ModelMap.FolderSeparator
                + "templates" +
                ModelMap.FolderSeparator +
                "savon.docx";

            //If running locally, not in a container or k8s, it will have a relative path instead of a volume path.
            if (_printToPath.Contains(".."))
            {
                ModelMap.FilePath = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location) +
                                    ModelMap.FolderSeparator +
                                    _printToPath + ModelMap.FolderSeparator;
            }
            else
            {
                ModelMap.FilePath = _printToPath + ModelMap.FolderSeparator;
            }
            _log.Info("Printer PrintToPath: " + ModelMap.FilePath);

            if (args.Length > 0 && args[0].Equals("/noserve"))
            {
                PrintController.BuildTtfBook(draft: false);
                PrintController.BuildTtfBook(draft: true);
            }
            else
            {
                _apiServer = new Server
                {
                    Services = { PrinterService.BindService(new Host()) },
                    Ports    = { new ServerPort(_printerHost, _printerPort, ServerCredentials.Insecure) }
                };
                _log.Info("Taxonomy Printer listening on: " + _printerHost + " Port: " + _printerPort);

                _apiServer.Start();
                _log.Info("Printer Api open on host: " + _printerHost + " port: " + _printerPort);
                Console.WriteLine("Printer Ready");
                var exitEvent = new ManualResetEvent(false);

                Console.CancelKeyPress += (sender, eventArgs) =>
                {
                    eventArgs.Cancel = true;
                    exitEvent.Set();
                };

                Console.WriteLine("Press \'^C\' to close the Taxonomy.Printer.Service");
                // TODO: Instructions for /noserve mode
                Console.WriteLine("To immediately print, re-run with the /noserve parameter");

                exitEvent.WaitOne();
                _apiServer.ShutdownAsync();
            }
        }
Пример #8
0
        static async Task ObjectHead(ObjectHeadOptions opts)
        {
            byte[] cid;

            var key = privateKey.FromHex().LoadKey();

            try
            {
                cid = Base58.Decode(opts.CID);
            }
            catch (Exception err)
            {
                Console.WriteLine("wrong cid format: {0}", err.Message);
                return;
            }

            var channel = new Channel(opts.Host, ChannelCredentials.Insecure);

            channel.UsedHost().GetHealth(SingleForwardedTTL, key, opts.Debug).Say();

            var req = new HeadRequest
            {
                FullHeaders = opts.Full,
                Address     = new NeoFS.API.Refs.Address
                {
                    CID      = ByteString.CopyFrom(cid),
                    ObjectID = ByteString.CopyFrom(opts.OID.Bytes()),
                },
            };

            req.SetTTL(SingleForwardedTTL);
            req.SignHeader(key, opts.Debug);

            var res = new Service.ServiceClient(channel).Head(req);

            Console.WriteLine();

            Console.WriteLine("Received object headers");
            Console.WriteLine("\nSystemHeaders\n" +
                              "Version: {0}\n" +
                              "PayloadLength: {1}\n" +
                              "ObjectID: {2}\n" +
                              "OwnerID: {3}\n" +
                              "CID: {4}\n" +
                              "CreatedAt: {5}\n",
                              res.Object.SystemHeader.Version,
                              res.Object.SystemHeader.PayloadLength,
                              res.Object.SystemHeader.ID.ToUUID(),
                              res.Object.SystemHeader.OwnerID.ToAddress(),
                              res.Object.SystemHeader.CID.ToCID(),
                              res.Object.SystemHeader.CreatedAt);

            if (opts.Full)
            {
                Console.WriteLine("Headers:");
                for (var i = 0; i < res.Object.Headers.Count; i++)
                {
                    Console.WriteLine(res.Object.Headers[i]);
                }
                Console.WriteLine();
            }

            Console.WriteLine("Meta:\n{0}", res.Meta);
            await Task.Delay(TimeSpan.FromMilliseconds(100));
        }
Пример #9
0
        static async Task ObjectGet(ObjectGetOptions opts)
        {
            byte[]     cid;
            FileStream file;

            var key = privateKey.FromHex().LoadKey();

            try
            {
                file = new FileStream(opts.Out, FileMode.Create, FileAccess.Write);
            }
            catch (Exception err)
            {
                Console.WriteLine("can't prepare file: {0}", err.Message);
                return;
            }

            try
            {
                cid = Base58.Decode(opts.CID);
            }
            catch (Exception err)
            {
                Console.WriteLine("wrong cid format: {0}", err.Message);
                return;
            }

            var channel = new Channel(opts.Host, ChannelCredentials.Insecure);

            channel.UsedHost().GetHealth(SingleForwardedTTL, key, opts.Debug).Say();

            var req = new GetRequest
            {
                Address = new NeoFS.API.Refs.Address
                {
                    CID      = ByteString.CopyFrom(cid),
                    ObjectID = ByteString.CopyFrom(opts.OID.Bytes()),
                },
            };

            req.SetTTL(SingleForwardedTTL);
            req.SignHeader(key, opts.Debug);

            var client = new Service.ServiceClient(channel);

            Console.WriteLine();

            using (var call = client.Get(req))
            {
                ProgressBar progress = null;

                double len = 0;
                double off = 0;

                while (await call.ResponseStream.MoveNext())
                {
                    var res = call.ResponseStream.Current;


                    if (res.Object != null)
                    {
                        len = (double)res.Object.SystemHeader.PayloadLength;

                        Console.WriteLine("Received object");
                        Console.WriteLine("PayloadLength = {0}", len);

                        Console.WriteLine("Headers:");
                        for (var i = 0; i < res.Object.Headers.Count; i++)
                        {
                            Console.WriteLine(res.Object.Headers[i]);
                        }


                        if (res.Object.Payload.Length > 0)
                        {
                            off += (double)res.Object.Payload.Length;
                            res.Object.Payload.WriteTo(file);
                        }

                        Console.Write("Receive chunks: ");
                        progress = new ProgressBar();
                    }
                    else if (res.Chunk != null && res.Chunk.Length > 0)
                    {
                        //Console.Write("#");
                        off += res.Chunk.Length;

                        res.Chunk.WriteTo(file);

                        if (progress != null)
                        {
                            progress.Report(off / len);
                        }
                    }
                }

                await Task.Delay(TimeSpan.FromMilliseconds(100));

                if (progress != null)
                {
                    progress.Dispose();
                }

                Console.Write("Done!");

                Console.WriteLine();
            }

            Console.WriteLine("Close file");
            file.Close();

            //Console.WriteLine("Shutdown connection.");
            //channel.ShutdownAsync().Wait();
        }
Пример #10
0
        static async Task SGPut(SGOptions.Put opts)
        {
            byte[] cid;


            try
            {
                cid = Base58.Decode(opts.CID);
            }
            catch (Exception err)
            {
                Console.WriteLine("wrong cid format: {0}", err.Message);
                return;
            }

            var key     = privateKey.FromHex().LoadKey();
            var channel = new Channel(opts.Host, ChannelCredentials.Insecure);

            channel.UsedHost().GetHealth(SingleForwardedTTL, key, opts.Debug).Say();

            var oid = new Guid();
            var sg  = NeoFS.API.Object.Object.Prepare(cid, oid, 0, key);

            foreach (var id in opts.OIDs)
            {
                sg.Headers.Add(new Header
                {
                    Link = new Link
                    {
                        ID   = id.ToByteString(),
                        Type = Link.Types.Type.StorageGroup,
                    }
                });
            }

            sg.Headers.Add(new Header
            {
                StorageGroup = new NeoFS.API.StorageGroup.StorageGroup
                {
                    ValidationHash = ByteString.CopyFrom(new byte[64]),
                },
            });

            var token = await channel.EstablishSession(oid, SingleForwardedTTL, key, opts.Debug);

            using (var put = new Service.ServiceClient(channel).Put())
            {     // Send StorageGroup to node
                { // send header:
                    Console.WriteLine();
                    var req = sg.PrepareHeader(SingleForwardedTTL, token, key, opts.Debug);

                    await put.RequestStream.WriteAsync(req);
                }

                put.ResponseAsync.Wait();
                await put.RequestStream.CompleteAsync();

                await Task.Delay(TimeSpan.FromMilliseconds(100));

                Console.Write("Done!");

                var res = put.ResponseAsync.Result;

                Console.WriteLine();
                Console.WriteLine("StorageGroup stored:");
                Console.WriteLine("URL: {0}", res.Address.ToURL());
                Console.WriteLine("CID: {0}", res.Address.CID.ToCID());
                Console.WriteLine("OID: {0}", res.Address.ObjectID.ToUUID());
            }

            await Task.Delay(TimeSpan.FromMilliseconds(100));
        }