Exemplo n.º 1
0
        private DatabaseItemType GetType(string type)
        {
            if (type == null)
            {
                return(DatabaseItemType.None);
            }

            if (type.Equals(nameof(DatabaseItemType.DatabaseRecord), StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.DatabaseRecord);
            }

            if (type.Equals("Docs", StringComparison.OrdinalIgnoreCase) ||
                type.Equals("Results", StringComparison.OrdinalIgnoreCase)) // reading from stream/docs endpoint
            {
                return(DatabaseItemType.Documents);
            }

            if (type.Equals(nameof(DatabaseItemType.RevisionDocuments), StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.RevisionDocuments);
            }

            if (type.Equals(nameof(DatabaseItemType.Tombstones), StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.Tombstones);
            }

            if (type.Equals(nameof(DatabaseItemType.Conflicts), StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.Conflicts);
            }

            if (type.Equals(nameof(DatabaseItemType.Indexes), StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.Indexes);
            }

            if (type.Equals(nameof(DatabaseItemType.Identities), StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.Identities);
            }

            if (type.Equals(nameof(DatabaseItemType.CompareExchange), StringComparison.OrdinalIgnoreCase) ||
                type.Equals("CmpXchg", StringComparison.OrdinalIgnoreCase)) //support the old name
            {
                return(DatabaseItemType.CompareExchange);
            }

            if (type.Equals(nameof(DatabaseItemType.Counters), StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.Counters);
            }

            if (type.Equals("Attachments", StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.LegacyAttachments);
            }

            if (type.Equals("DocsDeletions", StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.LegacyDocumentDeletions);
            }

            if (type.Equals("AttachmentsDeletions", StringComparison.OrdinalIgnoreCase))
            {
                return(DatabaseItemType.LegacyAttachmentDeletions);
            }

            throw new InvalidOperationException("Got unexpected property name '" + type + "' on " + _parser.GenerateErrorState());
        }