// Copyright (C) Stichting Deltares 2024. All rights reserved.
//
// This file is part of the Dam Engine.
//
// The Dam Engine is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
//
// All names, logos, and references to "Deltares" are registered trademarks of
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
using System;
using System.Reflection;
namespace Deltares.DamEngine.Calculators.KernelWrappers.Assemblers;
///
/// This class contains general properties which can be used in the header of an xml file or in
/// data transfer objects like or
///
public class FileIdentification
{
public FileIdentification()
: this(Assembly.GetCallingAssembly()) {}
public FileIdentification(Assembly assembly)
{
Application = assembly.GetName().Name;
Version = assembly.GetName().Version.ToString();
Company = "Deltares";
Created = DateTime.UtcNow;
}
///
/// The name of the applcation where the xml data is coming from
///
public string Application { get; set; }
///
/// The version of the application or dll where this data is form
///
public string Version { get; set; }
///
/// The name of the company
///
public string Company { get; set; }
///
/// The license of the application
///
/// This property is not required
public string License { get; set; }
///
/// A general description of the application where the data belongs to
///
/// This property is not required
public string Description { get; set; }
///
/// Date time stamp of the creation of the data data items
///
public DateTime Created { get; set; }
}