Example #1
0
        public async Task <Profile> Update(Profile model)
        {
            //namespaceid 0 cannot have unique nicks
            if (model.Uniquenick != null)
            {
                if (model.Namespaceid == 0 && model.Uniquenick.Length != 0)
                {
                    model.Uniquenick = null;
                }
            }
            model.User = null;
            var tracking = gameTrackerDb.ChangeTracker.QueryTrackingBehavior;

            gameTrackerDb.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;

            var nickCheckProfileid = await PerformNickChecks(model);

            if (await PerformUniqueNickChecks(model) && (!nickCheckProfileid.HasValue || nickCheckProfileid.Value == model.Id))
            {
                gameTrackerDb.ChangeTracker.QueryTrackingBehavior = tracking;
                var entry = gameTrackerDb.Update <Profile>(model);
                await gameTrackerDb.SaveChangesAsync();

                return(entry.Entity);
            }
            gameTrackerDb.ChangeTracker.QueryTrackingBehavior = tracking;
            return(null);
        }
Example #2
0
 public Task <PersistKeyedData> Update(PersistKeyedData model)
 {
     return(Task.Run(async() =>
     {
         var entry = gameTrackerDb.Update <PersistKeyedData>(model);
         await gameTrackerDb.SaveChangesAsync();
         return entry.Entity;
     }));
 }
Example #3
0
 public Task <PersistData> Update(PersistData model)
 {
     return(Task.Run(async() =>
     {
         model.Modified = DateTime.UtcNow;
         var entry = gameTrackerDb.Update <PersistData>(model);
         await gameTrackerDb.SaveChangesAsync();
         return entry.Entity;
     }));
 }
Example #4
0
 public Task <bool> Delete(UserLookup lookup)
 {
     return(Task.Run(async() =>
     {
         var users = (await Lookup(lookup)).ToList();
         foreach (var user in users)
         {
             user.Deleted = true;
             gameTrackerDb.Update <User>(user);
         }
         var num_modified = await gameTrackerDb.SaveChangesAsync();
         return users.Count > 0 && num_modified > 0;
     }));
 }