public bool Update(int id, ExperimentRequest entity, HttpContext current) { var entityOld = _experimentRepository.GetById(id, new List <string>() { "Project.Company" }); var company = _companyRepository.GetById(1, new List <string>() { "License.LicenseType" }); var auditMetaData = new AuditTrailMetaData() { User = _userRepository.GetById(1), Company = company, Permission = new PermissionEntity(), RequestMethod = current.Request.HttpMethod, RequestBaseUrl = current.Request.Path, RequestIpAddress = current.Request.UserHostAddress, License = company.Licenses.Any(x => x.LicenseType.Name == "CFR") }; //var update = ExperimentRequest.ToEntity(entity); //update.Id = id; entityOld.Name = entity.Name; entityOld.Description = entity.Description; var success = false; success = _experimentRepository.Update(id, entityOld); success = _experimentRepository.SaveChanges(auditMetaData); return(success); }
public bool SaveChanges(AuditTrailMetaData auditTrailMetaData) { if (auditTrailMetaData.Company.Licenses.First(x => x.LicenseType.Name == "CFR") != null) { _auditTrailRepository.Capture(auditTrailMetaData); } return(_context.SaveChanges() > 0); }
public bool Delete(int id, HttpContext current) { var auditMetaData = new AuditTrailMetaData() { User = _userRepository.GetById(1), Company = _companyRepository.GetById(1), RequestMethod = current.Request.HttpMethod, RequestBaseUrl = current.Request.ToString(), RequestIpAddress = current.Request.UserHostAddress }; _experimentRepository.Delete(id); return(_experimentRepository.SaveChanges(auditMetaData)); }
public bool Create(ProjectRequest entity, HttpContext current) { var auditMetaData = new AuditTrailMetaData() { User = _userRepository.GetById(1), Company = _companyRepository.GetById(1), Permission = new PermissionEntity() { Id = 1 }, RequestMethod = current.Request.HttpMethod, RequestBaseUrl = current.Request.Path, RequestIpAddress = current.Request.UserHostAddress }; var success = false; success = _projectRepository.Create(ProjectRequest.ToEntity(entity)); success = _projectRepository.SaveChanges(auditMetaData); return(success); }
public bool Create(ExperimentRequest entity, HttpContext current) { var auditMetaData = new AuditTrailMetaData() { User = _userRepository.GetById(1), Company = _companyRepository.GetById(1), Permission = new PermissionEntity(), RequestMethod = current.Request.HttpMethod, RequestBaseUrl = current.Request.Path, RequestIpAddress = current.Request.UserHostAddress }; Console.WriteLine(auditMetaData.RequestMethod + "aaa"); Console.WriteLine(auditMetaData.RequestBaseUrl + " bbb"); Console.WriteLine(auditMetaData.RequestIpAddress + "vvv"); var success = false; success = _experimentRepository.Create(ExperimentRequest.ToEntity(entity)); success = _experimentRepository.SaveChanges(auditMetaData); return(success); }
public bool Capture(AuditTrailMetaData auditTrailMetaData) { // Meta Data var user = auditTrailMetaData.User; var company = auditTrailMetaData.Company; var permission = auditTrailMetaData.Permission; var requestMethod = auditTrailMetaData.RequestMethod; var requestBaseUrl = auditTrailMetaData.RequestBaseUrl; var requestIpAddress = auditTrailMetaData.RequestIpAddress; var license = auditTrailMetaData.License; if (license == false) { license = company.Licenses.Any(x => x.LicenseType.Name == "CFR"); } var now = DateTime.UtcNow.ToString(CultureInfo.InvariantCulture); // Validation if (license == false) { return(false); } if (user == null) { throw new Exception("AuditTrail Error: User is mandatory"); } if (company == null) { throw new Exception("AuditTrail Error: Company is mandatory"); } if (permission == null) { throw new Exception("AuditTrail Error: Permission is mandatory"); } if (requestIpAddress == null) { requestIpAddress = "Not specified"; } if (requestMethod == null) { requestMethod = "Not specified"; } if (requestBaseUrl == null) { requestBaseUrl = "Not specified"; } var states = ((IObjectContextAdapter)_context).ObjectContext.ObjectStateManager.GetObjectStateEntries( EntityState.Added | EntityState.Modified | EntityState.Deleted); foreach (var state in states) { switch (state.State) { case EntityState.Added: { var auditTrailEntity = new AuditTrailEntity() { User = user, Company = company, Permission = permission, RequestBaseUrl = requestBaseUrl, RequestMethod = requestMethod, RequestMethodColor = "Green", IpAddress = requestIpAddress, Identifier = GetTableName(state), PrimaryKey = GetPrimaryKey(state), CreatedAt = now }; _context.Set <AuditTrailEntity>().Add(auditTrailEntity); return(true); } case EntityState.Modified: { var logs = GetChanges(); if (logs.Count == 0) { return(false); } var auditTrailUpdate = new AuditTrailEntity() { User = user, Company = company, Permission = permission, RequestBaseUrl = requestBaseUrl, RequestMethod = requestMethod, RequestMethodColor = "Yellow", IpAddress = requestIpAddress, AuditTrailChangeLog = logs, Identifier = GetTableName(state), PrimaryKey = GetPrimaryKey(state), CreatedAt = now.ToString(CultureInfo.InvariantCulture), }; _context.Set <AuditTrailEntity>().Add(auditTrailUpdate); return(true); } case EntityState.Deleted: { var auditTrailEntity = new AuditTrailEntity() { User = user, Company = company, Permission = permission, RequestBaseUrl = requestBaseUrl, RequestMethod = requestMethod, RequestMethodColor = "Red", IpAddress = requestIpAddress, Identifier = GetTableName(state), PrimaryKey = GetPrimaryKey(state), CreatedAt = now }; _context.Set <AuditTrailEntity>().Add(auditTrailEntity); return(true); } case EntityState.Detached: { break; } case EntityState.Unchanged: { break; } default: throw new ArgumentOutOfRangeException(); } } return(false); }
public bool SaveChanges(AuditTrailMetaData auditTrailMetaData) { _auditTrailRepository.Capture(auditTrailMetaData); return(_context.SaveChanges() > 0); }