Пример #1
0
        static void StartService()
        {
            // Load configuration

            /*var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
            *  XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config")); */
            //var a = GetDbConnection();
            var dataParam    = new ParamFinger();
            var dataOutParam = new OutParam();

            Console.WriteLine("SignalR Client Application Started");
            /*log.Info("SignalR Client Application Started");*/

            myIp        = "";
            userWindows = Environment.UserName.ToString().ToLower();


            Console.WriteLine("username : "******"SendToAgent", (par) =>
            {
                dataParam = par;

                var ip = $"{par.ip}";

                Console.WriteLine("Agent client get response from " + par.userDomain);
                /*log.Info("Agent client get response from " + par.userDomain);*/

                RunUtils(par.userDomain, par.ip, par.operation, par.fingerTemplate, par.nik, par.wsid, "", par.hashedTemplate);
            });

            connection.On <string, string>("ReqConnDevice", (userDomain, operation) =>
            {
                Console.WriteLine("Agent client get request connection from " + userDomain);
                /*log.Info("Agent client get request connection from " + userDomain);*/
                RunUtils(userDomain, "", operation, "", "", "", "", "");
            });

            connection.On <string, string, string>("ReqFingerScanNasabah", (userDomain, operation, nik) =>
            {
                Console.WriteLine("Agent client get request verify finger nasabah from " + userDomain);
                /*log.Info("Agent client get request verify finger nasabah from " + userDomain);*/
                RunUtils(userDomain, "", operation, "", nik, "", "", "");
            });

            connection.On <string, string>("ReqPutEktp", (userDomain, operation) =>
            {
                Console.WriteLine("Agent client get request Put EKTP from " + userDomain);
                /*log.Info("Angular send request to put EKTP from " + userDomain);*/
                RunUtils(userDomain, "", operation, "1234567890123456", "", "", "", "");
            });

            connection.On <ParamFinger>("ReqDataDemography", (par) =>
            {
                Console.WriteLine("Agent client get request Data Demography from " + par.userDomain);
                /*log.Info("Angular send request to Get Data Demography from " + par.userDomain); */
                RunUtils(par.userDomain, "", par.operation, "", "", "", "", "");
            });

            connection.On <string, string, string>("ReqInputPinCard", (userDomain, operation, cardNumber) =>
            {
                Console.WriteLine("Agent client get request Put EKTP from " + userDomain);
                /*log.Info("Angular send request to put EKTP from " + userDomain);*/
                RunUtils(userDomain, "", operation, "", "", "", cardNumber, "");
            });

            connection.On <string, string>("ReqSwapCard", (userDomain, operation) =>
            {
                Console.WriteLine("Agent client get request Put EKTP from " + userDomain);
                /*log.Info("Angular send request to put EKTP from " + userDomain);*/
                RunUtils(userDomain, "", operation, "", "", "", "", "");
            });
            #endregion

            try
            {
                //await TryConnectAsync();
                TryConnectAsync();
            }
            catch (Exception ex)
            {
                /*log.Error(ex.ToString());*/
            }

            connection.Closed += Connection_Closed;
        }
Пример #2
0
        static void RunUtils(string userDomain, string ip, string operation, string fingerTemplate, string nik, string wsid, string cardNumber, string hashIso)
        {
            // Load configuration

            /*var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
             * XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));*/


            var dataOutParam = new OutParam();

            dataOutParam.userDomain = userDomain;
            dataOutParam.ip         = ip;
            dataOutParam.operation  = operation;
            Utils ut = new Utils(operation);

            /*log.Info("Check Type of Operation");*/
            if (operation == "1")
            {
                /*log.Info("Operation Type 1: Login Finger Print");*/

                var ektpDeviceStatus = ut.DeviceOpen();
                var ektpDevice       = ut.EktpDevice(fingerTemplate, nik, wsid, hashIso);

                dataOutParam.errCode    = "0";//ektpDevice.Error_code.ToString();
                dataOutParam.errMessage = ektpDevice.Err_message;

                // call signalR method

                /*log.Info("Invoke Websocket method ReceiveFromAgent");
                 * log.Info("To Deliver Data to Angular Client"); */
                ut.DeviceClose();
                connection.InvokeAsync("ReceiveFromAgent", dataOutParam);
            }
            else if (operation == "12")
            {
                var ektpDevice = ut.DeviceOpen();

                dataOutParam.errCode    = "0";// ektpDevice.Error_code.ToString();//"0";
                dataOutParam.errMessage = ektpDevice.Err_message;

                ut.DeviceClose();
                // call signalR method
                connection.InvokeAsync("InfoConnDevice", dataOutParam);
            }
            else if (operation == "13")
            {
                var ektpDeviceStatus = ut.DeviceOpen();
                var putEktp          = ut.PutEKTP();
                dataOutParam.errCode    = "0";//putEktp.Error_code.ToString();//"0";
                dataOutParam.errMessage = putEktp.Err_message;
                ut.DeviceClose();
                // call signalR method
                connection.InvokeAsync("SendResultPutEktp", dataOutParam);
            }
            else if (operation == "14")
            {
                var ektpDeviceStatus = ut.DeviceOpen();
                var getDataDemo      = ut.GetDataDemography(wsid, nik, "idAuth", "nikAuth", 20);
                dataOutParam.errCode    = getDataDemo.Error_code.ToString();
                dataOutParam.errMessage = getDataDemo.Err_message;
                ut.DeviceClose();
                // call signalR method
                connection.InvokeAsync("SendResultDataDemography", dataOutParam);
            }
            else if (operation == "15")
            {
                var ektpDeviceStatus = ut.DeviceOpen();

                var verifyFingerNasabah = ut.VerifyFinger("2R", userDomain, nik);
                dataOutParam.errCode = "0"; // verifyFingerNasabah.Error_code.ToString();//"0";
                                            //dataOutParam.errMessage = verifyFingerNasabah.Err_message;

                /*if (verifyFingerNasabah.Error_code == 0)
                 * {
                 *  var getDataDemo = ut.GetDataDemography(wsid, nik, "idAuth", "nikAuth", 20);
                 *  dataOutParam.errCode = getDataDemo.Error_code.ToString();
                 *  dataOutParam.errMessage = getDataDemo.Err_message;
                 * } */
                Demography demo    = new Demography();
                var        options = new JsonSerializerOptions
                {
                    PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
                    WriteIndented        = true
                };
                demo.Nik     = "1234567890";
                demo.Name    = "Nama Dummy";
                demo.Address = "Alamat Dummy";

                demo.PlaceOfBirth = "";
                demo.DateOfBirth  = "";
                demo.Gender       = "";

                demo.RT      = "";
                demo.RW      = "";
                demo.Village = "";

                demo.SubDistrict = "";
                demo.City        = "";
                demo.Province    = "";

                demo.BloodType          = "";
                demo.Religion           = "";
                demo.MaritalStatus      = "";
                demo.Occupation         = "";
                demo.Nationality        = "";
                demo.PlaceOfIssue       = "";
                dataOutParam.errMessage = JsonSerializer.Serialize(demo, options);
                Console.WriteLine(dataOutParam.errMessage);
                ut.DeviceClose();
                // call signalR method
                connection.InvokeAsync("SendResultVerifyNasabah", dataOutParam);
            }
            else if (operation == "2")
            {
                var ektpDeviceStatus = ut.PinpadOpen();
                // EDC Swipe Card
                var cardSwipeResult = ut.SwipeCard("Please swipe card");
                dataOutParam.errCode    = "0";                         //cardSwipeResult.Error_code.ToString();//"0";
                dataOutParam.errMessage = cardSwipeResult.Err_message; //"1234567890";

                ut.closeLibraryPinpad();
                // nanti call signalR method
                connection.InvokeAsync("SendResultSwapCard", dataOutParam);
            }
            else if (operation == "21")
            {
                var ektpDeviceStatus = ut.PinpadOpen();
                // EDC Verify Pin
                var verifyPinResult = ut.GetPin("Input Pin:", cardNumber);
                dataOutParam.errCode    = "0"; verifyPinResult.Error_code.ToString();//"0";
                dataOutParam.errMessage = verifyPinResult.Err_message;
                ut.closeLibraryPinpad();
                // nanti call signalR method
                connection.InvokeAsync("SendResultInputPin", dataOutParam);
            }
        }