/// <summary> /// Удалить комментарий. /// </summary> /// <param name="cafeName"> Название кафе. </param> /// <returns> /// Возвращает true, если комментарий успешно удален. /// Если комментария нет, то возвращает false. /// </returns> public bool DeleteComment(Cafe cafe) { #region Проверка if (cafe == null) { throw new ArgumentNullException($"{nameof(cafe)} не может быть null", nameof(cafe)); } if (Cafes.FirstOrDefault(c => c.Name == cafe.Name) == null) { throw new ArgumentException("Не существует кафе с таким названием", nameof(cafe.Name)); } #endregion var comments = GetComments(); var comment = comments.SingleOrDefault(c => c.User.Name == CurrentUser.Name && c.CafeName == cafe.Name); if (comment == null) { return(false); } else { comments.Remove(comment); } Save(comments); return(true); }
/// <summary> /// Получить кафе с таким названием. /// </summary> /// <param name="cafeName"> Название кафе. </param> /// <returns> Кафе или null, если такого нет. </returns> public Cafe GetCafe(string cafeName) { if (string.IsNullOrWhiteSpace(cafeName)) { throw new ArgumentException($"{nameof(cafeName)} не может быть пустым или содержать только пробел", nameof(cafeName)); } return(Cafes.FirstOrDefault(c => c.Name == cafeName)); }
/// <summary> /// Добавить комментарий. /// </summary> /// <param name="cafe"> Кафе. </param> /// <param name="userComment"> Комментарий. </param> public void AddComment(UserComment userComment) { #region Проверка if (userComment == null) { throw new ArgumentNullException($"{nameof(userComment)} не может быть null", nameof(userComment)); } if (Cafes.FirstOrDefault(c => c.Name == userComment.CafeName) == null) { throw new ArgumentException("Не существует кафе с таким названием", nameof(userComment.CafeName)); } #endregion var comments = GetComments(); var oldComment = comments.SingleOrDefault(c => c.User.Name == CurrentUser.Name); if (oldComment != null) { comments.Remove(oldComment); } comments.Add(userComment); Save(comments); }