public ActionResult <int> UpdateEnumItem([Required] int itemId, [Required] EnumItemModel itemModel)
        {
            using var uow = this.unitOfWorkFactory.Create();
            var enumItemRepository = uow.GetRepository <EnumItem>();
            var enumItem           = enumItemRepository.GetById(itemId);

            if (enumItem == null)
            {
                throw new HttpResponseException($"EnumItem with id {itemId} not exists.", HttpStatusCode.BadRequest);
            }

            var entity = this.mapper.Map <EnumItem>(itemModel);

            entity.EnumItemTypeId = enumItem.EnumItemTypeId;
            entity.Id             = itemId;

            uow.BeginTransaction();
            enumItemRepository.Update(entity);

            uow.Save();
            return(entity.Id);
        }
        public ActionResult <int> CreateEnumItem([Required] string typeCode, [Required] EnumItemModel itemModel)
        {
            var enumItemType = this.GetData(eit => eit.NormalizedName == typeCode)
                               .FirstOrDefault();

            if (enumItemType == null)
            {
                throw new HttpResponseException($"EnumItemType with code {typeCode} not exists.", HttpStatusCode.BadRequest);
            }

            using var uow = this.unitOfWorkFactory.Create();
            var entity = this.mapper.Map <EnumItem>(itemModel);

            entity.EnumItemTypeId = enumItemType.Id;
            var enumItemRepository = uow.GetRepository <EnumItem>();

            uow.BeginTransaction();
            enumItemRepository.Insert(entity);

            uow.Save();

            return(entity.Id);
        }