public async Task <int> Add(EF.EndUser args) { var salt = Core.Crypto.GenerateSalt(); var enc = Core.Crypto.Hash(args.PasswordHash ?? Guid.NewGuid().ToString(), salt); // default RoleId // User var roleId = 2; // Generate ConfirmationCode Guid g = Guid.NewGuid(); string guidString = Convert.ToBase64String(g.ToByteArray()); guidString = guidString.Replace("=", ""); guidString = guidString.Replace("+", ""); args.PasswordHash = enc; args.PasswordSalt = Convert.ToBase64String(salt); args.RoleId = args.RoleId == 0 ? roleId : args.RoleId; args.LastSessionId = Guid.NewGuid().ToString(); args.LastLoginDate = DateTime.Now; args.DateCreated = args.LastLoginDate.Value; args.ConfirmationCode = args.ConfirmationCode ?? guidString; args.ConfirmationExpiry = DateTime.Now.AddHours(12); await unitOfWork.EndUserRepository.AddAsync(args); unitOfWork.Commit(); return(args.UserId); }
public async Task UpdateRole(EF.EndUser endUser) { var rec = unitOfWork.EndUserRepository.Entities.First(x => x.MemberId == endUser.MemberId); rec.RoleId = endUser.RoleId; await unitOfWork.CommitAsync(); }
public async Task UpdateRole([FromBody] Models.Member args) { var bll_u = endUserBusiness; var u = new EF.EndUser(); u.MemberId = args.Id; u.RoleId = args.RoleId.Value; await bll_u.UpdateRole(u); }
public async Task <bool> IsSelectedIdsOk(int[] ids, EF.EndUser user) { switch (user.RoleId) { case 1: case 3: return(await unitOfWork.GroupRepository.Entities.Where(x => ids.Contains(x.Id) && x.GroupCategory.CommunityId == user.Member.CommunityId).CountAsync() == ids.Count()); default: return(await unitOfWork.GroupRepository.Entities.Where(x => ids.Contains(x.Id) && x.GroupCategory.CommunityId == user.Member.CommunityId).CountAsync() == ids.Count() && await unitOfWork.GroupRepository.Entities.Where(x => ids.Contains(x.Id) && x.GroupLeader == user.MemberId).CountAsync() == ids.Count()); } }
public async Task Edit(EF.EndUser args) { var rec = unitOfWork.EndUserRepository.Entities.First(x => x.UserId == args.UserId); rec.PasswordHash = args.PasswordHash; rec.PasswordSalt = args.PasswordSalt; rec.RoleId = args.RoleId; rec.LastPasswordChanged = args.LastPasswordChanged; rec.DateConfirmed = args.DateConfirmed; rec.ConfirmationCode = args.ConfirmationCode; rec.ConfirmationExpiry = args.ConfirmationExpiry; rec.DateInactive = args.DateInactive; await unitOfWork.CommitAsync(); }
private async Task AddClaimsAndSignIn(EF.EndUser args) { var ci = new ClaimsIdentity( new[] { // User info new Claim(ClaimTypes.NameIdentifier, args.UserId.ToString()), new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity", "http://www.w3.org/2001/XMLSchema#string"), new Claim(ClaimTypes.Name, args.Member.Name), new Claim(ClaimTypes.Email, args.Member.Email), new Claim(ClaimTypes.UserData, Core.JWT.GenerateToken(args.UserId, Core.Setting.Configuration.GetValue <string>("JWT:Secret"))), // Role new Claim(ClaimTypes.Role, args.Role.Name), }, "MyCookieMiddlewareInstance"); ClaimsPrincipal principal = new ClaimsPrincipal(); principal.AddIdentity(ci); await HttpContext.SignInAsync("MyCookieMiddlewareInstance", principal); }
public async Task Delete(EF.EndUser args) { unitOfWork.EndUserRepository.Remove(args); await unitOfWork.CommitAsync(); }
public Task <EF.EndUser> Get(EF.EndUser args) { throw new NotImplementedException(); }
public IQueryable <EF.EndUser> Find(EF.EndUser args) { throw new NotImplementedException(); }
public async Task <bool> AreSelectedIdsOk(int[] ids, EF.EndUser user) { return(await unitOfWork.GroupCategoryRepository.Entities.Where(x => ids.Contains(x.Id) && x.CommunityId == user.Member.CommunityId).CountAsync() == ids.Count()); }