public void Save(CharacterContext context) { if (saveMask == AmpSaveMask.None) { return; } var model = new CharacterActionSetAmpModel { Id = actionSet.Owner, SpecIndex = actionSet.Index, AmpId = (byte)Entry.Id }; if ((saveMask & AmpSaveMask.Create) != 0) { context.Add(model); } else if ((saveMask & AmpSaveMask.Delete) != 0) { context.Entry(model).State = EntityState.Deleted; } saveMask = AmpSaveMask.None; }
/// <summary> /// Create a new <see cref="ActionSetAmp"/> from supplied <see cref="EldanAugmentationEntry"/>. /// </summary> public ActionSetAmp(ActionSet actionSet, EldanAugmentationEntry entry, bool isDirty) { Entry = entry; this.actionSet = actionSet; if (isDirty) { saveMask = AmpSaveMask.Create; } }
/// <summary> /// Enqueue or dequeue <see cref="ActionSetAmp"/> to be deleted from the database. /// </summary> public void EnqueueDelete(bool set) { if (set) { saveMask |= AmpSaveMask.Delete; } else { saveMask &= ~AmpSaveMask.Delete; } }