Exemplo n.º 1
0
        /// <summary>
        /// Connect Doge account to the Neblio Account
        /// </summary>
        /// <param name="baseInfo"></param>
        /// <param name="dto"></param>
        /// <param name="verifyActive"></param>
        /// <returns></returns>
        public static async Task <bool> ConnectDogeAccount(AdminActionBase baseInfo, ConnectDogeAccountDto dto, bool verifyActive = false)
        {
            if (verifyActive)
            {
                var vres = await VerifyAdminAction(baseInfo.Admin, baseInfo.Signature, baseInfo.Message);

                if (vres == null)
                {
                    return(false);
                }
            }

            try
            {
                if (!VEDLDataContext.Accounts.TryGetValue(dto.AccountAddress, out var account))
                {
                    return(false);
                }
                if (!VEDLDataContext.DogeAccounts.TryGetValue(dto.dogeAccountAddress, out var doge))
                {
                    return(false);
                }

                await account.ConnectDogeAccount(doge.Address);

                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Cannot connect doge account {dto.dogeAccountAddress} to the neblio account {dto.AccountAddress}. " + ex.Message);
                return(false);
            }
        }
        public async Task <string> DisconnectDogeAccount([FromBody] ConnectDogeAccountDto data)
        {
            try
            {
                var res = await AccountHandler.DisconnectDogeAccount(data.adminCredentials, data, MainDataContext.IsAPIWithCredentials);

                if (res)
                {
                    return("OK");
                }
                else
                {
                    return("Cannot Disconnect doge account.");
                }
            }
            catch (Exception ex)
            {
                throw new HttpResponseException((HttpStatusCode)501, $"Cannot Disconnect doge account. " + ex.Message);
            }
        }
Exemplo n.º 3
0
        public async Task <string> DisconnectDogeAccount([FromBody] ConnectDogeAccountDto data)
        {
            try
            {
                if (MainDataContext.IsAPIWithCredentials)
                {
                    var vres = await AccountHandler.VerifyAdminAction(data.adminCredentials.Admin, data.adminCredentials.Signature, data.adminCredentials.Message);

                    if (vres == null)
                    {
                        return("Wrong signature or missing action request.");
                    }
                }
                await WooCommerceHelpers.Shop.DisconnectDogeAccount();

                return("OK");
            }
            catch (Exception ex)
            {
                throw new HttpResponseException((HttpStatusCode)501, $"Cannot Disconnect doge account. " + ex.Message);
            }
        }