//public async Task<ResponseModel> CreateCertificateStatusAsync(CertificateStatusManageModel certificateStatusManageModel)
        //{
        //    var certificateStatus = await _certificateStatusRepository.FetchFirstAsync(x => x.Name == certificateStatusManageModel.Name);
        //    if (certificateStatus != null)
        //    {
        //        return new ResponseModel()
        //        {
        //            StatusCode = System.Net.HttpStatusCode.BadRequest,
        //            Message = "This CertificateStatus's name is exist!",
        //        };
        //    }
        //    else
        //    {
        //        //var menu = await _menuResponstory.GetByIdAsync(itemManageModel.MenuId);
        //        certificateStatus = _mapper.Map<CertificateStatus>(certificateStatusManageModel);
        //        //item.Menu = menu;

        //        await _certificateStatusRepository.InsertAsync(certificateStatus);
        //        certificateStatus = await GetAll().FirstOrDefaultAsync(x => x.Id == certificateStatus.Id);
        //        return new ResponseModel()
        //        {
        //            StatusCode = System.Net.HttpStatusCode.OK,
        //            Data = new CertificateStatusViewModel(certificateStatus)
        //        };
        //    }
        //}

        public async Task <ResponseModel> UpdateCertificateStatusAsync(Guid id, CertificateStatusManageModel certificateStatusManageModel)
        {
            var certificateStatus = await _certificateStatusRepository.GetByIdAsync(id);

            if (certificateStatus == null)
            {
                return(new ResponseModel
                {
                    StatusCode = System.Net.HttpStatusCode.NotFound,
                    Message = "This CertificateStatus is not exist!"
                });
            }
            else
            {
                //var existedCertificateStatus = await _certificateStatusRepository.FetchFirstAsync(x => x.Name == certificateStatusManageModel.Name);
                //if (existedCertificateStatus != null)
                //{
                //    return new ResponseModel
                //    {
                //        StatusCode = System.Net.HttpStatusCode.BadRequest,
                //        Message = "This CertificateStatus's name is exist!"
                //    };
                //}
                //else
                //{
                certificateStatusManageModel.GetCertificateStatusFromModel(certificateStatus);
                return(await _certificateStatusRepository.UpdateAsync(certificateStatus));

                //}
            }
        }
        public async Task <IActionResult> Update(Guid id, [FromBody] CertificateStatusManageModel certificateStatusManageModel)
        {
            var response = await _certificateStatusService.UpdateCertificateStatusAsync(id, certificateStatusManageModel);

            return(new CustomActionResult(response));
        }