public bool AssignMenuForRole(List<RoleMenu> newList)
{
if (newList != null)
{
int roleId = (int)newList[0].RoleId;
using (ePRGEntities dbContext = new ePRGEntities())
{
var oldEntitys_query = from item in dbContext.RoleMenu where item.RoleId == roleId select item;
var oldEntitys = oldEntitys_query.ToList();
//delete no need olds (in old but cancel checked now)
foreach (var oldEntity in oldEntitys)
{
if (newList.Where(o => o.MenuId == oldEntity.MenuId).Count() == 0)
{
dbContext.RoleMenu.Remove(oldEntity);
dbContext.SaveChanges();
}
}
//add new adds (don't exists yet)
foreach (var newEntity in newList)
{
if (oldEntitys.Where(o => o.MenuId == newEntity.MenuId).Count() == 0)
{
dbContext.RoleMenu.Add(newEntity);
dbContext.SaveChanges();
}
}
return true;
}
}
return false;
}