Ejemplo n.º 1
0
 /// <summary>
 /// Permet d'enregistrer les informations de synchronisation lors de la sauvegarde d'un enregistrement en base
 /// </summary>
 /// <param name="entity">Entité en cours de sauvegarde</param>
 public void AddDatasSynchroOnSaveRecord(BasePoco entity)
 {
     //1. Recherche de la table de synchronisation pour cette entitée
     var table = SynchronisationTableAttribute.GetSynchronizableTable(typeof(SynchronizeService).GetTypeInfo().Assembly, entity.GetType());
     if (table != null)
     {
         //2. Création d'un enregistrement de tracking
         var trackingData = (TableSynchronize)Activator.CreateInstance(table.AsType());
         trackingData.Date = DateTime.Now;
         trackingData.IdObject = entity.Id;
         trackingData.ChecksumObject = GetChecksumObject(entity);
         trackingData.Save();
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Permet de renvoyer le checksum MD5 de l'entitée
 /// </summary>
 /// <param name="entity">Entité en sauvegarde</param>
 /// <returns>Checksum de l'entité</returns>
 private string GetChecksumObject(BasePoco entity)
 {
     return Md5.HashMd5(SerializeObjectToByteArray(entity));
 }