public void FavoriteProj(long[] pids, bool isFavorite) { pids = (pids ?? new long[0]).Where(p => p > 0).Distinct().ToArray(); if (pids.Length == 0) { return; } var now = DateTime.Now; _UserFavoriteRepository.AddAndDeleteExcept(p => p.uid == _Uid, pids, (u, v) => u.pid == v, (u, v) => { u.isEnabled = isFavorite; u.Updated = now; }, u => { return(false); }, v => new UserFavorite() { isEnabled = isFavorite, pid = v, uid = _Uid, Updated = now }); }