public async Task <string> RequestAdminAction(string admin, string address, AdminActionTypes actionType)
        {
            try
            {
                var msg = string.Empty;
                if (VEDLDataContext.Accounts.TryGetValue(admin, out var acc))
                {
                    var areq = AdminActionFactory.GetAdminAction(admin, actionType, address);
                    if (areq == null)
                    {
                        throw new HttpResponseException((HttpStatusCode)501, $"Cannot create this type of action.");
                    }
                    msg = areq.CreateNewMessage();
                    VEDLDataContext.AdminActionsRequests.TryAdd(areq.Message, areq);
                }
                else
                {
                    throw new HttpResponseException((HttpStatusCode)501, $"Cannot find admin account.");
                }

                if (!string.IsNullOrEmpty(msg))
                {
                    return(msg);
                }
                else
                {
                    return(string.Empty);
                }
            }
            catch (Exception ex)
            {
                throw new HttpResponseException((HttpStatusCode)501, $"Cannot Create Admin Action Request!" + ex.Message);
            }
        }
        /// <summary>
        /// Get Admin action for access to the Accounts list in the VEDLDataContext.Accounts
        /// </summary>
        /// <param name="admin"></param>
        /// <param name="type"></param>
        /// <param name="address"></param>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        public static IAdminAction GetAdminAction(string admin, AdminActionTypes type, string address)
        {
            if (string.IsNullOrEmpty(admin))
            {
                throw new Exception("You must fill the admin.");
            }

            switch (type)
            {
            case AdminActionTypes.ImportVENFTBackup:
                return(new ImportVENFTBackupRequestDto(admin, address));
            }
            return(null);
        }