public Task AddBookToShelf([FromBody] AddBookToShelfRequest request) { //return _bookService.AddBookToShelf(request, UserId); #region tmp ki lesz veve return(_bookService.AddBookToShelf(request, request.UserIdentifier)); #endregion }
public async Task AddBookToShelf(AddBookToShelfRequest request, string userIdentifier) { var entity = _mapper.Map <UserBook>(request); entity.UserIdentifier = userIdentifier; var alreadyAdded = await _context.UserBooks.AsNoTracking().AnyAsync(ub => ub.BookId == request.BookId && ub.UserIdentifier == userIdentifier); if (alreadyAdded) { throw new HbrException("Ez a könyv már hozzá van adva ennek a polcához!"); } await _context.UserBooks.AddAsync(entity); await _context.SaveChangesAsync(); }
private async void OnClick(object sender, EventArgs e) { var config = new ConfirmConfig { CancelText = "Mégse", OkText = "Igen", Title = "Könyv felvétele", Message = "Felveszi ezt a könyvet a személyet polcára?" }; var result = await UserDialogs.Instance.ConfirmAsync(config); if (!result) { return; } using (var client = new HttpClient()) { var dialog = UserDialogs.Instance.Loading("Loading"); var view = (View)sender; var position = RecyclerView.GetChildAdapterPosition(view); var book = Adapter.QueryResult[position]; var request = new AddBookToShelfRequest { BookId = book.BookId, Progress = 1, #region tmp ki lesz veve UserIdentifier = HbrApplication.UserIdentifier, #endregion }; await client.PostAsJsonAsync("https://hbr.azurewebsites.net/api/book/addbooktoshelf", request); Database.Instance.AddElement(book); Adapter.QueryResult.RemoveAt(position); Adapter.NotifyDataSetChanged(); dialog.Dispose(); } }