Example #1
0
        public override void Save(CharacterContext context)
        {
            if (saveMask == SaveMask.None)
            {
                return;
            }

            if ((saveMask & SaveMask.Create) != 0)
            {
                context.Add(new CharacterAchievementModel
                {
                    Id            = characterId,
                    AchievementId = Id,
                    Data0         = Data0,
                    Data1         = Data1,
                    DateCompleted = DateCompleted
                });
            }
            else
            {
                var model = new CharacterAchievementModel
                {
                    Id            = characterId,
                    AchievementId = Id
                };

                EntityEntry <CharacterAchievementModel> entity = context.Attach(model);
                if ((saveMask & SaveMask.Data0) != 0)
                {
                    model.Data0 = Data0;
                    entity.Property(p => p.Data0).IsModified = true;
                }
                if ((saveMask & SaveMask.Data1) != 0)
                {
                    model.Data1 = Data1;
                    entity.Property(p => p.Data1).IsModified = true;
                }
                if ((saveMask & SaveMask.TimeCompleted) != 0)
                {
                    model.DateCompleted = DateCompleted;
                    entity.Property(p => p.DateCompleted).IsModified = true;
                }
            }

            saveMask = SaveMask.None;
        }
Example #2
0
 /// <summary>
 /// Create a new <see cref="CharacterAchievement"/> from an existing database model.
 /// </summary>
 public CharacterAchievement(CharacterAchievementModel model, AchievementInfo info)
     : base(info, model.Data0, model.Data1, model.DateCompleted, false)
 {
     characterId = model.Id;
 }