public async Task <IActionResult> Add([FromBody] ContractKindDto contractKindDto)
        {
            if (await contractKindRepository.GetContractKind(contractKindDto.PublicId) != null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"ContractKind with this PublicId == {contractKindDto.PublicId} already exists"));
            }
            ContractKind contractKind = new ContractKind(contractKindDto.PublicId, contractKindDto.Name);
            await contractKindRepository.Add(contractKind);

            await unitOfWork.SaveEntitiesAsync();

            return(Ok());
        }
        public async Task <IActionResult> Update([FromBody] ContractKindDto contractKindDto)
        {
            ContractKind contractKind = await contractKindRepository.GetContractKind(contractKindDto.Id);

            if (contractKind == null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"ContractKind id == {contractKindDto.Id}. Not found!"));
            }
            if (contractKind.PublicId != contractKindDto.PublicId)
            {
                if (await contractKindRepository.GetContractKind(contractKindDto.PublicId) != null)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, $"ContractKind with this PublicId == {contractKindDto.PublicId} already exists"));
                }
                contractKind.SetPublicId(contractKindDto.PublicId);
            }
            contractKind.SetPublicId(contractKindDto.PublicId);
            contractKind.SetName(contractKindDto.Name);
            await contractKindRepository.Update(contractKind);

            await unitOfWork.SaveEntitiesAsync();

            return(Ok());
        }