// GET: /<controller>/
 public IActionResult GenerateKeys()
 {
     try
     {
         GenerateKeysVM generateKeysVM = new GenerateKeysVM();
         generateKeysVM.ListServices = _IServicesStore.GetServiceList();
         generateKeysVM.ListHits     = _IHits.GetHitsList();
         return(View(generateKeysVM));
     }
     catch (Exception)
     {
         throw;
     }
 }
        public IActionResult GenerateKeys(GenerateKeysVM generateKeysVM)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var userID = Convert.ToInt32(HttpContext.Session.GetString("UserID"));

                    if (_IAPIManager.isApikeyAlreadyGenerated(generateKeysVM.ServiceID, userID) > 0)
                    {
                        ModelState.AddModelError("", "Api Key for Choosen Service is Already Generated");
                        generateKeysVM.ListServices = _IServicesStore.GetServiceList();
                        generateKeysVM.ListHits     = _IHits.GetHitsList();
                        return(View(generateKeysVM));
                    }

                    generateKeysVM.ListServices = _IServicesStore.GetServiceList();
                    generateKeysVM.ListHits     = _IHits.GetHitsList();

                    if (GenerateKey(generateKeysVM) == 1)
                    {
                        TempData["APIKeyGeneratedMessage"] = "Done";
                    }
                    else
                    {
                        TempData["APIKeyGeneratedMessage"] = "Failed";
                    }

                    return(View(generateKeysVM));
                }

                generateKeysVM.ListServices = _IServicesStore.GetServiceList();
                generateKeysVM.ListHits     = _IHits.GetHitsList();


                return(View(generateKeysVM));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public int GenerateKey(GenerateKeysVM GenerateKeysVM)
        {
            try
            {
                APIManagerTB aPIManagerTB = new APIManagerTB()
                {
                    APIKey    = EncryptionLibrary.KeyGenerator.GetUniqueKey(),
                    HitsID    = GenerateKeysVM.HitsID,
                    CreatedOn = DateTime.Now,
                    ServiceID = GenerateKeysVM.ServiceID,
                    UserID    = Convert.ToInt32(HttpContext.Session.GetString("UserID")),
                    Status    = "A"
                };

                return(_IAPIManager.GenerateandSaveToken(aPIManagerTB));
            }
            catch (Exception)
            {
                throw;
            }
        }