public JsonResult UnsubscribeFromTag(int tagId) { try { Tag tag = DatabaseContext.Tags.FirstOrDefault(t => t.Id == tagId); if (tag == null) { throw new ArgumentException("Выбранного тега не найдено"); } Resident resident = CurrentUser as Resident; ResidentTag residentTag = DatabaseContext.ResidentTags.FirstOrDefault(r => r.ResidentId == resident.Id && r.TagId == tag.Id); if (residentTag == null) { throw new ArgumentException("Пользователь не подписан на тег"); } DatabaseContext.ResidentTags.Remove(residentTag); DatabaseContext.SaveChanges(); return(Json(new { result = true })); } catch (Exception e) { Logger.Error(e.Message); return(Json(new { result = false })); } }
public JsonResult SubscribeToTag(int tagId) { try { Tag tag = DatabaseContext.Tags.FirstOrDefault(t => t.Id == tagId); if (tag == null) { throw new ArgumentException("Выбранного тега не найдено"); } Resident resident = CurrentUser as Resident; ResidentTag residentTag = new ResidentTag() { Resident = resident, Tag = tag }; DatabaseContext.ResidentTags.Add(residentTag); DatabaseContext.SaveChanges(); return(Json(new { result = true })); } catch (Exception e) { Logger.Error(e.Message); return(Json(new { result = false })); } }