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); }
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()); } }
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); }