public async Task <IActionResult> Create([FromBody] CompanyCertificateResource companyCertificateResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await _authService.GetUserFromAuthHeader(Request);

            if (user == null)
            {
                return(Unauthorized());
            }

            var companyCertificate = _mapper.Map <CompanyCertificate>(companyCertificateResource);

            companyCertificate.CreatedOn   = DateTime.Now;
            companyCertificate.CreatedById = user.Id;
            companyCertificate.CompanyId   = user.CompanyId;

            companyCertificate = await _companyCertificateRepository.Add(companyCertificate);

            await _unitOfWork.CompleteAsync();

            return(Ok(companyCertificate));
        }
        public async Task <IActionResult> Update(string id, [FromBody] CompanyCertificateResource companyCertificateResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var companyCertificate = await _companyCertificateRepository.GetById(id);

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

            _mapper.Map <CompanyCertificateResource, CompanyCertificate>(companyCertificateResource, companyCertificate);

            await _unitOfWork.CompleteAsync();

            companyCertificate = await _companyCertificateRepository.GetById(id);

            var updatedCompanyResource = _mapper.Map <CompanyCertificate, CompanyCertificateResource>(companyCertificate, companyCertificateResource);

            return(Ok(updatedCompanyResource));
        }