zaaReloaded2/zaaReloaded2/LabModel/Material.cs

64 lines
1.8 KiB
C#
Executable File

/* Materials.cs
* part of zaaReloaded2
*
* Copyright 2015-2017 Daniel Kraus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace zaaReloaded2.LabModel
{
/// <summary>
/// Enumerates the known materials.
/// </summary>
public enum Material
{
[Description("Serum")]
/// Serum (default -- first declared)
S,
[Description("EDTA-Blut")]
/// EDTA blood
E,
[Description("Blut")]
/// Blood
B,
[Description("Urin")]
/// Urine (spot)
U,
[Description("Sammelurin")]
/// Collected urine
SU,
}
/// <summary>
/// Contains factory methods to create Material values.
/// </summary>
public static class MaterialFactory
{
/// <summary>
/// Creates a <see cref="Material"/> value from an abbreviation of a material.
/// </summary>
/// <param name="abbreviation">Abbreviation of a material.</param>
/// <returns>Materials value.</returns>
public static Material FromAbbreviation(string abbreviation)
{
return (Material)Enum.Parse(typeof(Material), abbreviation, true);
}
}
}