Exemplo n.º 1
0
 private async Task SaveToDb(string message)
 {
     var logItem = new VaultAccessLog()
     {
         DateTime  = DateTime.Now,
         Event     = message,
         EventType = this.EventType,
         VaultId   = this.VaultId
     };
     await _repository.CreateAsync(logItem);
 }
Exemplo n.º 2
0
        public void CreateAndSendAccessDeniedAlert(VaultAccessLog vaultAccessLog, string recipientAddress)
        {
            var senderAddress     = ConfigurationManager.AppSettings["SenderMailAddress"];
            var senderPassword    = ConfigurationManager.AppSettings["SenderMailPassword"];
            var emailSubject      = ConfigurationManager.AppSettings["EmailAlertSubject"];
            var alertTextTemplate = ConfigurationManager.AppSettings["EmailAlertTextTemplate"];

            var alertText = FillPlaceholders(alertTextTemplate, vaultAccessLog);

            _sendEmailService.SendEmail(senderAddress, senderPassword, recipientAddress, emailSubject, alertText);
        }
        public override void Execute(AddVaultAccessLogContext context)
        {
            using (var uow = UnitOfWorkFactory.Create())
            {
                var user  = uow.UserRepository.GetById(context.UserId);
                var vault = uow.VaultRepository.GetById(context.VaultId);

                var haveAccess = _vaultAccessService.IsUserHasAccess(user, vault);

                var vaultAccessLog = new VaultAccessLog(context.UserId, context.VaultId, !haveAccess);

                context.CreatedVaultAccessLog = vaultAccessLog;

                uow.VaultAccessLogRepository.Insert(vaultAccessLog);
                uow.Commit();
            }
        }
Exemplo n.º 4
0
 private static string FillPlaceholders(string text, VaultAccessLog settings)
 {
     return(Placeholders.Aggregate(text, (t, p) => t.Replace($"%{p.Key}%", p.Value(settings))));
 }