public void ShowCreateAccountServerError(AccountReply serverError)
        {
            DialogResourceID message;

            switch (serverError)
            {
            case AccountReply.Exists: message = DialogResourceID.ACCOUNT_CREATE_NAME_EXISTS; break;

            case AccountReply.NotApproved: message = DialogResourceID.ACCOUNT_CREATE_NAME_NOT_APPROVED; break;

            case AccountReply.Created: message = DialogResourceID.ACCOUNT_CREATE_SUCCESS_WELCOME; break;

            case AccountReply.ChangeFailed: message = DialogResourceID.CHANGE_PASSWORD_MISMATCH; break;

            case AccountReply.ChangeSuccess: message = DialogResourceID.CHANGE_PASSWORD_SUCCESS; break;

            default: throw new ArgumentOutOfRangeException(nameof(serverError), serverError, null);
            }

            var messageBox = _eoMessageBoxFactory.CreateMessageBox(
                message,
                EODialogButtons.Ok,
                EOMessageBoxStyle.SmallDialogLargeHeader);

            messageBox.ShowDialog();
        }
Пример #2
0
 protected override void OnReplyRecieved(WebResponse response)
 {
     if (response == null)
     {
         KleiUserID = null;
         gotUserID();
     }
     else
     {
         Stream       responseStream = response.GetResponseStream();
         StreamReader streamReader   = new StreamReader(responseStream);
         string       text           = streamReader.ReadToEnd();
         streamReader.Close();
         responseStream.Close();
         AccountReply accountReply = JsonConvert.DeserializeObject <AccountReply>(text);
         if (!accountReply.Error)
         {
             Debug.Log("[Account] Got login for user " + accountReply.UserID);
             KleiUserID = ((!(accountReply.UserID == string.Empty)) ? accountReply.UserID : null);
             gotUserID();
         }
         else
         {
             Debug.Log("[Account] Error logging in: " + text);
             gotUserID();
         }
         End();
     }
 }
Пример #3
0
        public bool AccountCreate(string uName, string pass, string realName, string location, string email, string HDDSerial, out AccountReply result)
        {
            result = AccountReply.THIS_IS_WRONG;
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            Packet builder = new Packet(PacketFamily.Account, PacketAction.Create);
            //eoserv doesn't care...
            builder.AddShort(1337);
            builder.AddByte(42);

            builder.AddBreakString(uName);
            builder.AddBreakString(pass);
            builder.AddBreakString(realName);
            builder.AddBreakString(location);
            builder.AddBreakString(email);
            builder.AddBreakString(System.Net.Dns.GetHostName());
            builder.AddBreakString(HDDSerial);

            if (!m_client.SendPacket(builder) || !m_account_responseEvent.WaitOne(Constants.ResponseTimeout))
                return false;

            result = m_account_reply;

            return true;
        }
Пример #4
0
 /// <summary>
 /// Это активный НЕ карточный счет.
 /// </summary>
 /// <returns>Активный НЕ карточный счет или нет</returns>
 public static bool IsNonCardActiveAccount(AccountReply accountReply, DateTime calculateDate)
 {
     return(accountReply.OwnerIndic != AccountReply.OwnerIndice.Guarantor &&
            accountReply.AcctType != AccountReply.AcctTypee.CreditCard &&
            accountReply.AcctType != AccountReply.AcctTypee.Overdraft &&
            accountReply.AcctType != AccountReply.AcctTypee.OverdraftDebitCard &&
            (accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.Active || accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.InDefaultOrPastDue) &&
            accountReply.LastUpdatedDt > calculateDate.AddMonths(-MaxActiveMonth(calculateDate)));
 }
Пример #5
0
		private void _createAccountMembers()
		{
			m_account_responseEvent = new AutoResetEvent(false);
			m_account_reply = AccountReply.THIS_IS_WRONG;
			
			m_client.AddPacketHandler(new FamilyActionPair(PacketFamily.Account, PacketAction.Reply),
				pkt =>
				{
					m_account_reply = (AccountReply) pkt.GetShort();
					m_account_responseEvent.Set();
				}, false);
		}
Пример #6
0
        public override async Task <AccountReply> CheckLogin(Empty request, ServerCallContext context)
        {
            var reply = new AccountReply();
            var user  = await _loginUserService.GetUser(context.GetHttpContext());

            if (user != null)
            {
                UpdateAccountReply(reply, user);
            }

            return(reply);
        }
Пример #7
0
        private void _createAccountMembers()
        {
            m_account_responseEvent = new AutoResetEvent(false);
            m_account_reply         = AccountReply.THIS_IS_WRONG;

            m_client.AddPacketHandler(new FamilyActionPair(PacketFamily.Account, PacketAction.Reply),
                                      pkt =>
            {
                m_account_reply = (AccountReply)pkt.GetShort();
                m_account_responseEvent.Set();
            }, false);
        }
Пример #8
0
        internal async void UpdateRecipientInfo()
        {
            if (string.IsNullOrEmpty(Recipient) || Errors[nameof(Recipient)].Any())
            {
                Info = string.Empty;
                return;
            }

            AccountReply account          = null;
            Contact      contact          = null;
            var          recipientAddress = Contact.GetAddressOrInput(Recipient);
            await Task.Run(async() =>
            {
                try
                {
                    _recipientPublicKey = null;
                    account             = await _nxtServer.GetAccountAsync(recipientAddress);
                }
                catch (Exception)
                {
                    // Ignore
                }
                contact = await _contactRepository.GetContactAsync(recipientAddress);
            });

            if (!_nxtServer.IsOnline)
            {
                Info = "Unable to get information about recipient in offline mode.";
                IsMessageEncryptionEnabled = false;
                EncryptMessage             = false;
                return;
            }
            if (account == null)
            {
                Info = "The recipient account is an unknown account, meaning it has never had an incoming or outgoing transaction.";
                IsMessageEncryptionEnabled = false;
                EncryptMessage             = false;
                return;
            }
            _recipientPublicKey        = account.PublicKey;
            IsMessageEncryptionEnabled = true;

            var recipientInfo = "The recipient";
            var name          = (contact != null) ? contact.Name : (!string.IsNullOrEmpty(account.Name)) ? account.Name : string.Empty;

            if (!string.IsNullOrEmpty(name))
            {
                recipientInfo += $", {name}";
            }
            recipientInfo += $" has a balance of {account.Balance.Nxt.ToFormattedString(2)} NXT";
            Info           = recipientInfo;
        }
Пример #9
0
        private void UpdateAccountReply(AccountReply reply, LoginUser user)
        {
            reply.Name = user.Id;
            if (user.Adm)
            {
                reply.Type = User.Types.Type.Adm;
            }
            else if (user.Authorised)
            {
                reply.Type = User.Types.Type.Authorised;
            }

            reply.Email = user.Email ?? "";
        }
Пример #10
0
        public bool AccountCheckName(string username, out AccountReply result)
        {
            result = AccountReply.THIS_IS_WRONG;
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            Packet builder = new Packet(PacketFamily.Account, PacketAction.Request);
            builder.AddString(username);

            if (!m_client.SendPacket(builder) || !m_account_responseEvent.WaitOne(Constants.ResponseTimeout))
                return false;

            result = m_account_reply;

            return true;
        }
Пример #11
0
        public bool AccountChangePassword(string username, string old_password, string new_password, out AccountReply result)
        {
            result = AccountReply.THIS_IS_WRONG;
            if (!m_client.ConnectedAndInitialized || !Initialized)
                return false;

            Packet builder = new Packet(PacketFamily.Account, PacketAction.Agree);
            builder.AddBreakString(username);
            builder.AddBreakString(old_password);
            builder.AddBreakString(new_password);

            if (!m_client.SendPacket(builder) || !m_account_responseEvent.WaitOne(Constants.ResponseTimeout))
                return false;

            result = m_account_reply;

            return true;
        }
Пример #12
0
        /// <summary>
        /// Это активный карточный счет.
        /// </summary>
        /// <returns>Активный карточный счет или нет</returns>
        public static bool IsCardActiveAccount(AccountReply accountReply, DateTime calculateDate)
        {
//			AmtOutstanding

            bool result = (accountReply.OwnerIndic != AccountReply.OwnerIndice.Guarantor
                           // Кредитки и овердрафты с суммой
                           && (accountReply.AcctType == AccountReply.AcctTypee.CreditCard ||
                               ((accountReply.AcctType == AccountReply.AcctTypee.OverdraftDebitCard || accountReply.AcctType == AccountReply.AcctTypee.Overdraft) &&
                                (Int32.TryParse(accountReply.principalOutstanding, out int PrincipalOutstanding) && PrincipalOutstanding > 0 ||
                                 Int32.TryParse(accountReply.amtOutstanding, out int AmtOutstanding) && AmtOutstanding > 0)
                               )
                               ) &&
                           (accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.Active || accountReply.AccountRatingVLF(calculateDate) == AccountReply.AccountRatingeVLF.InDefaultOrPastDue) &&
                           (Decimal.TryParse(accountReply.amtOutstanding, out Decimal amtOutstanding) && amtOutstanding > 0) &&
                           accountReply.LastUpdatedDt > calculateDate.AddMonths(-MaxActiveMonth(calculateDate)));

            return(result);
        }
Пример #13
0
        public override async Task <AccountReply> Login(Account request, ServerCallContext context)
        {
            var reply = new AccountReply();
            var user  = await _validator.Validate(request.Name, request.Pwd);

            if (user != null)
            {
                await _loginUserService.SetUser(context.GetHttpContext(), user);

                UpdateAccountReply(reply, user);
            }
            else
            {
                reply.Error = Error.InvalidUserOrPwd;
                await _loginUserService.SetUser(context.GetHttpContext(), null);
            }

            return(reply);
        }
Пример #14
0
        public bool AccountCheckName(string username, out AccountReply result)
        {
            result = AccountReply.THIS_IS_WRONG;
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            Packet builder = new Packet(PacketFamily.Account, PacketAction.Request);

            builder.AddString(username);

            if (!m_client.SendPacket(builder) || !m_account_responseEvent.WaitOne(Constants.ResponseTimeout))
            {
                return(false);
            }

            result = m_account_reply;

            return(true);
        }
Пример #15
0
        public bool AccountChangePassword(string username, string old_password, string new_password, out AccountReply result)
        {
            result = AccountReply.THIS_IS_WRONG;
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            Packet builder = new Packet(PacketFamily.Account, PacketAction.Agree);

            builder.AddBreakString(username);
            builder.AddBreakString(old_password);
            builder.AddBreakString(new_password);

            if (!m_client.SendPacket(builder) || !m_account_responseEvent.WaitOne(Constants.ResponseTimeout))
            {
                return(false);
            }

            result = m_account_reply;

            return(true);
        }
Пример #16
0
        public bool AccountCreate(string uName, string pass, string realName, string location, string email, string HDDSerial, out AccountReply result)
        {
            result = AccountReply.THIS_IS_WRONG;
            if (!m_client.ConnectedAndInitialized || !Initialized)
            {
                return(false);
            }

            Packet builder = new Packet(PacketFamily.Account, PacketAction.Create);

            //eoserv doesn't care...
            builder.AddShort(1337);
            builder.AddByte(42);

            builder.AddBreakString(uName);
            builder.AddBreakString(pass);
            builder.AddBreakString(realName);
            builder.AddBreakString(location);
            builder.AddBreakString(email);
            builder.AddBreakString(System.Net.Dns.GetHostName());
            builder.AddBreakString(HDDSerial);

            if (!m_client.SendPacket(builder) || !m_account_responseEvent.WaitOne(Constants.ResponseTimeout))
            {
                return(false);
            }

            result = m_account_reply;

            return(true);
        }
Пример #17
0
 /// <summary>
 /// Получить данные для расчета ПДН по кредитным картам.
 /// </summary>
 /// <param name="accountReply">Данные по карточному счета</param>
 /// <param name="calculateDate">Дата расчета</param>
 /// <returns>Данные для расчета ПДН по карточным счетам</returns>
 public static PDNCard GetPDNCard(AccountReply accountReply, DateTime calculateDate)
 {
     if (!IsCardActiveAccount(accountReply, calculateDate))
     {
         return(default);