public override DataObject GetDataObjectBySyncEntity( Guid appObjPK, Type appObjType, ObjectStatus changedObjStatus, Guid auditChangePK) { var appObject = Helper.CreateDataObject(appObjType, appObjPK); if (changedObjStatus != ObjectStatus.Deleted) { // Получаем дату операции изменения аудита связанную с SyncEntity. var auditDate = AuditTools.GetAuditEntityOperationTimeByPK(auditChangePK); // Откатываем вычитанный изменённый объект, к состоянию на дату изменения. if (auditDate != null) { AuditTools.GetObjForDate(auditDate.Value, ref appObject, Context.OnlySelfRollbackFromAudit, true); } else { throw new Exception($"Ошибка - не удалось определить дату операции изменения аудита(AuditEntity:{auditChangePK})"); } } //Если объект удалён, то создаём его экземпляр для передачи в сообщении ключа этого объекта. return(appObject); }
public override List <string> GetChangedFieldBySyncEntity(ObjectStatus changedObjStatus, Guid auditChangePK) { var result = changedObjStatus != ObjectStatus.Deleted ? AuditTools.GetChangeFieldFromAuditEntityByPK(auditChangePK) : null; return(result); }
public StatusCollection ExecuteAudit(Person person) { var testPerson = new Person("Chad", 35); var auditz = new List <AuditRunner.AuditMethod <Person> >() { AuditTools.AttributesAreSame(testPerson, new string[] { "Age" }), IsNotChad, IsOld }; StatusCollection results = AuditRunner.RunAudits <Person>(person.Name /*Name for result collections*/, person /* Object to run audits on*/, auditz /* Audits to run */); return(results); }
public StatusCollection ExecuteAudit(Location location) { var testLoc = new Location("", new Coordinate(0, 0), 5.6m); var auditz = new List <AuditRunner.AuditMethod <Location> >() { AuditTools.LocationPopular, AuditTools.NotInNawamin, AuditTools.AttributesAreSame(testLoc, new string[] { "Rating" }), IsNotJelloWorld }; StatusCollection results = AuditRunner.RunAudits <Location>(location.Name /*Name for result collections*/, location /* Object to run audits on*/, auditz /* Audits to run */); return(results); }
public AuditResultProcess IsNotJelloWorld(Location l) { var res = new List <StatusObject>(); if (l.Name == "Jello World") { res.Add(new StatusObject(2, "Not Jello World", "This is Jello World!!!")); } else { res.Add(new StatusObject(2, "Not Jello World", "This is Jello World!!!")); } return(AuditTools.PipeResults(res)); }
public AuditResultProcess IsNotChad(Person p) { var res = new List <StatusObject>(); if (p.Name == "Chad") { res.Add(new StatusObject(2, "Not Chad", "This is Chad!!!")); } else { res.Add(new StatusObject(0, "Not Chad", p.Name + " is not Chad!!!")); } return(AuditTools.PipeResults(res)); }
public override DataObject GetDataObjectBySyncEntity( Guid appObjPK, Type appObjType, ObjectStatus changedObjStatus, DateTime changedDate) { var appObject = Helper.CreateDataObject(appObjType, appObjPK); if (changedObjStatus != ObjectStatus.Deleted) { //Откатываем вычитанный изменённый объект, к состоянию на дату изменения. AuditTools.GetObjForDate(changedDate, ref appObject, true, true); } //Если объект удалён, то создаём его экземпляр для передачи в сообщении ключа этого объекта. return(appObject); }
public AuditResultProcess IsOld(Person p) { var res = new List <StatusObject>(); if (p.Age >= 30) { res.Add(new StatusObject(2, "Is Old", p.Name + " is sooooo old bruh!")); } else if (p.Age > 18) { res.Add(new StatusObject(0, "Is Old", p.Name + "is still prety young!")); } else { res.Add(new StatusObject(1, "Is Old", p.Name + "is a little too young!")); } return(AuditTools.PipeResults(res)); }