public void Save() { if (detailsXML != null && detailsXML.Length > 4000) { Global.Logger.LogWarning(String.Format("Event {0} was not saved because it is more than 4000 chars", id)); return; } if (fromUsername != null) { User user = null; try { user = User.Load(fromUsername); } catch (NotFoundException) { return; } switch (type) { case eType.FriendBirthday: case eType.FriendUpdatedProfile: case eType.FriendAttendingEvent: case eType.NewGroupPhoto: case eType.FriendEntersContest: case eType.FriendJoinedGroup: case eType.FriendLeftGroup: case eType.NewPhotoComment: case eType.NewFriendPhoto: case eType.NewFriendVideoUpload: case eType.NewFriendBlogPost: case eType.NewFriendGroup: case eType.NewFriendFriend: case eType.NewGroupTopic: // case eType.NewGroupEvent: // if (!IsEventsSettingEnabled(type, user)) return; // break; case eType.NewProfileComment: case eType.FriendUpdatedStatus: case eType.TaggedOnPhoto: case eType.NewFriendAudioUpload: case eType.NewFriendYouTubeUpload: case eType.RemovedFriendFriend: case eType.NewFriendRelationship: case eType.RemovedFriendRelationship: if (!IsEventsSettingEnabled(type, user)) return; break; } using (var db = new AspNetDatingDataContext()) { var result = db.SaveEvent(id, (int?)type, fromUsername, fromGroup, detailsXML, date); if (id == null) id = result.First().Id; } } }