using System; namespace AccountsDAL.DTO.WarehouseMeasure { // CRUD-shaped DTO for MWAREHOUSEMEASURE admin endpoints (Get/Save/Delete) — see the GB5 Data // Warehouse developer guide section 09.3. Separate from any lean read-shape another module // hydrates for its own hot path, matching the same separation-of-concerns rationale as // WarehousePostingRuleDTO vs AccountsDAL.DTO.Warehouse.WarehouseMeasurePostingRuleDTO. public class WarehouseMeasureDTO { #region PrivateMembers #region WarehouseMeasure private int measureid; private int factid; private string measurecode; private string measurename; private string columnname; private byte datatype; // mirrors MREPORTVSFIELDS.FIELDTYPE: 0 INT,1 STRING,2 LONG,3 DATE,4 BOOL,6 DOUBLE private byte additivitytype; // 0 Additive, 1 SemiAdditive, 2 NonAdditive private string? semiadditivedimension; // only meaningful when ADDITIVITYTYPE = 1 private byte defaultaggregation; // 0 None,1 SUM,3 AVG,5 COUNT,7 MAX,8 MIN private string? formatstring; private string? businessdescription; private string? synonyms; private byte isvisible; #endregion #region Base private int measurecreatedbyid; private DateTime measurecreatedon; private int measuremodifiedbyid; private DateTime measuremodifiedon; #endregion #region Standard private byte measurestatus; // 0.Pending, 1.Active, 2.Deleted, 3.Amended, 4.Inactive, 5.Archived private Int16 measureversion; private Int16 measuresortorder; #endregion #endregion #region PublicMembers #region WarehouseMeasure public int MeasureId { get { return measureid; } set { measureid = value; } } public int FactId { get { return factid; } set { factid = value; } } public string MeasureCode { get { return measurecode; } set { measurecode = value; } } public string MeasureName { get { return measurename; } set { measurename = value; } } public string ColumnName { get { return columnname; } set { columnname = value; } } public byte DataType { get { return datatype; } set { datatype = value; } } public byte AdditivityType { get { return additivitytype; } set { additivitytype = value; } } public string? SemiAdditiveDimension { get { return semiadditivedimension; } set { semiadditivedimension = value; } } public byte DefaultAggregation { get { return defaultaggregation; } set { defaultaggregation = value; } } public string? FormatString { get { return formatstring; } set { formatstring = value; } } public string? BusinessDescription { get { return businessdescription; } set { businessdescription = value; } } public string? Synonyms { get { return synonyms; } set { synonyms = value; } } public byte IsVisible { get { return isvisible; } set { isvisible = value; } } #endregion #region Base public int MeasureCreatedById { get { return measurecreatedbyid; } set { measurecreatedbyid = value; } } public DateTime MeasureCreatedOn { get { return measurecreatedon; } set { measurecreatedon = value; } } public int MeasureModifiedById { get { return measuremodifiedbyid; } set { measuremodifiedbyid = value; } } public DateTime MeasureModifiedOn { get { return measuremodifiedon; } set { measuremodifiedon = value; } } #endregion #region Standard public byte MeasureStatus { get { return measurestatus; } set { measurestatus = value; } } public Int16 MeasureVersion { get { return measureversion; } set { measureversion = value; } } public Int16 MeasureSortOrder { get { return measuresortorder; } set { measuresortorder = value; } } #endregion #endregion } }