public ClientCategoryDTO BuildClientCategoryDTO(ClientCategory category)
        {
            var categoryDTO = new ClientCategoryDTO {
                CategoryId   = category.CategoryId,
                CategoryName = category.CategoryName,
                CreatedAt    = category.RegisterDate,
                Active       = category.Active
            };

            return(categoryDTO);
        }
        public async Task <IActionResult> AddCategory(ClientCategoryDTO clientCategory)
        {
            ClientCategory newCategory = new ClientCategory
            {
                CategoryName = clientCategory.CategoryName,
                RegisterDate = clientCategory.CreatedAt ?? DateTime.Now,
                Active       = clientCategory.Active
            };

            this._Context.ClientCategory.Add(newCategory);

            try
            {
                await this._Context.SaveChangesAsync();
            }
            catch
            {
                return(BadRequest());
            }

            return(Ok(clientCategoryBl.BuildClientCategoryDTO(newCategory)));
        }
        public async Task <IActionResult> UpdateCategory(ClientCategoryDTO clientCategory)
        {
            var categoryFromDataBase = await this._Context.ClientCategory.FindAsync(clientCategory.CategoryId);

            if (logicValidation.ValidateIfDataOfNull(categoryFromDataBase))
            {
                return(NotFound());
            }

            categoryFromDataBase.CategoryName = clientCategory.CategoryName;
            categoryFromDataBase.Active       = clientCategory.Active;
            this._Context.ClientCategory.Update(categoryFromDataBase);

            try
            {
                await this._Context.SaveChangesAsync();
            }
            catch
            {
                return(BadRequest());
            }
            return(Ok(clientCategoryBl.BuildClientCategoryDTO(categoryFromDataBase)));
        }