/// <summary> /// Attention ne copie pas le nom /// </summary> /// <param name="dataext"></param> /// <param name="ecraser"></param> public void Fusion(ParamValuesNode dataext, bool ecraser = false) { if (ecraser || this._value == null) { if (ChangedState == System.Data.DataRowState.Unchanged && this._value != dataext._value) { ChangedState = System.Data.DataRowState.Modified; } this._value = dataext._value; } foreach (var itemd in dataext.Attributs) { if (ecraser || this[itemd.Key] == "") { this.SetObject(itemd.Key, itemd.Value); } } }
public bool SetData(string nameValue, object obj, DataAccessorOptionEnum AccesOptions) { if (ChangedState == System.Data.DataRowState.Unchanged) { ChangedState = System.Data.DataRowState.Modified; // !!! améliorer pour gérer les cas ou la valeur est identique et donc ne change pas vraiement } if (string.IsNullOrWhiteSpace(nameValue)) { this._value = obj; } // Si vide, c'est qu'il s'agit de l'objet principal else { // sinon il s'agit d'un attributxml if (this.Attributs.ContainsKey(nameValue)) { this.Attributs[nameValue] = obj; } else { this.Attributs.Add(nameValue.ToLowerInvariant(), obj); } } return(true); }
/// <summary> /// enregistre en base et dans le cache partagé /// </summary> public void SaveDirectInvoice(DirectInvoice directinvoice) { try { // Enregistrement des clef (données persistantes) en bases System.Data.DataRowState rowstate = directinvoice.GetRow().RowState; if (rowstate == System.Data.DataRowState.Detached || rowstate == System.Data.DataRowState.Added) { this.InsertBubble(directinvoice, true, false); } else { this.SaveBubble(directinvoice); } // Enregistrement des données non persistantes sur MemCached if (env != null) { StackExchange.Redis.ConnectionMultiplexer redis = StackExchange.Redis.ConnectionMultiplexer.Connect(GetRedisConfig()); StackExchange.Redis.IDatabase redisDb = redis.GetDatabase(); StackExchange.Redis.RedisValue val = directinvoice.ToStringData(); StackExchange.Redis.RedisKey key = directinvoice.IdDirectInvoice; redisDb.StringSet(key, val, null, StackExchange.Redis.When.Always, StackExchange.Redis.CommandFlags.None); // redng75Oj82p // !!! stocker dans memecached } } catch (Exception ex) { throw new Exception("SaveDirectInvoice " + ex.Message, ex); } }
public void AcceptChange() { this.ChangedState = System.Data.DataRowState.Unchanged; }
public AbsStorable() { State = System.Data.DataRowState.Added; }
public AbsStorable() { State = System.Data.DataRowState.Added; }