private static void ValidateTransferFindResult(TransferFindResult findResult) { s_helper.Check<StorageServerException>(findResult == null, Messages.DtoTransformer.s_errNullFindResults); var meta = findResult.Meta; var data = findResult.Data; s_helper.Check<StorageServerException>(meta == null, Messages.DtoTransformer.s_errNullFindResultsMeta); var invalidNumber = meta.Count < 0 || meta.Limit < 0 || meta.Offset < 0 || meta.Total < 0; var positiveMetaEmptyData = meta.Count > 0 && (data == null || data.Count == 0 || data.Count != meta.Count); var zeroMetaNonEmptyData = meta.Count == 0 && data != null && data.Count != 0; s_helper.Check<StorageServerException>(invalidNumber, Messages.DtoTransformer.s_errNegativeFindResultsMeta); s_helper.Check<StorageServerException>(positiveMetaEmptyData || zeroMetaNonEmptyData, Messages.DtoTransformer.s_errIncorrectFindResultsCount); s_helper.Check<StorageServerException>(meta.Count > meta.Total, Messages.DtoTransformer.s_errIncorrectFindResultsTotal); }
public FindResult GetFindResult(TransferFindResult findResult) { #pragma warning disable CA1062 ValidateTransferFindResult(findResult); #pragma warning restore CA1062 var records = new List<Record>(); var recordExceptions = new List<RecordException>(); if (findResult.Meta.Count != 0) { foreach (var transferRecord in findResult.Data) { if (transferRecord.Version == null) { transferRecord.Version = 0; } try { var record = GetRecord(transferRecord); records.Add(record); } #pragma warning disable CA1031 catch (System.Exception e) #pragma warning restore CA1031 { s_log.Warn(e); recordExceptions.Add(new RecordException(Messages.DtoTransformer.s_errRecordParse, JsonConvert.SerializeObject(transferRecord, _jsonSettings), e)); } } } var findResults = new FindResult(records, recordExceptions, findResult.Meta.Limit, findResult.Meta.Offset, findResult.Meta.Total, findResult.Meta.Count); return findResults; }