public async Task <ResponseModel> CreateStandardOfCertificateAsync(StandardOfCertificateManageModel standardOfCertificateManageModel)
        {
            var checkName = await _standardOfCertificateRepository.GetAll().FirstOrDefaultAsync(x => x.Name == standardOfCertificateManageModel.Name);

            if (checkName != null)
            {
                return(new ResponseModel
                {
                    Message = "StandardOfCertificate's name is exist!"
                });
            }

            var standardOfCertificate = await _standardOfCertificateRepository.FetchFirstAsync(x => x.Name == standardOfCertificateManageModel.Name);

            standardOfCertificate = _mapper.Map <StandardOfCertificate>(standardOfCertificateManageModel);

            await _standardOfCertificateRepository.InsertAsync(standardOfCertificate);

            standardOfCertificate = await GetAll().FirstOrDefaultAsync(x => x.Id == standardOfCertificate.Id);

            return(new ResponseModel()
            {
                StatusCode = System.Net.HttpStatusCode.OK,
                Data = new StandardOfCertificateViewModel(standardOfCertificate)
            });
        }
        public async Task <ResponseModel> UpdateStandardOfCertificateAsync(Guid id, StandardOfCertificateManageModel standardOfCertificateManageModel)
        {
            var standardOfCertificate = await _standardOfCertificateRepository.GetByIdAsync(id);

            if (standardOfCertificate == null)
            {
                return(new ResponseModel
                {
                    StatusCode = System.Net.HttpStatusCode.NotFound,
                    Message = "This StandardOfCertificate is not exist!"
                });
            }
            else
            {
                var checkName = await _standardOfCertificateRepository.GetAll().FirstOrDefaultAsync(x => x.Name == standardOfCertificateManageModel.Name && x.Id != id);

                if (checkName != null)
                {
                    return(new ResponseModel
                    {
                        Message = "StandardOfCertificate's name is exist!"
                    });
                }

                standardOfCertificateManageModel.GetStandardOfCertificateFromModel(standardOfCertificate);
                return(await _standardOfCertificateRepository.UpdateAsync(standardOfCertificate));
            }
        }
        public async Task <IActionResult> Update(Guid id, [FromBody] StandardOfCertificateManageModel standardOfCertificateManageModel)
        {
            var response = await _standardOfCertificateService.UpdateStandardOfCertificateAsync(id, standardOfCertificateManageModel);

            return(new CustomActionResult(response));
        }