public ActionResult UtilizaChave(string Kcode)
        {
            //Valida Chave
            var rptKeys = Uow.GetRepository <ReportKey>().All();
            var rptKey  = (from x in rptKeys
                           where x.KeyCode.Equals(Kcode)
                           select x).FirstOrDefault();

            // se esta ativa
            if (rptKey == null)
            {
                ViewBag.KeyUsed = "Licença inválida";
                return(View("Relatorios"));
            }
            else // se esta ativa
            {
                if (rptKey.IsActive == true)
                {
                    // checkProfile => se não tem adiciona user
                    var user = User.Identity.GetUserId();
                    Uow.SetUpProfile(1, user, "Especialista");

                    //inativa
                    rptKey.IsActive = false;

                    // associa user e licença
                    var userMapKey = new UserMapKey()
                    {
                        IdKey = rptKey.Id, IdUser = IdCurUser
                    };
                    Uow.GetRepository <UserMapKey>().Add(userMapKey);

                    ViewBag.KeyUsed = "Foram adicionados " + rptKey.ReportNumber.ToString() + " relatórios à sua conta";
                    return(View("Relatorios"));
                }
                else //inativa
                {
                    ViewBag.KeyUsed = "Essa licença já foi utilizada";
                    return(View("Relatorios"));
                }
            }
        }