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);
        }
Exemple #2
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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());
            }
        }
Exemple #6
0
        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));
            }
        }