Пример #1
0
        public VirtualCard GenerateVirtualCard()
        {
            VirtualCard vc = new VirtualCard();

            vc.LoyaltyIdNumber = new System.Random().Next(1, 9999999).ToString();
            return(vc);
        }
Пример #2
0
        public SafeResponse Post_CardVirtual([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                Tool.ValidatePhoneNumber(apiRequest.Phone_No);
                apiRequest.Exp_Date  = Tool.ValidateExpirationDate(apiRequest.Exp_Date);
                apiRequest.Informing = apiRequest.Informing.ToUpper();
                Tool.Validate_Status(apiRequest.Informing, "Informing");

                VirtualCard vcard = new VirtualCard(ref apiRequest);

                VirtualCardOut data = DA.Create_VirtualCard(ref apiRequest, ref vcard);

                SafeData sd = Encrypt_Data(data);
                apiResponse = new SafeResponse(sd, CodeStatus.Ok);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod(), false);
            } finally {
                Task.Run(() => Save_Response());
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Пример #3
0
        private void mpButtonRec_Click(object sender, EventArgs e)
        {
            if (ServiceHelper.IsStopped)
            {
                return;
            }
            if (mpComboBoxChannels.SelectedItem == null)
            {
                return;
            }
            string      channel = mpComboBoxChannels.SelectedItem.ToString();
            int         id      = ((ComboBoxExItem)mpComboBoxChannels.SelectedItem).Id;
            VirtualCard card    = GetCardRecordingChannel(id);

            if (card != null)
            {
                card.StopRecording();
                mpButtonRec.Enabled       = false;
                mpButtonTimeShift.Enabled = true;
            }
            else
            {
                card = GetCardTimeShiftingChannel(id);
                if (card != null)
                {
                    string fileName = String.Format(@"{0}\{1}.mpg", card.RecordingFolder, Utils.MakeFileName(channel));
                    card.StartRecording(ref fileName);
                    mpButtonTimeShift.Enabled = false;
                }
            }
        }
Пример #4
0
        public VirtualCard GenerateVirtualCardAboveMaxValues()
        {
            VirtualCard vc = new VirtualCard();

            vc.LoyaltyIdNumber = RandomDataHelper.RandomNumber(RandomDataHelper.RandomNumber(255, 300)).ToString();
            return(vc);
        }
Пример #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvServerEventArgs"/> class.
 /// </summary>
 /// <param name="eventType">Type of the _event.</param>
 /// <param name="card">The card.</param>
 /// <param name="user">The user.</param>
 /// <param name="channel">The channel.</param>
 public TvServerEventArgs(TvServerEventType eventType, VirtualCard card, User user, IChannel channel)
 {
     _eventType = eventType;
     _card      = card;
     _user      = user;
     _channel   = channel;
 }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvServerEventArgs"/> class.
 /// </summary>
 /// <param name="eventType">Type of the event.</param>
 /// <param name="card">The card.</param>
 /// <param name="user">The user.</param>
 /// <param name="conflict">The conflict.</param>
 public TvServerEventArgs(TvServerEventType eventType, VirtualCard card, User user, Conflict conflict)
 {
     _eventType = eventType;
     _card      = card;
     _user      = user;
     _channel   = channel;
     _conflict  = conflict;
 }
Пример #7
0
        /// <summary>
        /// It generates add member with mandatory fields using SOAP service
        /// </summary>
        /// <returns>Member Details</returns>
        public Member GenerateaddMemberForSOAPMandatory()
        {
            Member      member = new Member();
            VirtualCard vc     = new VirtualCard();

            vc.LoyaltyIdNumber = new System.Random().Next(1, 9999999).ToString();
            member.Add(vc);
            return(member);
        }
Пример #8
0
        /// <summary>
        /// It generates add member with existing VCKey using SOAP service
        /// </summary>
        /// <returns>Member Details</returns>
        public Member GenerateAddMemberForSOAPExistingVC()
        {
            Member      member = new Member();
            VirtualCard vc     = new VirtualCard();

            vc.LoyaltyIdNumber = DatabaseUtility.GetExistingLoyaltyCardIDwithActiveStatus();
            member.Add(vc);
            return(member);
        }
Пример #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TvServerEventArgs"/> class.
 /// </summary>
 /// <param name="eventType">Type of the event.</param>
 /// <param name="card">The card.</param>
 /// <param name="user">The user.</param>
 /// <param name="schedule">The schedule.</param>
 /// <param name="recording">The recording.</param>
 public TvServerEventArgs(TvServerEventType eventType, VirtualCard card, User user, Schedule schedule,
                          Recording recording)
 {
     _eventType = eventType;
     _card      = card;
     _user      = user;
     _channel   = channel;
     _schedule  = schedule;
     _recording = recording;
 }
Пример #10
0
        /// <summary>
        /// returns a virtual card for this tvcard
        /// </summary>
        /// <returns></returns>
        public VirtualCard GetVirtualCard(IUser user)
        {
            VirtualCard card = new VirtualCard(user);

            card.RecordingFormat = _dbsCard.RecordingFormat;
            card.RecordingFolder = _dbsCard.RecordingFolder;
            card.TimeshiftFolder = _dbsCard.TimeShiftFolder;
            card.RemoteServer    = Dns.GetHostName();
            return(card);
        }
Пример #11
0
        private IUser StartTimeshifting(Channel channel, IUser user, int nextRowIndexForDiscUpdate, out long mSecsElapsed,
                                        out TvResult result, out VirtualCard card)
        {
            Stopwatch sw = Stopwatch.StartNew();

            UpdateDiscontinuityCounter(user, nextRowIndexForDiscUpdate);
            result       = RemoteControl.Instance.StartTimeShifting(ref user, channel.IdChannel, out card);
            mSecsElapsed = sw.ElapsedMilliseconds;
            _avg        += mSecsElapsed;
            return(user);
        }
Пример #12
0
        public void Test_1()
        {
            CardInfo info = CardInfo.CreateTestCardInfo();

            Console.WriteLine(info.ToString());

            VirtualCard vc = new VirtualCard(128);

            vc.Write <CardInfo>(info);
            DbgUtil.Dbg(vc.DumpBuffer(), 16);
        }
        public static VirtualCardDTO ToDTO(VirtualCard entity)
        {
            var dto = new VirtualCardDTO();

            dto.Balance    = entity.Balance;
            dto.CardNumber = entity.CardNumber;
            dto.Currency   = entity.Currency;
            dto.CVV        = entity.CVV;
            dto.Name       = entity.Name;
            dto.ValidDate  = entity.ValidDate;
            return(dto);
        }
Пример #14
0
        public void VirtualCard_Contructor_Sets_Balance()
        {
            //arrange
            var balance = 100.10M;
            var vc      = new VirtualCard(0, balance);

            //act
            var result = vc.Balance;

            //assert
            Assert.AreEqual(balance, result);
        }
Пример #15
0
        public void VirtualCard_Contructor_Sets_Pin()
        {
            //arrange
            var pin = 1234;
            var vc  = new VirtualCard(pin, 0);

            //act
            var result = vc.Pin;

            //assert
            Assert.AreEqual(pin, result);
        }
        public static VirtualCard ToEntity(VirtualCardDTO dto)
        {
            var entity = new VirtualCard();

            entity.Balance    = dto.Balance;
            entity.CardNumber = dto.CardNumber;
            entity.Currency   = dto.Currency;
            entity.CVV        = dto.CVV;
            entity.Name       = dto.Name;
            entity.ValidDate  = dto.ValidDate;
            entity.AccountId  = dto.AccountId;
            return(entity);
        }
Пример #17
0
        public void CreateVirtualCard()
        {
            var createvirtualcard = new VirtualCard();

            var virtualcardparams = new VirtualCardParams(ScKey, "clopat", "NGN", "100", "lagos, lagos", "lagos", "lagos", "0000", "NG", "www.facebook.com");
            var chargeResponse    = createvirtualcard.doCreateVirtualCard(virtualcardparams);

            System.Console.WriteLine("chargeResponse:" + chargeResponse.ToString());

            JObject json = JObject.Parse(chargeResponse);

            // Assert.IsNotNull(chargeResponse.Data);
            Assert.AreEqual("error", (string)json.SelectToken("status"));
        }
Пример #18
0
        public void VirtualCard_Can_TopBalance()
        {
            //arrange
            var balance   = 100M;
            var topup_amt = 10M;
            var vc        = new VirtualCard(0, balance);

            //act
            vc.AddMoney(topup_amt).Wait(new TimeSpan(0, 0, 0, 1));
            var result = vc.Balance;

            //assert
            Assert.AreEqual(balance + topup_amt, result);
        }
Пример #19
0
        public void VirtualCard_Can_WithdrawMoney()
        {
            //arrange
            var pin          = 1234;
            var balance      = 100M;
            var withdraw_amt = 10M;
            var vc           = new VirtualCard(pin, balance);

            //act
            vc.WithdrawMoney(pin, withdraw_amt).Wait(new TimeSpan(0, 0, 0, 1));
            var result = vc.Balance;

            //assert
            Assert.AreEqual(balance - withdraw_amt, result);
        }
Пример #20
0
        /// <summary>
        /// It generates add member using SOAP service
        /// </summary>
        /// <returns>Memeber Details</returns>
        public Member GenerateAddMemberForSOAP()
        {
            Member member = new Member();

            member.FirstName        = "CDIS_" + RandomString(6) + "_" + NameGenerator.GenerateFirstName(Gender.Male);
            member.LastName         = "CDIS_" + RandomString(6) + "_" + NameGenerator.GenerateFirstName(Gender.Male);
            member.Username         = member.FirstName;
            member.Password         = "******";
            member.MemberCreateDate = System.DateTime.Now;
            Logger.Info(member.FirstName);
            VirtualCard vc = new VirtualCard();

            vc.LoyaltyIdNumber = new System.Random().Next(1, 9999999).ToString();
            member.Add(vc);
            return(member);
        }
Пример #21
0
        public void VirtualCard_WithdrawMoney_Updates_Balance_When_Pin_Is_Valid()
        {
            //arrange
            var pin          = 1234;
            var valid_pin    = 1234;
            var balance      = 100M;
            var withdraw_amt = 10M;
            var vc           = new VirtualCard(pin, balance);

            //act
            vc.WithdrawMoney(valid_pin, withdraw_amt).Wait(new TimeSpan(0, 0, 0, 1));
            var result = vc.Balance;

            //assert
            Assert.AreEqual(90, result);
        }
        public static WebVirtualCard ToWebVirtualCard(this VirtualCard card)
        {
            if (card == null)
            {
                Log.Warn("Tried to convert a null VirtualCard to WebVirtualCard");
                return(null);
            }

            return(new WebVirtualCard
            {
                BitRateMode = (int)card.BitRateMode,
                ChannelName = card.ChannelName,
                Device = card.Device,
                Enabled = card.Enabled,
                GetTimeshiftStoppedReason = (int)card.GetTimeshiftStoppedReason,
                GrabTeletext = card.GrabTeletext,
                HasTeletext = card.HasTeletext,
                Id = card.Id,
                ChannelId = card.IdChannel,
                IsGrabbingEpg = card.IsGrabbingEpg,
                IsRecording = card.IsRecording,
                IsScanning = card.IsScanning,
                IsScrambled = card.IsScrambled,
                IsTimeShifting = card.IsTimeShifting,
                IsTunerLocked = card.IsTunerLocked,
                MaxChannel = card.MaxChannel,
                MinChannel = card.MinChannel,
                Name = card.Name,
                QualityType = (int)card.QualityType,
                RecordingFileName = card.RecordingFileName,
                RecordingFolder = card.RecordingFolder,
                RecordingFormat = card.RecordingFormat,
                RecordingScheduleId = card.RecordingScheduleId,
                RecordingStarted = card.RecordingStarted != DateTime.MinValue ? card.RecordingStarted : new DateTime(2000, 1, 1),
                RemoteServer = card.RemoteServer,
                RTSPUrl = card.RTSPUrl,
                SignalLevel = card.SignalLevel,
                SignalQuality = card.SignalQuality,
                TimeShiftFileName = card.TimeShiftFileName,
                TimeShiftFolder = card.TimeshiftFolder,
                TimeShiftStarted = card.TimeShiftStarted != DateTime.MinValue ? card.TimeShiftStarted : new DateTime(2000, 1, 1),
                Type = (WebCardType)card.Type,
                User = card.User != null?card.User.ToWebUser() : null
            });
        }
Пример #23
0
        public void Test_2()
        {
            String hexString = "10 01 23 45 32 30 31 38 31 32 30 36 30 30 30 31 " +
                               "01 00 00 00 20 12 31 00 00 00 00 00 00 00 00 00 " +
                               "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " +
                               "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " +
                               "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " +
                               "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " +
                               "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 " +
                               "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00";

            byte[] buffer = HexString.FromHexString(hexString, " ");

            VirtualCard vc       = new VirtualCard(buffer);
            CardInfo    cardInfo = vc.Parse <CardInfo>();

            Console.WriteLine(cardInfo.ToString());
        }
        public ReceptionDetails GetReceptionDetails()
        {
            VirtualCard vcard;

            try
            {
                vcard = new VirtualCard(me, RemoteControl.HostName);
            }
            catch (Exception ex)
            {
                lastException = ex;
                return(null);
            }
            ReceptionDetails details = new ReceptionDetails();

            details.signalLevel   = vcard.SignalLevel;
            details.signalQuality = vcard.SignalQuality;
            return(details);
        }
Пример #25
0
        /// <summary>
        /// Enter Default LoyaltyCard Details on Member Registration page
        /// </summary>
        /// <param name="LoyaltyIDNumber"></param>
        /// returns bool Status with Message
        public TestStep EnterDefaultLoyaltyCard_Details(VirtualCard vc, List <TestStep> listOfTestSteps)
        {
            string stepName = "Enter  Loyalty Card Info Details on Member Registration page";

            testStep = TestStepHelper.StartTestStep(testStep);
            try
            {
                EnterDefaultLoyaltyCard_Details(vc.LoyaltyIdNumber, out string LoyaltyCardInfo);
                testStep.SetOutput(LoyaltyCardInfo);
                testStep = TestStepHelper.EndTestStep(testCase, testStep, stepName, true, DriverContext.SendScreenshotImageContent("WEB"));
                listOfTestSteps.Add(testStep);
                return(testStep);
            }
            catch (Exception e)
            {
                testStep.SetOutput(e.Message);
                testStep = TestStepHelper.EndTestStep(testCase, testStep, stepName, false, DriverContext.SendScreenshotImageContent("WEB"));
                listOfTestSteps.Add(testStep);
                throw new Exception(e.Message);
            }
        }
Пример #26
0
        public void VirtualCard_Updates_Balance_In_ThreadSafe()
        {
            //arrange
            var pin     = 1234;
            var balance = 100M;
            var vc      = new VirtualCard(pin, balance);

            var taskList = new List <Task>();

            //act
            taskList.Add(Task.Run(async() =>
            {
                await Task.Delay(99);
                await vc.WithdrawMoney(pin, 20);
            }));

            taskList.Add(Task.Run(async() =>
            {
                await Task.Delay(150);
                await vc.WithdrawMoney(pin, 10);
            }));

            taskList.Add(Task.Run(async() =>
            {
                await Task.Delay(33);
                await vc.AddMoney(10);
            }));

            taskList.Add(Task.Run(async() =>
            {
                await Task.Delay(77);
                await vc.AddMoney(10);
            }));

            Task.WaitAll(taskList.ToArray());
            var result = vc.Balance;

            //assert
            Assert.AreEqual(90, result);
        }
Пример #27
0
        public WebReceptionDetails GetReceptionDetails()
        {
            WebReceptionDetails details = new WebReceptionDetails();

            if (!ConnectToDatabase())
            {
                return(details);
            }
            VirtualCard vcard;

            try
            {
                vcard = new VirtualCard(new User("gemx", true), RemoteControl.HostName);
            }
            catch (Exception)
            {
                return(details);
            }
            details.signalLevel   = vcard.SignalLevel;
            details.signalQuality = vcard.SignalQuality;
            return(details);
        }
Пример #28
0
        public void VirtualCard_WithdrawMoney_Throws_InvalidPinException_When_Pin_Does_Not_Match()
        {
            //arrange
            var pin          = 1234;
            var invalid_pin  = 0000;
            var balance      = 100M;
            var withdraw_amt = 10M;
            var vc           = new VirtualCard(pin, balance);

            //act
            try
            {
                vc.WithdrawMoney(invalid_pin, withdraw_amt).Wait(new TimeSpan(0, 0, 0, 1));
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }

            //assert
            //ASSERT EXCEPTION AS PIN DOES NOT MATCH
        }
Пример #29
0
        /// <summary>
        /// returns the virtualcard which is recording the channel specified
        /// </summary>
        /// <param name="channelId">Id of the channel</param>
        /// <returns>virtual card</returns>
        public VirtualCard GetCardRecordingChannel(int channelId)
        {
            IList <Card> cards = Card.ListAll();

            foreach (Card card in cards)
            {
                if (card.Enabled == false)
                {
                    continue;
                }
                if (!RemoteControl.Instance.CardPresent(card.IdCard))
                {
                    continue;
                }
                IUser[] usersForCard = RemoteControl.Instance.GetUsersForCard(card.IdCard);
                if (usersForCard == null)
                {
                    continue;
                }
                if (usersForCard.Length == 0)
                {
                    continue;
                }
                for (int i = 0; i < usersForCard.Length; ++i)
                {
                    if (usersForCard[i].IdChannel == channelId)
                    {
                        VirtualCard vcard = new VirtualCard(usersForCard[i], RemoteControl.HostName);
                        if (vcard.IsRecording)
                        {
                            vcard.RecordingFolder = card.RecordingFolder;
                            return(vcard);
                        }
                    }
                }
            }
            return(null);
        }
Пример #30
0
        /// <summary>
        /// Ensures that the navigator has the correct current channel (retrieved from the Recorder).
        /// </summary>
        public void UpdateCurrentChannel()
        {
            Channel newChannel = null;
            //if current card is watching tv then use that channel
            int id;

            if (TVHome.Connected)
            {
                if (TVHome.Card.IsTimeShifting || TVHome.Card.IsRecording)
                {
                    id = TVHome.Card.IdChannel;
                    if (id >= 0)
                    {
                        newChannel = Channel.Retrieve(id);
                    }
                }
                else
                {
                    // else if any card is recording
                    // then get & use that channel
                    if (TVHome.IsAnyCardRecording)
                    {
                        TvServer server = new TvServer();
                        for (int i = 0; i < server.Count; ++i)
                        {
                            User        user = new User();
                            VirtualCard card = server.CardByIndex(user, i);
                            if (card.IsRecording)
                            {
                                id = card.IdChannel;
                                if (id >= 0)
                                {
                                    newChannel = Channel.Retrieve(id);
                                    break;
                                }
                            }
                        }
                    }
                }
                if (newChannel == null)
                {
                    newChannel = m_currentChannel;
                }

                int currentChannelId = 0;
                int newChannelId     = 0;

                if (m_currentChannel != null)
                {
                    currentChannelId = m_currentChannel.IdChannel;
                }

                if (newChannel != null)
                {
                    newChannelId = newChannel.IdChannel;
                }

                if (currentChannelId != newChannelId)
                {
                    m_currentChannel = newChannel;
                    m_currentChannel.CurrentGroup = CurrentGroup;
                }
            }
        }