public void AddNew(ExtendPlatformTypeDTO platformTypeDto)
        {
            platformTypeDto.Id = Guid.NewGuid();
            _unitOfWork.PlatformTypes.Create(_mapper.Map <PlatformType>(platformTypeDto));
            _unitOfWork.Save();

            _log.Info($"{nameof(PublisherService)} - add new platformType {platformTypeDto.Id}");
        }
        public bool IsUniqueEnName(ExtendPlatformTypeDTO platformTypeDTO)
        {
            var platformType = _unitOfWork.PlatformTypes.Get(x => x.NameEn == platformTypeDTO.NameEn).FirstOrDefault();

            if (platformType == null || platformTypeDTO.Id == platformType.Id)
            {
                return(true);
            }

            return(false);
        }
        public void Update(ExtendPlatformTypeDTO platformTypeDTO)
        {
            if (GetPlatformTypeById(platformTypeDTO.Id) != null)
            {
                var platformType = _mapper.Map <PlatformType>(platformTypeDTO);

                _unitOfWork.PlatformTypes.Update(platformType);
                _unitOfWork.Save();

                _log.Info($"{nameof(PlatformTypeService)} - update platformType {platformTypeDTO.Id}");
            }
        }
        public void IsUniqueRuName_NotUniqueName_False()
        {
            var platformTypes = new ExtendPlatformTypeDTO()
            {
                Id = Guid.NewGuid(), NameRu = _fakePlatformTypeName
            };

            _uow.Setup(uow => uow.PlatformTypes.Get(It.IsAny <Func <PlatformType, bool> >()))
            .Returns(new List <PlatformType>());

            var res = _sut.IsUniqueRuName(platformTypes);

            Assert.True(res);
        }
        public void AddNewPlatformType_PlatformTypeWithUniqueName_CreateCalled()
        {
            var fakePlatformTypeDTO = new ExtendPlatformTypeDTO()
            {
                Id = Guid.NewGuid(), NameEn = "uniqueName"
            };
            var fakePlatformType = _mapper.Map <PlatformType>(fakePlatformTypeDTO);

            _uow.Setup(uow => uow.PlatformTypes.Get(It.IsAny <Func <PlatformType, bool> >())).Returns(new List <PlatformType>());
            _uow.Setup(uow => uow.PlatformTypes.Create(fakePlatformType));

            _sut.AddNew(fakePlatformTypeDTO);

            _uow.Verify(uow => uow.PlatformTypes.Create(It.IsAny <PlatformType>()), Times.Once);
        }