public Boolean InsertFeatureAccessProfile(String featureName, String userName, String roleName)
 {
     using (DockerDBEntities dockerDBEntities = new DockerDBEntities()) {
         FeatureAccessProfile fap = (from p in dockerDBEntities.FeatureAccessProfiles
                                     where p.FeatureProfile.FeatureName == featureName &&
                                     (p.aspnet_Users.UserName == userName || p.aspnet_Roles.RoleName == roleName)
                                     select p).FirstOrDefault();
         if (fap == null)
         {
             fap = new FeatureAccessProfile();
             fap.FeatureAccessProfileId = Guid.NewGuid();
             fap.LastUpdateDate         = DateTime.Now;
             fap.FeatureProfile         = (from p in dockerDBEntities.FeatureProfiles
                                           where p.FeatureName == featureName select p).First();
             if (!String.IsNullOrEmpty(userName))
             {
                 fap.aspnet_Users = (from p in dockerDBEntities.aspnet_Users
                                     where p.UserName == userName select p).First();
                 fap.UserId = fap.aspnet_Users.UserId;
             }
             if (!String.IsNullOrEmpty(roleName))
             {
                 fap.aspnet_Roles = (from p in dockerDBEntities.aspnet_Roles
                                     where p.RoleName == roleName select p).First();
                 fap.RoleId = fap.aspnet_Roles.RoleId;
             }
             fap.FeatureId = fap.FeatureProfile.FeatureId;
             dockerDBEntities.FeatureAccessProfiles.Add(fap);
             dockerDBEntities.SaveChanges();
             return(true);
         }
     }
     return(false);
 }
 public Boolean DeleteFeatureAccessProfile(String featureName, String userName, String roleName)
 {
     using (DockerDBEntities dockerDBEntities = new DockerDBEntities()) {
         FeatureAccessProfile fap = (from p in dockerDBEntities.FeatureAccessProfiles
                                     where p.FeatureProfile.FeatureName == featureName &&
                                     (p.aspnet_Users.UserName == userName || p.aspnet_Roles.RoleName == roleName)
                                     select p).First();
         dockerDBEntities.FeatureAccessProfiles.Remove(fap);
         dockerDBEntities.SaveChanges();
     }
     return(false);
 }