public void SetValue(dynamic value, [CallerMemberName] string property = "UnspecifiedProperty")
 {
     if (CurrentEntity.Value.GetType().GetProperty(property, BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.Instance) == null)
     {
         return;
     }
     if (!ChangeTracking.ContainsKey(property))
     {
         //HACK: doing this shit cuz jbcollection generating some error long after add no control to prevent error
         try
         {
             ChangeTracking.AddOrUpdate(property, value);
         }
         catch
         {
         }
     }
     else
     {
         ChangeTracking[property] = value;
     }
     this.RaisePropertyChanged(property);
 }
 public void SetValue(dynamic value, [CallerMemberName] string property = "UnspecifiedProperty")
 {
     if (State.Value.Entity.GetType().GetProperty(property, BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.Instance) == null)
     {
         return;
     }
     if (!ChangeTracking.ContainsKey(property))
     {
         //Hack: fix this
         try
         {
             ChangeTracking.AddOrUpdate(property, value);
         }
         catch
         {
         }
     }
     else
     {
         ChangeTracking[property] = value;
     }
     this.RaisePropertyChanged(property);
 }