public IEnumerable <IFavourite> GetAll(int userId) { _connection.SqlConnection.Open(); var cmd = new MySqlCommand("SELECT * FROM favourite WHERE `UserId` = @UserId", _connection.SqlConnection); cmd.Parameters.AddWithValue("@UserId", userId); var reader = cmd.ExecuteReader(); var favouriteRecords = new List <IFavourite>(); while (reader.Read()) { var favourite = new FavouriteDto { favouriteId = (int)reader["favouriteId"], MovieId = (int)reader["MovieId"], UserId = (int)reader["UserId"], MovieName = reader["MovieName"]?.ToString() }; favouriteRecords.Add(favourite); } _connection.SqlConnection.Close(); return(favouriteRecords); }
public async Task FavouriteAndUnfavouritePostTest() { HttpClient client = _testServer.CreateClient(2); FavouriteDto postLikeDto = new FavouriteDto { PostId = 1 }; HttpResponseMessage createResponse = await client.PostAsync(_apiEndpoint + "api/favourite/post", postLikeDto, new JsonMediaTypeFormatter()); Assert.AreEqual(HttpStatusCode.Created, createResponse.StatusCode); HttpResponseMessage duplicateCreateResponse = await client.PostAsync(_apiEndpoint + "api/favourite/post", postLikeDto, new JsonMediaTypeFormatter()); Assert.AreEqual(HttpStatusCode.OK, duplicateCreateResponse.StatusCode); HttpResponseMessage deleteResponse = await client.PostAsync(_apiEndpoint + "api/favourite/delete", postLikeDto, new JsonMediaTypeFormatter()); Assert.AreEqual(HttpStatusCode.OK, deleteResponse.StatusCode); HttpResponseMessage duplicateDeleteResponse = await client.PostAsync(_apiEndpoint + "api/favourite/delete", postLikeDto, new JsonMediaTypeFormatter()); Assert.AreEqual(HttpStatusCode.NoContent, duplicateDeleteResponse.StatusCode); }
public async Task <int> AddtoFavourite(FavouriteDto favDto, CancellationToken cancellationToken) { var model = _mapper.Map <Favourite>(favDto); model.CreatedBy = favDto.LDAPUser_id; model.ModifiedBy = favDto.LDAPUser_id; await _repo.AddtoFavourite(model, cancellationToken).ConfigureAwait(false); int FavId = 1; //Bind from return(FavId); }
public async Task RemoveFavouriteInvalidPostIdTest() { HttpClient client = _testServer.CreateClient(2); FavouriteDto favouriteDto = new FavouriteDto { PostId = -1 }; HttpResponseMessage duplicateDeleteResponse = await client.PostAsync(_apiEndpoint + "api/favourite/delete", favouriteDto, new JsonMediaTypeFormatter()); Assert.AreEqual(HttpStatusCode.NotFound, duplicateDeleteResponse.StatusCode); }
public IActionResult Delete([FromBody] FavouriteDto favouriteDto) { try { ClaimsIdentity identity = HttpContext.User.Identity as ClaimsIdentity; int userId = int.Parse(identity.FindFirst(ClaimTypes.NameIdentifier).Value); _service.DeleteFavourite(userId, favouriteDto.PostId); return(Ok()); } catch (FavouriteNotFoundException) { return(NoContent()); } catch (PostNotFoundException) { return(NotFound()); } }
public IActionResult Create([FromBody] FavouriteDto favouriteDto) { try { ClaimsIdentity identity = HttpContext.User.Identity as ClaimsIdentity; int userId = int.Parse(identity.FindFirst(ClaimTypes.NameIdentifier).Value); _service.CreateFavourite(userId, favouriteDto.PostId); return(StatusCode(StatusCodes.Status201Created)); } catch (FavouriteAlreadyExistsException) { return(Ok()); } catch (PostNotFoundException) { return(NotFound()); } }
public IHttpActionResult Favour(FavouriteDto dto) { var userId = User.Identity.GetUserId(); var favouriteExists = _unitOfWork.Favourites.FavouriteExists(userId, dto.PlanId); if (favouriteExists) { return(BadRequest("The Favourite instance already exists")); } var favourite = new Favourite { PlanId = dto.PlanId, FavouriterId = userId }; _unitOfWork.Favourites.Add(favourite); _unitOfWork.Complete(); return(Ok()); }
public async Task <IActionResult> AddToFavourite(FavouriteDto favDto, CancellationToken cancellationToken) { try { int result = await _service.AddtoFavourite(favDto, cancellationToken).ConfigureAwait(false); if (result == 0) { return(BadRequest()); } else { return(Ok("Addded To Favourite")); } } catch (Exception ex) { await _errorlogService.InsertError(Request.GetDisplayUrl(), ControllerContext.ActionDescriptor.ActionName.ToString(), ex.Message, ex.ToString()).ConfigureAwait(false); return(StatusCode(500, ex.InnerException)); } }