public async Task Update( ISiteUser user, CancellationToken cancellationToken = default(CancellationToken)) { ThrowIfDisposed(); cancellationToken.ThrowIfCancellationRequested(); if (user == null) { throw new ArgumentException("user can't be null"); } if (user.SiteId == Guid.Empty) { throw new ArgumentException("user must have a siteguid"); } if (user.Id == Guid.Empty) { throw new ArgumentException("user must have a non empty guid for id"); } SiteUser siteUser = SiteUser.FromISiteUser(user); bool tracking = dbContext.ChangeTracker.Entries <SiteUser>().Any(x => x.Entity.Id == siteUser.Id); if (!tracking) { dbContext.Users.Update(siteUser); } int rowsAffected = await dbContext.SaveChangesAsync(cancellationToken) .ConfigureAwait(false) ; }
//protected string projectId; //private async Task EnsureProjectId() //{ // if (string.IsNullOrEmpty(projectId)) // { // projectId = await projectResolver.ResolveProjectId().ConfigureAwait(false); // } //} #region User public async Task Create( ISiteUser user, CancellationToken cancellationToken = default(CancellationToken)) { if (user == null) { throw new ArgumentException("user cannot be null"); } if (user.SiteId == Guid.Empty) { throw new ArgumentException("user must have a siteid"); } if (user.Id == Guid.Empty) { throw new ArgumentException("user must have a non-empty id"); } //await EnsureProjectId().ConfigureAwait(false); var projectId = user.SiteId.ToString(); var siteUser = SiteUser.FromISiteUser(user); await userCommands.CreateAsync( projectId, siteUser.Id.ToString(), siteUser, cancellationToken).ConfigureAwait(false); }
public async Task Create( ISiteUser user, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.ThrowIfCancellationRequested(); if (user == null) { throw new ArgumentException("user can't be null"); } if (user.SiteId == Guid.Empty) { throw new ArgumentException("user must have a siteid"); } if (user.Id == Guid.Empty) { throw new ArgumentException("user must have a non empty guid for id"); } SiteUser siteUser = SiteUser.FromISiteUser(user); using (var dbContext = _contextFactory.CreateContext()) { dbContext.Users.Add(siteUser); int rowsAffected = await dbContext.SaveChangesAsync(cancellationToken) .ConfigureAwait(false) ; } }
public async Task Update( ISiteUser user, CancellationToken cancellationToken = default(CancellationToken)) { cancellationToken.ThrowIfCancellationRequested(); if (user == null) { throw new ArgumentException("user can't be null"); } if (user.SiteId == Guid.Empty) { throw new ArgumentException("user must have a siteguid"); } if (user.Id == Guid.Empty) { throw new ArgumentException("user must have a non empty guid for id"); } SiteUser siteUser = SiteUser.FromISiteUser(user); using (var dbContext = _contextFactory.CreateContext()) { bool tracking = dbContext.ChangeTracker.Entries <SiteUser>().Any(x => x.Entity.Id == siteUser.Id); if (!tracking) { dbContext.Users.Update(siteUser); } else { var tracked = dbContext.ChangeTracker.Entries <SiteUser>().FirstOrDefault(x => x.Entity.Id == siteUser.Id); var s = tracked.State; if (s == EntityState.Unchanged) { tracked.State = EntityState.Detached; try { dbContext.Users.Update(siteUser); } catch (Exception) { } } } int rowsAffected = await dbContext.SaveChangesAsync(cancellationToken) .ConfigureAwait(false) ; } }
public async Task Create( ISiteUser user, CancellationToken cancellationToken = default(CancellationToken)) { ThrowIfDisposed(); cancellationToken.ThrowIfCancellationRequested(); if (user == null) { throw new ArgumentException("user can't be null"); } if (user.SiteId == Guid.Empty) { throw new ArgumentException("user must have a siteid"); } if (user.Id == Guid.Empty) { throw new ArgumentException("user must have a non empty guid for id"); } SiteUser siteUser = SiteUser.FromISiteUser(user); dbContext.Users.Add(siteUser); int rowsAffected = await dbContext.SaveChangesAsync(cancellationToken) .ConfigureAwait(false) ; //if (user.UserGuid == Guid.Empty) //{ // //user.UserId = siteUser.UserId; // user.UserGuid = siteUser.UserGuid; //} //return rowsAffected > 0; }