Пример #1
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            string providerCode = txtProviderCode.Text;

            TerminalService service     = new TerminalService();
            bool            loginResult = false;

            try
            {
                loginResult = service.loginProvider(providerCode, TERMINAL_CODE);
                if (loginResult)
                {
                    txtLog.Text += "LOGIN SUCCESSFUL";
                    TerminalScreenManager.providerLoggedIn(this);
                    TerminalScreenManager.ProviderCode = providerCode;
                }
                else
                {
                    txtLog.Text += "LOGIN FAILURE";
                }
            }
            catch (Exception ex)
            {
                txtLog.Text += "CONNECTION FAILURE, " + ex.Message;
            }

            txtLog.Text += Environment.NewLine;
        }
        /// <summary>
        /// 分辨率每天分布
        /// </summary>
        public void GetResolutionDetailLine()
        {
            string   resolutionname = GetQueryString("resolutionname");
            DateTime begintime      = Convert.ToDateTime(GetQueryString("sdate"));
            DateTime endtime        = Convert.ToDateTime(GetQueryString("edate"));

            if (begintime <= endtime.AddDays(-90))
            {
                begintime = endtime.AddDays(-90);
            }
            MobileOption plat = (MobileOption)Convert.ToInt32(GetQueryString("plat"));
            int          soft = Convert.ToInt32(GetQueryString("soft"));

            List <Resolution> list = TerminalService.GetInstance().GetResolutionsByDates
                                         (begintime, endtime, soft, (int)plat, resolutionname);
            List <DateTime> datelist       = list.Select(p => p.StatDate).ToList();
            string          AxisJsonStr1   = string.Empty;
            string          SeriesJsonStr1 = string.Empty;

            if (list.Count != 0)
            {
                SetxAxisJson(datelist, ref AxisJsonStr1);
                SeriesJsonStr1 = JsonConvert.SerializeObject(GetDataJsonListByResolution(datelist, list));
            }
            else
            {
                AxisJsonStr1   = "{}";
                SeriesJsonStr1 = "[]";
            }
            string result = "{ x:" + AxisJsonStr1 + "," + "y:" + SeriesJsonStr1 + "}";

            HttpContext.Current.Response.Write(result);
        }
Пример #3
0
        private SelectableAction[] GetActions(string path)
        {
            var actions = new List <SelectableAction>
            {
                new SelectableAction("Open", () => FolderService.OpenLocation(path)),
                new SelectableAction("Terminal", () => TerminalService.OpenTerminal(path)),
            };

            var hasGit = GitService.TryGetRemoteGitLocation(path, out string uri);

            if (hasGit)
            {
                actions.Add(new SelectableAction("Web", () => StartProgramService.StartProgram(uri)));
            }

            foreach (var type in m_programTypesToStart)
            {
                actions.Add(new SelectableAction(type, () => StartProgramService.StartProgramOfType(type, path, true)));
            }

            foreach (var type in m_programTypesTopFolderToStart)
            {
                actions.Add(new SelectableAction(type, () => StartProgramService.StartProgramOfType(type, path, true)));
            }

            return(actions.ToArray());
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            String memberCode = this.getMemberCode();

            if (String.IsNullOrWhiteSpace(memberCode) || memberCode.Length != 9)
            {
                MessageBox.Show("Please enter a 9 digit member code.", "Missing information", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (this.selectedService == null)
            {
                MessageBox.Show("Please enter a 6 digit service code and verify", "Missing information", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            TerminalService   ts     = new TerminalService();
            RecordClaimResult result = ts.recordClaim(TerminalScreenManager.ProviderCode, memberCode, this.selectedService.Code, txtComments.Text, dtServiceProvided.Value);

            if (result.success)
            {
                MessageBox.Show("Claim recorded successfully. Fee to be paid is: " + result.service.Fee, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.clearForm();
            }
            else
            {
                MessageBox.Show(result.message, "Error saving claim", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #5
0
        public void TestGetSaved()
        {
            var savedTerminalSettings = new TerminalSettings
            {
                Command   = "SavedCommand",
                Arguments = "SavedArguments"
            };
            var repositoryMock = new Mock <IRepository <TerminalSettings> >();

            repositoryMock
            .Setup(m => m.GetById(It.IsAny <string>()))
            .Returns(savedTerminalSettings);
            var uowMock = new Mock <IUnitOfWork>();

            uowMock
            .Setup(m => m.GetRepository <TerminalSettings>())
            .Returns(repositoryMock.Object);
            var uowFactoryMock = new Mock <IUnitOfWorkFactory>();

            uowFactoryMock
            .Setup(m => m.Create())
            .Returns(uowMock.Object);
            var processServiceMock = new Mock <IProcessService>();

            var terminalService = new TerminalService(processServiceMock.Object, uowFactoryMock.Object);

            var terminalSettings = terminalService.GetTerminalSettings();

            Assert.Equal(savedTerminalSettings, terminalSettings);
        }
Пример #6
0
        public void TestSave()
        {
            var terminalSettings = new TerminalSettings
            {
                Command   = Command,
                Arguments = Arguments
            };
            var repositoryMock = new Mock <IRepository <TerminalSettings> >();

            repositoryMock
            .Setup(m => m.Upsert(It.IsAny <string>(), terminalSettings))
            .Verifiable();
            var uowMock = new Mock <IUnitOfWork>();

            uowMock
            .Setup(m => m.GetRepository <TerminalSettings>())
            .Returns(repositoryMock.Object);
            var uowFactoryMock = new Mock <IUnitOfWorkFactory>();

            uowFactoryMock
            .Setup(m => m.Create())
            .Returns(uowMock.Object);
            var processServiceMock = new Mock <IProcessService>();

            var terminalService = new TerminalService(processServiceMock.Object, uowFactoryMock.Object);

            terminalService.SetTerminalSettings(terminalSettings);

            repositoryMock.Verify(m => m.Upsert(It.IsAny <string>(), terminalSettings));
        }
Пример #7
0
        public async Task WithdrawByIdAsync_ShouldReturnView()
        {
            // Arrange
            var     card         = SampleData.CREDITCARDS.First();
            int     cardId       = card.Id;
            decimal amount       = card.Balance;
            var     expectedView = new WithdrawalResultViewModel {
                Number = card.Number, RemainingBalance = 0, WithdrawalAmount = amount
            };
            int actionResultCalls = 0;
            int editCalls         = 0;
            var loggerMock        = GetActionRepoMock(() => { actionResultCalls++; });
            var cardRepoMock      = GetCardRepoMock();

            cardRepoMock.Setup(p => p.EditAsync(It.IsAny <CreditCard>())).Callback(() => { editCalls++; });

            var terminalService = new TerminalService(cardRepoMock.Object, loggerMock.Object, null);

            // Act
            var result = await terminalService.WithdrawByIdAsync(cardId, amount);

            // Assert
            Assert.Equal(expectedView.Number, result.Number);
            Assert.Equal(expectedView.RemainingBalance, result.RemainingBalance);
            Assert.Equal(expectedView.WithdrawalAmount, result.WithdrawalAmount);
            Assert.True(actionResultCalls > 0);
            Assert.True(editCalls > 0);
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);

            TerminalService.Init(this);

            // Register the IStripeTerminalService dependency
            FreshIOC.Container.Register <IStripeTerminalService, TerminalService>();

            UserDialogs.Init(this);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());

            if (ContextCompat.CheckSelfPermission(this, Android.Manifest.Permission.AccessFineLocation) != Permission.Granted)
            {
                ActivityCompat.RequestPermissions(this, new[] { Android.Manifest.Permission.AccessFineLocation }, 10);
            }

            // Register Stripe Callback
            Application.RegisterActivityLifecycleCallbacks(_observer);
        }
 public GestionPasajes()
 {
     InitializeComponent();
     _services         = new ServicioService();
     _terminalServices = new TerminalService();
     _unitOfWork       = new UnitOfWork();
     // Se accede al Recurso CollectionViewSource
     vistaColeccionFiltrada = Resources["VISTA_SERVICES"] as CollectionViewSource; // x:Key del CollectionViewSource (XAML)
 }
 public bool IsServiceConnected(TerminalService service)
 {
     return(service switch
     {
         TerminalService.Exchange => ExchangeClient.IsConnected,
         TerminalService.MarketData => MarketDataClient.IsConnected,
         TerminalService.All => ExchangeClient.IsConnected && MarketDataClient.IsConnected,
         _ => throw new ArgumentOutOfRangeException(nameof(service), service, null),
     });
        private void btnCheckMemberStatus_Click(object sender, EventArgs e)
        {
            string memberCode = txtMemberCode.Text;

            TerminalService service = new TerminalService();

            VerifyMemberResult result = service.verifyMember(memberCode);

            this.onMemberStatusReceived(result);
        }
Пример #12
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            TerminalService ts = new TerminalService();

            DateTime currentDate = dtCurrentDate.Value;
            DateTime serviceDate = dtServiceDate.Value;

            String memberName   = txtMemberName.Text;
            String memberNumber = txtMemberNumber.Text;
            String serviceCode  = txtServiceCode.Text;

            decimal fee = 0;

            Decimal.TryParse(txtServiceFee.Text, out fee);

            String errors = String.Empty;

            if (serviceDate > currentDate)
            {
                errors += "Service date cannot be after current date." + Environment.NewLine;
            }

            if (String.IsNullOrWhiteSpace(memberNumber))
            {
                errors += "Member code cannot be empty" + Environment.NewLine;
            }

            if (String.IsNullOrWhiteSpace(serviceCode))
            {
                errors += "Service code cannot be empty." + Environment.NewLine;
            }

            if (fee <= 0)
            {
                errors += "Fee must be a valid decimal greater than 0" + Environment.NewLine;
            }


            if (!String.IsNullOrEmpty(errors))
            {
                MessageBox.Show(errors, "Errors in the form.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string serviceResult = ts.recordClaimCheck(TerminalScreenManager.ProviderCode, currentDate, serviceDate, memberName, memberNumber, serviceCode, fee);

            if (!String.IsNullOrWhiteSpace(serviceResult))
            {
                MessageBox.Show(serviceResult, "An error occurred while saving claim check.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            MessageBox.Show("Claim check saved successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
            this.Close();
        }
Пример #13
0
        public async Task IsValidCardCombinationAsync_ShouldThrowArgNullEx()
        {
            // Arrange
            var terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.IsValidCardCombinationAsync(null, 1);

            // Assert
            Exception ex = await Assert.ThrowsAsync <ArgumentNullException>(action);
        }
Пример #14
0
        public async Task GetCreditCardDetailsByIdAsync_ShouldThrowArgNullEx()
        {
            // Arrange
            int?cardId          = new int?();
            var terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.GetCreditCardDetailsByIdAsync(cardId);

            // Assert
            Exception ex = await Assert.ThrowsAsync <ArgumentNullException>(action);
        }
Пример #15
0
        public async Task WithdrawByIdAsync_ShouldThrowArgNullEx()
        {
            // Arrange
            int?    cardId          = new int?();
            decimal amount          = 1.00M;
            var     terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.WithdrawByIdAsync(cardId, amount);

            // Assert
            Exception ex = await Assert.ThrowsAsync <ArgumentNullException>(action);
        }
Пример #16
0
        public async Task GetCardIdByNumberAsyncTests_ShouldReturnId()
        {
            // Arrange
            int    expectedId      = SampleData.CREDITCARDS.First().Id;
            string number          = SampleData.CREDITCARDS.First().Number;
            var    terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            var result = await terminalService.GetCardIdByNumberAsync(number);

            // Assert
            Assert.Equal(expectedId, result);
        }
Пример #17
0
        public async Task GetCreditCardDetailsByIdAsync_ShouldThrowInvalOpEx()
        {
            // Arrange
            int cardId          = SampleData.CREDITCARDS.First(c => !c.IsValid).Id;
            var terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.GetCreditCardDetailsByIdAsync(cardId);

            // Assert
            Exception ex = await Assert.ThrowsAsync <InvalidOperationException>(action);

            Assert.Equal("Card is invalid", ex.Message);
        }
Пример #18
0
        public async Task GetCreditCardDetailsByIdAsync_ShouldThrowArgEx()
        {
            // Arrange
            int cardId          = SampleData.CARD_NOT_ON_THE_LIST.Id;
            var terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.GetCreditCardDetailsByIdAsync(cardId);

            // Assert
            Exception ex = await Assert.ThrowsAsync <ArgumentException>(action);

            Assert.Equal("Card with this ID doesn't exist", ex.Message);
        }
        private void btnVerify_Click(object sender, EventArgs e)
        {
            TerminalService  ts      = new TerminalService();
            ServiceViewModel service = ts.getService(txtServiceCode.Text);

            if (service == null || String.IsNullOrWhiteSpace(service.Name))
            {
                this.enableVerifyLabels(null);
            }
            else
            {
                this.enableVerifyLabels(service);
            }
        }
Пример #20
0
        private void btnServiceDirectory_Click(object sender, EventArgs e)
        {
            TerminalService ts     = new TerminalService();
            String          result = ts.requestProviderDirectory(TerminalScreenManager.ProviderCode);

            if (String.IsNullOrEmpty(result))
            {
                MessageBox.Show("Service directory sent to your email address.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("An error occurred while sending service directory. " + result, "Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #21
0
        public async Task IsValidCardCombinationAsync_ShouldReturnFalse()
        {
            // Arrange
            var card            = SampleData.CREDITCARDS.First(x => !x.IsValid);
            int cardId          = card.Id;
            int cardPin         = card.Pin;
            var terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            var result = await terminalService.IsValidCardCombinationAsync(cardId, cardPin);

            // Assert
            Assert.False(result);
        }
Пример #22
0
        public async Task GetCardIdByNumberAsyncTests_ShouldThrowInvalOperEx()
        {
            // Arrange
            string number          = SampleData.CREDITCARDS.Where(p => !p.IsValid).First().Number;
            var    terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.GetCardIdByNumberAsync(number);

            // Assert
            Exception ex = await Assert.ThrowsAsync <InvalidOperationException>(action);

            Assert.Equal("Card is invalid", ex.Message);
        }
Пример #23
0
        public async Task GetCardIdByNumberAsyncTests_ShouldThrowArgEx()
        {
            // Arrange
            string number          = SampleData.CARD_NOT_ON_THE_LIST.Number;
            var    terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.GetCardIdByNumberAsync(number);

            // Assert
            Exception ex = await Assert.ThrowsAsync <ArgumentException>(action);

            Assert.Equal("Card with this number doesn't exist", ex.Message);
        }
        private void Bind()
        {
            int[] arr = new int[] { 68, 69, -9, 58, 9, 57, 60, 61 };
            if (arr.Contains <int>(softsid))
            {
                string otherKeyString = softsid == 51 ? "SoftID51_" : "";
                maxTime = UtilityService.GetInstance().GetMaxTimeCache(Period, ReportType.StatTerminationDistributionForPC, CacheTimeOption.TenMinutes, otherKeyString);
            }
            else
            {
                string otherKeyString = softsid == 51 ? "SoftID51_" : "";
                maxTime = UtilityService.GetInstance().GetMaxTimeCache(Period, ReportType.StatTerminationDistribution, CacheTimeOption.TenMinutes, otherKeyString);
            }
            startTime = DateTime.Now;
            switch (MyPeriod)
            {
            case net91com.Stat.Core.PeriodOptions.LatestOneMonth:
                startTime = maxTime.AddMonths(-1).AddDays(1);
                break;

            case net91com.Stat.Core.PeriodOptions.LatestOneWeek:
                startTime = maxTime.AddDays(-6);
                break;

            case net91com.Stat.Core.PeriodOptions.LatestThreeMonths:
                startTime = maxTime.AddMonths(-3).AddDays(1);
                break;

            case net91com.Stat.Core.PeriodOptions.LatestTwoWeeks:
                startTime = maxTime.AddDays(-13);
                break;

            case net91com.Stat.Core.PeriodOptions.All:
                startTime = DateTime.MinValue;
                break;
            }
            reportTitle = MyPeriod == net91com.Stat.Core.PeriodOptions.All ? "分辨率分布(" + maxTime.ToString("yyyy-MM-dd") + "之前)" : "分辨率分布(" + startTime.ToString("yyyy-MM-dd") + "至" + maxTime.ToString("yyyy-MM-dd") + ")";
            list        = TerminalService.GetInstance().GetResolutions(softsid, platformsid, (int)MyPeriod, Convert.ToInt32(maxTime.ToString("yyyyMMdd")));
            if (list.Count == 0)
            {
                SeriesJsonStr = "[]";
                reportTitle   = "无数据";
            }
            else
            {
                SeriesJsonStr = GetYlineJson(list);
            }
            tableStr = GetTableString();
        }
        [InlineData("? *", 0)]   //incorrect data as special characters
        public void Scan_Calculate_Product_Price(string inputproducts, double expectedvalue)
        {
            //given
            var sut = new TerminalService(scanService, priceService, totalcalculationService);

            sut.SetPrice();
            sut.Scan(inputproducts);

            //when
            var actualprice = sut.CalculateTotal();

            //then
            Assert.IsType <double>(actualprice);
            Assert.Equal(expectedvalue, actualprice);
        }
Пример #26
0
        public async Task IsValidCardCombinationAsync_ShouldReturnFalseAndLog()
        {
            // Arrange
            var card       = SampleData.CREDITCARDS.First(x => !x.IsValid);
            int cardId     = card.Id;
            int cardPin    = card.Pin;
            var loggerMock = new Mock <ILogger <TerminalService> >();
            //loggerMock.Verify(p => p.LogInformation(It.IsAny<string>(), It.IsAny<Exception>()), Times.Once); // not supported ?
            var terminalService = new TerminalService(GetCardRepoMock().Object, null, loggerMock.Object);

            // Act
            var result = await terminalService.IsValidCardCombinationAsync(cardId, cardPin);

            // Assert
            Assert.False(result);
        }
        public TerminalFileBrowserViewModel(IPAddress ip, ushort port, string login, string password, ObservableCollection <Serie> series, bool importAsExistingSeries, List <System.Collections.Generic.KeyValuePair <string, Serie> > seriesMapping)
        {
            Series        = series;
            TerminalFiles = new ObservableCollection <TerminalFile>();
            this.ImportAsExistingSeries = importAsExistingSeries;
            this.SeriesMapping          = seriesMapping;

            Cancel       = new RelayCommand(CancelAction, CanCancel);
            Import       = new RelayCommand(ImportAction, CanImport);
            RefreshFiles = new RelayCommand(RefreshFilesAction, CanRefresh);
            Abort        = new RelayCommand(AbortAction, CanAbort);
            TreeViewSelectItemCommand = new RelayCommand(TreeViewSelectItemCommandAction);

            this.terminalService = new TerminalService(ip, port, login, password);
            GetTerminalFilesTreeAsync();
        }
Пример #28
0
        public async Task WithdrawByIdAsync_ShouldThrowInvalOpEx_InsufficientFunds()
        {
            // Arrange
            var     card            = SampleData.CREDITCARDS.First(c => c.IsValid);
            int     cardId          = card.Id;
            decimal amount          = card.Balance + 1M;
            var     terminalService = new TerminalService(GetCardRepoMock().Object, null, null);

            // Act
            Func <Task> action = async() => await terminalService.WithdrawByIdAsync(cardId, amount);

            // Assert
            Exception ex = await Assert.ThrowsAsync <InvalidOperationException>(action);

            Assert.Equal("Insufficient funds", ex.Message);
        }
Пример #29
0
        public bool IsServiceConnected(TerminalService service)
        {
            switch (service)
            {
            case TerminalService.Exchange:
                return(ExchangeClient.IsConnected);

            case TerminalService.MarketData:
                return(MarketDataClient.IsConnected);

            case TerminalService.All:
                return(ExchangeClient.IsConnected &&
                       MarketDataClient.IsConnected);

            default:
                throw new ArgumentOutOfRangeException(nameof(service), service, null);
            }
        }
Пример #30
0
        public void Scan_Products(string scanProducts, double expected)
        {
            //given
            moqTotalCalculateService.Setup(m => m.CalculateTotal(It.IsAny <ProductListandScanCount>())).Returns(expected);

            var sut = new TerminalService(moqScanService.Object, moqPriceService.Object, moqTotalCalculateService.Object);

            //when
            sut.SetPrice();
            sut.Scan(scanProducts);
            var actual = sut.CalculateTotal();

            //then
            Assert.IsType <double>(actual);
            Assert.Equal(expected, actual);

            moqPriceService.Verify(v => v.SetPrice(), Times.Once);
            moqScanService.Verify(v => v.Scan(It.IsAny <ItemstoScan>()), Times.Once);
            moqTotalCalculateService.Verify(v => v.CalculateTotal(It.IsAny <ProductListandScanCount>()), Times.Once);
        }