public IActionResult Delete([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = new UserCreditsManager(context, userManager).DeleteUserCreditById(id);

            return(Ok(new { success = result.Success, message = result.Message, data = result.Data }));
        }
        public IActionResult Post([FromBody] AddUserCreditModel addUserCreditModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var creditsModel = new UserCreditModel {
                UserId = User.FindFirst(ClaimTypes.NameIdentifier).Value, Production = addUserCreditModel.Production, TalentId = addUserCreditModel.TalentId
            };
            var result = new UserCreditsManager(context, userManager).SaveUserCredit(creditsModel);

            return(Ok(new { success = result.Success, message = result.Message, data = result.Data }));
        }
        public IActionResult Get([FromRoute] string userId)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = new UserCreditsManager(context, userManager).GetUserCreditByUserId(userId);

            if (result.Data == null)
            {
                return(NotFound());
            }
            return(Ok(new { success = result.Success, message = result.Message, data = result.Data }));
        }
        public IActionResult Put([FromRoute] int id, [FromBody] UserCreditModel creditsModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (id != creditsModel.Id)
            {
                return(BadRequest());
            }
            var result = new UserCreditsManager(context, userManager).UpdateUserCredit(creditsModel);

            return(Ok(new { success = result.Success, message = result.Message, data = result.Data }));
        }
        public IActionResult Get([FromQuery] PaginationParameters paginationParameters)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = new UserCreditsManager(context, userManager).GetAllUserCredits(paginationParameters.Skip, paginationParameters.Take);

            if (result.Data == null)
            {
                return(NoContent());
            }
            return(Ok(new { success = result.Success, message = result.Message, data = result.Data }));
        }