Beispiel #1
0
        public async Task <ReferenceInfoDto> Create(ReferenceInfoDto referenceInfo)
        {
            bool isValidate = await ValidateReference(referenceInfo.LongReference);

            if (!isValidate)
            {
                return(await Task.FromResult <ReferenceInfoDto>(null));
            }

            ReferenceInfo referenceInDB = await _referenceInfoRepository.Find(referenceInfo.LongReference);

            if (referenceInDB != null)
            {
                return(referenceInDB.MapToDtoModel());
            }

            referenceInfo.ShortenedReference = await Generate();

            return((await _referenceInfoRepository.Create(referenceInfo.MapToDbModel())).MapToDtoModel());
        }