private void Execute(object command, IAudit executor)
 {
     try
     {
         executor.Audit(command);
     }
     finally
     {
         _container.Release(executor);
     }
 }
        public int Handle(AddCompanyCommand command)
        {
            var company = new Company
            {
                CompanyName = command.Name
            };

            _companyRepository.Add(company);
            _companyRepository.SaveChanges();
            _audit.Audit(string.Format("Company added by with Id {0}", company.Id), command.CreatedById);

            return(company.Id);
        }
Ejemplo n.º 3
0
 public ActionResult Create(TenantRentalOffer offer)
 {
     try
     {
         //TODO  add and check validation
         _audit.Audit(offer);
         _queueWriter.Enqueue(offer);
         TempData["info"] = "You offer has been submitted";
         return(RedirectToAction("Index", "Favourites"));
     }
     catch
     {
         return(View());
     }
 }
Ejemplo n.º 4
0
        public static IAudit AuditRecursive(this IAudit model, object userId, IAudit auditClass)
        {
            model.Audit(userId, auditClass);

            var propsWithAudit = model.GetType().GetProperties()
                                 .Where(_ => typeof(IAudit).IsAssignableFrom(_.PropertyType));

            foreach (var item in propsWithAudit)
            {
                if (item.GetValue(model).IsNotNull())
                {
                    var propModel = item.GetValue(model) as IAudit;

                    propModel.Audit(userId, auditClass);
                }
            }


            return(model);
        }