public async Task <ActionResult <TasksCategoriesViewModel> > Post(TasksCategoriesViewModel entity)
        {
            TasksCategories maped = _mapper.Map <TasksCategories>(entity);
            await _repository.Add(maped);



            return(Ok(entity));
        }
        public IActionResult Create([FromBody] TasksCategoriesViewModel newTasksCategories)
        {
            //[FromBody]-> because the task category attributes declaring in body in the postman

            var tasksCategories = _mapper.Map <TasksCategories>(newTasksCategories);  //it will map object from TaskCategoryView into TasksCategories

            _tasksCategoriesRepository.createTasksCategories(tasksCategories);
            return(Ok(tasksCategories));
        }
        public IActionResult Update([FromBody] TasksCategoriesViewModel updatedTasksCategories)
        {
            //to update any attribute in task category by id
            var tasksCategories = _tasksCategoriesRepository.getTasksCategoriesById(updatedTasksCategories.CategoryId);

            if (tasksCategories == null)
            {
                return(NotFound());
            }
            _tasksCategoriesRepository.update(_mapper.Map(updatedTasksCategories, tasksCategories));
            return(Ok(_mapper.Map <TasksCategoriesViewModel>(tasksCategories)));
        }
        public async Task <IActionResult> Put(int categoryId, int taskId, TasksCategoriesViewModel entity)
        {
            TasksCategories maped       = _mapper.Map <TasksCategories>(entity);
            var             updatedTask = await _repository.Update(categoryId, taskId, maped);

            if (updatedTask == null)
            {
                return(NotFound());
            }


            return(Ok(entity));
        }