public void AssignFuncToUser(string userId, string funcCode, AccessLevel level) { var dbEntity = dataContext.P_User2Functions.Where(o => o.UserId == userId && o.FuncCode == funcCode).SingleOrDefault(); if (dbEntity == null) { dbEntity = new P_User2Function(); dbEntity.UserId = userId; dbEntity.FuncCode = funcCode; dataContext.P_User2Functions.Add(dbEntity); } dbEntity.AccessLevel = (int)level; dataContext.SaveChanges(); }
public void AssignWholeFuncsToUser(string userId, List <FuncAssignation> funcCodes) { var query = from o in dataContext.P_User2Functions where o.UserId == userId select o; dataContext.P_User2Functions.RemoveRange(query); dataContext.SaveChanges(); foreach (var funcCodeObj in funcCodes) { var dbEntity = new P_User2Function(); dbEntity.UserId = userId; dbEntity.FuncCode = funcCodeObj.FuncCode; if (funcCodeObj.AccessLevel != null) { dbEntity.AccessLevel = (int)funcCodeObj.AccessLevel.Value; } dataContext.P_User2Functions.Add(dbEntity); } dataContext.SaveChanges(); }