Example #1
0
        public IHttpActionResult PostAspNetResource(AspNetResource aspNetResource)
        {
            aspNetResource.Id         = Guid.NewGuid().ToString();
            aspNetResource.CreatedBy  = User.Identity.Name;
            aspNetResource.ModifiedBy = User.Identity.Name;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.AspNetResources.Add(aspNetResource);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (AspNetResourceExists(aspNetResource.Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
Example #2
0
        public IHttpActionResult PutAspNetResource(string id, AspNetResource aspNetResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != aspNetResource.Id)
            {
                return(BadRequest());
            }

            db.Entry(aspNetResource).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AspNetResourceExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #3
0
        public IHttpActionResult GetAspNetResource(string id)
        {
            AspNetResource aspNetResource = db.AspNetResources.Find(id);

            if (aspNetResource == null)
            {
                return(NotFound());
            }

            return(Ok(aspNetResource));
        }
Example #4
0
        public IHttpActionResult DeleteAspNetResource(string id)
        {
            AspNetResource aspNetResource = db.AspNetResources.Find(id);

            if (aspNetResource == null)
            {
                return(NotFound());
            }

            db.AspNetResources.Remove(aspNetResource);
            db.SaveChanges();

            return(Ok(aspNetResource));
        }
Example #5
0
        private static void AddPermissions(List <SeedResource> resources, ApplicationDbContext context, List <ApplicationRole> dbRoles)
        {
            foreach (SeedResource seedResource in resources)
            {
                var dbResource = context.AspNetResources.FirstOrDefault(x => x.Name == seedResource.Name);

                if (dbResource == null)
                {
                    dbResource = new AspNetResource()
                    {
                        Name       = seedResource.Name,
                        IsPublic   = seedResource.IsPublic,
                        Id         = Guid.NewGuid().ToString(),
                        Created    = DateTime.Now,
                        Modified   = DateTime.Now,
                        CreatedBy  = admin,
                        ModifiedBy = admin
                    };
                    context.AspNetResources.Add(dbResource);
                    context.SaveChanges();
                    Console.WriteLine("Adding Resource: " + dbResource.Name);
                }

                var allowedRoles = seedResource.Permissions.ToList();
                foreach (string allowedRole in allowedRoles)
                {
                    var dbRole     = dbRoles.First(x => x.Name == allowedRole);
                    var permission =
                        context.AspNetPermission.FirstOrDefault(x => x.RoleId == dbRole.Id && x.ResourceId == dbResource.Id);
                    if (permission == null)
                    {
                        permission = new AspNetPermission()
                        {
                            IsAllowed  = true,
                            ResourceId = dbResource.Id,
                            RoleId     = dbRole.Id,
                            Id         = Guid.NewGuid().ToString(),
                            Created    = DateTime.Now,
                            Modified   = DateTime.Now,
                            CreatedBy  = admin,
                            ModifiedBy = admin
                        };
                        context.AspNetPermission.Add(permission);
                        context.SaveChanges();
                        Console.WriteLine("Adding permission : resource - " + dbResource.Name + "\t role - " + dbRole.Name);
                    }
                }
            }
        }