public ActionResult Index()
        {
            string userName;

            if (User.Identity.IsAuthenticated)
            {
                userName = User.Identity.Name;
            }
            else
            {
                userName = "******";
            }
            AuditModel audit = new AuditModel(userName);
            audit.ActionTaken = "User entered Home>Index";

            AuditHelper.AddAudit(audit);

            return View();
        }
        public static void AddAudit(AuditModel audit)
        {
            // Retrieve the storage account from the connection string.
            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
                ConfigurationManager.AppSettings["StorageConnectionString"]);
            // Create the table client.
            CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

            // Create the CloudTable object that represents the "people" table.
            CloudTable table = tableClient.GetTableReference("audit");

            

            // Create the TableOperation object that inserts the customer entity.
            TableOperation insertOperation = TableOperation.Insert(audit);

            // Execute the insert operation.
            table.Execute(insertOperation);
        }
        public ActionResult Login(string returnUrl)
        {
            string userName;

            if (User.Identity.IsAuthenticated)
            {
                 userName = User.Identity.Name;
            }
            else
            {
                userName = "******";
            }
            AuditModel audit = new AuditModel(userName);
            audit.ActionTaken = "User entered Account>Login";

            AuditHelper.AddAudit(audit);


            ViewBag.ReturnUrl = returnUrl;
            return View();
        }
        public ActionResult Contact()
        {
            string userName;

            if (User.Identity.IsAuthenticated)
            {
                userName = User.Identity.Name;
            }
            else
            {
                userName = "******";
            }
            AuditModel audit = new AuditModel(userName);

            audit.ActionTaken = "User entered Home>Contact";

            AuditHelper.AddAudit(audit);

            ViewBag.Message = "Your contact page.";

            return View();
        }
        /// <summary>
        /// Delete an entity
        /// </summary>
        /// <param name="table">Sample table name</param>
        /// <param name="deleteEntity">Entity to delete</param>
        private static async Task DeleteEntityAsync(CloudTable table, AuditModel deleteEntity)
        {
            if (deleteEntity == null)
            {
                throw new ArgumentNullException("deleteEntity");
            }

            TableOperation deleteOperation = TableOperation.Delete(deleteEntity);
            await table.ExecuteAsync(deleteOperation);
        }
        public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            string userName;

            if (User.Identity.IsAuthenticated)
            {
                userName = User.Identity.Name;
            }
            else
            {
                userName = "******";
            }
            AuditModel audit = new AuditModel(userName);

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            switch (result)
            {
                case SignInStatus.Success:
                    audit.ActionTaken = "User Logedin";

                    AuditHelper.AddAudit(audit);


                    return RedirectToLocal(returnUrl);
                case SignInStatus.LockedOut:
                    return View("Lockout");
                case SignInStatus.RequiresVerification:
                    return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
                case SignInStatus.Failure:
                default:
                    audit.ActionTaken = "Invalid login attempt. user name::" + model.Email;

                    AuditHelper.AddAudit(audit);


                    ModelState.AddModelError("", "Invalid login attempt.");
                    return View(model);
            }
        }
        // GET: Players
        public ActionResult Index()
        {
            PlayerRepository repository = new PlayerRepository();

            try
            {
                // Create a new customer entity.
                string userName;

                if (User.Identity.IsAuthenticated)
                {
                    userName = User.Identity.Name;
                }
                else
                {
                    userName = "******";
                }
                AuditModel audit = new AuditModel(userName);
                audit.ActionTaken = "User entered Player>Index";

                AuditHelper.AddAudit(audit);

                var userId = User.Identity.GetUserId();
                var players = AutoMapper.Mapper.Map<List<PlayerModel>>(repository.GetByUserId(userId));
                return View(players);
            }
            catch (Exception ex)
            {
                Trace.TraceError(ex.Message);
                throw;
            }
        }