private async Task ClearItemTags(int itemId) { var item = await itemsCrudService.GetAsync(itemId); var itemTags = item.ItemTags.ToList(); await itemTagCrudService.DeleteRangeAsync(itemTags.Select(it => it.Id)); }
public async Task <IActionResult> GetItemTags(int id) { var tags = (await itemsCrudService.GetAsync(id)).ItemTags.Select(it => it.Tag).ToList(); var tagVM = mapper.Map <IEnumerable <TagJsonVM> >(tags); return(Json(tagVM)); }
protected async override Task BaseValidation(UpdateItemModel model) { var item = await itemsCrudService.GetAsync(model.ItemId); if (item is null) { ValidationResult.AddError("Item not found"); } var collection = await collectionsCrudService.GetAsync(model.CollectionId); if (collection is null) { ValidationResult.AddError("Collection not found"); } var owner = await userCrudService.GetAsync(model.OwnerId); if (owner is null) { ValidationResult.AddError("User not found"); } var resource = await resourceCrudService.GetAsync(model.ResourceId); if (resource is null) { ValidationResult.AddError("Resource not found"); } }
protected async override Task <bool> TrySetOwner(DeleteItemModel model) { var item = await itemsCrudService.GetAsync(model.ItemId); if (item is null) { return(false); } model.OwnerId = item.OwnerId; return(true); }
public async Task <IActionResult> Item(int id) { var item = await itemsCrudService.GetAsync(id); if (item is null) { return(RedirectToAction(nameof(Home.Index), nameof(Home))); } sessionHelper.RememberUserId(item.OwnerId); var itemVM = mapper.Map <ItemVM>(item); itemVM.Liked = item.ItemLikes.Any(il => il.UserId == sessionHelper.GetCurrentUserId()); return(View(itemVM)); }
protected async override Task BaseValidation(LikeItemModel model) { var user = await userCrudService.GetAsync(model.UserId); if (user is null) { ValidationResult.AddError("User not found"); } var item = await itemsCrudService.GetAsync(model.ItemId); if (item is null) { ValidationResult.AddError("Item not found"); } }
protected async override Task BaseValidation(DeleteItemModel model) { item = await itemsCrudService.GetAsync(model.ItemId); if (item is null) { ValidationResult.AddError("Item not found"); } owner = await userCrudService.GetAsync(model.OwnerId); if (owner is null) { ValidationResult.AddError("Owner not found"); } }
public async Task <IActionResult> EditItem(int id) { var item = await itemsCrudService.GetAsync(id); if (item is null) { return(RedirectToAction(nameof(Profile.Info), nameof(Profile))); } if (!User.IsInRole("admin") && item.OwnerId != sessionHelper.GetCurrentUserId()) { return(RedirectToAction(nameof(Home.Index), nameof(Home))); } var editVM = mapper.Map <EditItemVM>(item); return(View(editVM)); }
public async Task <DeleteItemResult> DeleteAsync(DeleteItemModel deleteItemModel) { var authResult = await authenticatorsStore.DeleteItemModelAuthenticator.AuthenticateAsync(deleteItemModel); if (!authResult.Succeed) { return(new DeleteItemResult(authResult)); } var validResult = await validatorsStore.DeleteItemModelValidator.ValidateAsync(deleteItemModel); if (!validResult.Succeed) { return(new DeleteItemResult(validResult)); } var result = new DeleteItemResult(); var itemResource = (await itemsCrudService.GetAsync(deleteItemModel.ItemId)).Resource; await itemsCrudService.DeleteAsync(deleteItemModel.ItemId); await resourcesManager.DeleteAsync(itemResource); return(result); }