/// <summary>
        /// this is for only enum type parse. CategoryType to CategoryTypeVM
        /// </summary>
        /// <param name="TypeChange"></param>
        /// <returns></returns>
        private CatagoryType TypeChange(CatagoryTypeVM catagoryTypeVm)
        {
            _logger.LogInformation("TypeChange called.");
            CatagoryType catagoryTypes = CatagoryType.Asset;

            Enum.TryParse <CatagoryType>(catagoryTypeVm.ToString(), out catagoryTypes);
            return(catagoryTypes);
        }
        /// <summary>
        /// this is for only enum type parse. CategoryTypeVM to CategoryType
        /// </summary>
        /// <param name="TypeChanger"></param>
        /// <returns></returns>
        private CatagoryTypeVM TypeChanger(CatagoryType catagoryType)
        {
            _logger.LogInformation("TypeChanger called.");
            CatagoryTypeVM catagoryTypeVm = CatagoryTypeVM.Asset;

            Enum.TryParse <CatagoryTypeVM>(catagoryType.ToString(), out catagoryTypeVm);
            return(catagoryTypeVm);
        }
 public async Task <IActionResult> Post([FromBody] CatagoryType entity)
 {
     try
     {
         if (!isValid(entity))
         {
             return(new BadRequestResult());                   // This returns HTTP 404
         }
         return(Ok(await agent.Add <CatagoryType>(entity)));
     }
     catch (Exception ex)
     {
         return(await HandleExceptionAsync(ex));
     }
 }
 public async Task <IActionResult> Put(int id, [FromBody] CatagoryType entity)
 {
     try
     {
         if (id < 0 || !isValid(entity))
         {
             return(new BadRequestResult());                           // This returns HTTP 404
         }
         return(Ok(await agent.Update <CatagoryType>(id, entity)));
     }
     catch (Exception ex)
     {
         return(await HandleExceptionAsync(ex));
     }
 }
        public async Task Post()
        {
            //Arrange
            var entity = new CatagoryType()
            {
                Name = "newCatagory", Description = "New mock catagory 3"
            };


            //Act
            var response = await controller.Post(entity);

            // Assert
            var okResult = Assert.IsType <OkObjectResult>(response);
            var result   = Assert.IsType <Role>(okResult.Value);


            Assert.Equal("newRole", result.Name);
            Assert.Equal("New mock role 3", result.Description);
        }