コード例 #1
0
        public async Task <Standard> GetStandardVersionById(string id, string version = null)
        {
            Standard standard = null;

            try
            {
                var standardId = new StandardId(id);

                switch (standardId.IdType)
                {
                case StandardId.StandardIdType.LarsCode:
                    standard = await _standardRepository.GetStandardVersionByLarsCode(standardId.LarsCode, version);

                    break;

                case StandardId.StandardIdType.IFateReferenceNumber:
                    standard = await _standardRepository.GetStandardVersionByIFateReferenceNumber(standardId.IFateReferenceNumber, version);

                    break;

                case StandardId.StandardIdType.StandardUId:
                    standard = await _standardRepository.GetStandardVersionByStandardUId(standardId.StandardUId);

                    break;

                default:
                    throw new ArgumentOutOfRangeException("id", "StandardId was not of type StandardUId, LarsCode or IfateReferenceNumber");
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"STANDARD VERSION: Failed to get for standard id: {id}");
            }

            return(standard);
        }