private async Task SaveTagsOfMeal(Meal item, int groupId) { var tags = await tagRepository.All(groupId); foreach (var tagNotSaved in item.Tags.Except(tags)) { await this.tagRepository.Save(tagNotSaved, groupId); } var allTags = await this.tagRepository.All(groupId); foreach (var tag in item.Tags.Where(x => !x.Id.HasValue)) { tag.Id = allTags.FirstOrDefault(x => x.Value.Equals(tag.Value, StringComparison.InvariantCultureIgnoreCase)).Id; } var deleteAllQuery = "delete TagsOfMeals where MealId=@mealid"; var insertQuery = "insert into TagsOfMeals(MealId, TagId) values (@mealid, @tagid)"; using (var connection = new SqlConnection(this.connectionString)) { await connection.OpenAsync(); var transaction = connection.BeginTransaction(); await connection.ExecuteAsync(deleteAllQuery, new { mealid = item.Id }, transaction); foreach (var tag in item.Tags) { await connection.ExecuteAsync(insertQuery, new { mealid = item.Id, tagid = tag.Id }, transaction); } transaction.Commit(); connection.Close(); } }
public ActionResult Tags() { var allTags = _tagRepository.All().OrderBy(t => t.Name).ToList(); return(PartialView("Tags", new TagsViewModel { Tags = allTags })); }
public List <Tag> All() { return(_repo.All().OrderBy(t => t.Label).ToList()); }
public List <Tag> All() { return(_tagRepository.All().ToList()); }
public List <Tag> GetTagList() { return(repoTag.All().ToList()); }