• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

HicServices / RDMP / 19761846379

28 Nov 2025 11:00AM UTC coverage: 56.721% (-0.03%) from 56.753%
19761846379

push

github

JFriel
add missing file

11379 of 21599 branches covered (52.68%)

Branch coverage included in aggregate %.

32092 of 55041 relevant lines covered (58.31%)

17615.81 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

44.74
/Rdmp.Core/ReusableLibraryCode/Icons/IconProvision/DatabaseTypeIconProvider.cs
1
// Copyright (c) The University of Dundee 2018-2019
2
// This file is part of the Research Data Management Platform (RDMP).
3
// RDMP is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
4
// RDMP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
5
// You should have received a copy of the GNU General Public License along with RDMP. If not, see <https://www.gnu.org/licenses/>.
6

7
using FAnsi;
8
using Rdmp.Core.Icons.IconProvision;
9
using SixLabors.ImageSharp;
10
using SixLabors.ImageSharp.PixelFormats;
11
using System.Data.Common;
12

13
namespace Rdmp.Core.ReusableLibraryCode.Icons.IconProvision;
14

15
/// <summary>
16
/// Provides overlay and basic icons for all DatabaseTypes
17
/// </summary>
18
public class DatabaseTypeIconProvider
19
{
20
    private readonly Image<Rgba32> _msBig;
21
    private readonly Image<Rgba32> _msOverlay;
22

23
    private readonly Image<Rgba32> _oraBig;
24
    private readonly Image<Rgba32> _oraOverlay;
25

26
    private readonly Image<Rgba32> _mysBig;
27
    private readonly Image<Rgba32> _mysOverlay;
28

29
    private readonly Image<Rgba32> _postgresBig;
30
    private readonly Image<Rgba32> _postgresOverlay;
31

32
    private readonly Image<Rgba32> _unknownBig;
33
    private readonly Image<Rgba32> _unknownOverlay;
34

35
    public DatabaseTypeIconProvider()
10✔
36
    {
37
        _msBig = Image.Load<Rgba32>(DatabaseProviderIcons.Microsoft);
10✔
38
        _msOverlay = Image.Load<Rgba32>(DatabaseProviderIcons.MicrosoftOverlay);
10✔
39

40
        _mysBig = Image.Load<Rgba32>(DatabaseProviderIcons.MySql);
10✔
41
        _mysOverlay = Image.Load<Rgba32>(DatabaseProviderIcons.MySqlOverlay);
10✔
42

43
        _oraBig = Image.Load<Rgba32>(DatabaseProviderIcons.Oracle);
10✔
44
        _oraOverlay = Image.Load<Rgba32>(DatabaseProviderIcons.OracleOverlay);
10✔
45

46
        _postgresBig = Image.Load<Rgba32>(DatabaseProviderIcons.PostgreSql);
10✔
47
        _postgresOverlay = Image.Load<Rgba32>(DatabaseProviderIcons.PostgreSqlOverlay);
10✔
48

49
        _unknownBig = Image.Load<Rgba32>(DatabaseProviderIcons.Unknown);
10✔
50
        _unknownOverlay = Image.Load<Rgba32>(DatabaseProviderIcons.UnknownOverlay);
10✔
51
    }
10✔
52

53
    public Image<Rgba32> GetOverlay(DatabaseType type)
54
    {
55
        return type switch
×
56
        {
×
57
            DatabaseType.MicrosoftSQLServer => _msOverlay,
×
58
            DatabaseType.MySql => _mysOverlay,
×
59
            DatabaseType.Oracle => _oraOverlay,
×
60
            DatabaseType.PostgreSql => _postgresOverlay,
×
61
            _ => _unknownOverlay
×
62
        };
×
63
    }
64

65
    public Image<Rgba32> GetImage(DatabaseType type)
66
    {
67
        return type switch
34!
68
        {
34✔
69
            DatabaseType.MicrosoftSQLServer => Image.Load<Rgba32>(CatalogueIcons.Microsoft),
34✔
70
            DatabaseType.MySql => Image.Load<Rgba32>(CatalogueIcons.MySql),
×
71
            DatabaseType.Oracle => Image.Load<Rgba32>(CatalogueIcons.Oracle),
×
72
            DatabaseType.PostgreSql => Image.Load<Rgba32>(CatalogueIcons.PostgreSQL),
×
73
            _ => _unknownBig
×
74
        };
34✔
75
    }
76
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc