Exemple #1
0
        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();
        }
Exemple #2
0
        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"
            }));
        }
Exemple #4
0
        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();
 }