public async Task <IActionResult> PostTaskList([FromBody] ViewModel.TaskList taskList)
        {
            try
            {
                _logger.LogInformation("TaskController: PostTaskList() method is being invoked");
                if (!ModelState.IsValid)
                {
                    _logger.LogWarning("TaskController: PostTaskList() - Invalid input parameters are passed.");
                    return(BadRequest(ModelState));
                }
                var config       = new MapperConfiguration(cfg => { cfg.CreateMap <TaskList, Model.TaskList>(); });
                var mapper       = config.CreateMapper();
                var modelTask    = mapper.Map <TaskList, Model.TaskList>(taskList);
                var postResponse = await _taskRepo.CreateTask(modelTask);

                _logger.LogInformation("TaskController: PostTaskList() method is successfully invoked.");
                return(Ok(postResponse));
            }
            catch (Exception ex)
            {
                _logger.LogError("TaskController: Error Processing PutTaskList() method. Exception : {0}", ex.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
            //_context.TaskList.Add(taskList);
            //await _context.SaveChangesAsync();

            //return CreatedAtAction("GetTaskList", new { id = taskList.Id }, taskList);
        }
        public async Task <IActionResult> PutTaskList([FromRoute] int id, [FromBody] ViewModel.TaskList taskList)
        {
            try
            {
                _logger.LogInformation("TaskController: PutTaskList() method is being invoked");
                if (!ModelState.IsValid)
                {
                    _logger.LogWarning("TaskController: PutTaskList() - Model State in invalid. Please check the input parameters.");
                    return(BadRequest(ModelState));
                }
                if (id != taskList.Id)
                {
                    _logger.LogWarning("TaskController: PutTaskList() - Incorrect ID is passed");
                    return(BadRequest());
                }

                var config    = new MapperConfiguration(cfg => { cfg.CreateMap <TaskList, Model.TaskList>(); });
                var mapper    = config.CreateMapper();
                var modelTask = mapper.Map <TaskList, Model.TaskList>(taskList);

                _logger.LogInformation("TaskController: PutTaskList() method is successfully invoked");
                return(Ok(await _taskRepo.UpdateTask(id, modelTask)));
            }
            catch (Exception ex)
            {
                _logger.LogError("TaskController: Error Processing PutTaskList() method. Exception : {0}", ex.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }



            //_context.Entry(taskList).State = EntityState.Modified;

            //try
            //{
            //    await _context.SaveChangesAsync();
            //}
            //catch (DbUpdateConcurrencyException)
            //{
            //    if (!TaskListExists(id))
            //    {
            //        return NotFound();
            //    }
            //    else
            //    {
            //        throw;
            //    }
            //}

            //return NoContent();
        }