public void SeedPolicy() { var pp = authorizationDbContext.Permissions .Where(p => p.TenantId.Equals(mainTenant.Id)) .Include(p => p.Roles) .ThenInclude(p => p.Role) .ToList(); if (pp.Count == 0) { logger.LogInformation("Creating all permissions from enum"); foreach (Permissions p in Enum.GetValues(typeof(Permissions))) { pp.Add(new Permission { Name = p.ToString(), TenantId = mainTenant.Id }); } authorizationDbContext.Permissions.AddRange(pp); } var admin = authorizationDbContext.Roles .Where(p => p.TenantId.Equals(mainTenant.Id)) .Include(p => p.Permissions) .ThenInclude(p => p.Permission) .FirstOrDefault(p => p.Name.Equals("Admin")); if (admin == null) { logger.LogInformation("cannot find admin subject"); admin = new Role { //Value = Guid.Parse(alice.Id), TenantId = mainTenant.Id, Name = "Admin", Subjects = new List <Subject> { new Subject { TenantId = mainTenant.Id, Value = Guid.Parse(alice.Id) }, //new Subject{TenantId= tenantId, Value=Guid.Parse("e3cc45c3-abb7-4a58-9267-15ea763706ee")}, } }; var userChangePermission = pp.Where(p => p.Name.Equals(Permissions.UserChange.ToString())).Single(); admin.Permissions.Add(new PermissionRole { Permission = userChangePermission }); logger.LogInformation("Creating admin role"); authorizationDbContext.Roles.Add(admin); } authorizationDbContext.SaveChanges(); }
private void InsertDataToDataBase() { Subdivision subdivision; if (SubdivisionsComboBoxInsertTab.Text != Empty) { var existingSubdivision = _dbContext .Subdivisions .SingleOrDefault(s => s.Name == SubdivisionsComboBoxInsertTab.Text); subdivision = existingSubdivision; } else { var newSubdivision = new Subdivision { Name = SubdivisionNameTextBox.Text, Phone = SubdivizionPhoneTextBox.Text, LeaderFirstName = LeaderFirstNameTextbox.Text, LeaderLastName = LeaderLastNameTextBox.Text }; subdivision = _dbContext.Subdivisions.Add(newSubdivision); } var agent = new Agent { Name = AgentNameTextBox.Text, Address = AgentAddressTextBox.Text, Phone = AgentPhoneTextBox.Text }; var addesAgent = _dbContext.Agents.Add(agent); var authorization = new Authorization { ASVF = ASVFTextBox.Text, EliberationDate = EliberationDateTime.Value.Date, ExpireDate = ExpirationDateTime.Value.Date, AuthorizatedObjectName = ObjectNameTextBox.Text, AuthorizatedObjectAddress = ObjectAddressTextBox.Text, AuthorizatedObjectPhone = ObjectPhoneTextBox.Text, SubdivisionId = subdivision.Id, AgentId = addesAgent.Id, }; var addedAuthorization = _dbContext.Authorizations.Add(authorization); var checkedActivities = ActivityListInsertTab.CheckedItems; foreach (string item in checkedActivities) { var activity = _dbContext.ActivityProfiles.Where(ap => ap.Activity == item).SingleOrDefault(); _dbContext.Authorizations.Find(addedAuthorization.Id).ActivityProfiles.Add(activity); } _dbContext.SaveChanges(); }
public IActionResult Delete(String eventId) { int id = int.Parse(eventId); Event e = DbContext .Events .Include(e => e.Creator) .Where(e => e.EventId == id) .FirstOrDefault(); if (e == null) { return(NotFound( new CRUDResponse { IsSuccess = false, Message = "Event with ID " + eventId + " was not found" })); } DbContext.Entry(e).Reference(p => p.Creator).Load(); var currentUser = GetCurrentUser(); if ( // creator of this event has been deleted from the db e.Creator == null // user which is trying to deleted the event does not have permissions || e.Creator.Id != currentUser.Id) { return(Unauthorized( new CRUDResponse { IsSuccess = false, Message = "You do not have permissions to delete event with id " + eventId })); } DbContext.Events.Remove(e); DbContext.SaveChanges(); return(Ok(new CRUDResponse { IsSuccess = true, Message = "Event has been deleted" })); }
private string CreateRefreshToken(UserDetails userDetails) { string refreshToken = tokenService.CreateRefreshToken(); authorizationContext.RefreshTokens.Add(new RefreshToken() { Token = refreshToken, CreatedAt = DateTime.Now, UserId = userDetails.Username }); authorizationContext.SaveChanges(); return(refreshToken); }
public void Save() { authorizationDbContext.SaveChanges(); }