Files
2023-06-27 17:18:36 +02:00

161 lines
4.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.Runtime.CompilerServices;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace WebDoorCreator.Data.DbModels
{
/// <summary>
/// Tabella dati Door
/// </summary>
[Table("Door")]
public class DoorModel
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorId { get; set; }
/// <summary>
/// Parent element ID
/// </summary>
public int ParentId { get; set; }
/// <summary>
/// Ordine cui è associata la porta
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// Unità di misura
/// </summary>
public string MeasureUnit { get; set; } = "";
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
public string DoorExtCode { get; set; } = "";
/// <summary>
/// Data inserimento ordine
/// </summary>
public DateTime DateIns { get; set; } = DateTime.Now;
/// <summary>
/// Codice utente che ha creato
/// </summary>
public string UserIdIns { get; set; } = "";
/// <summary>
/// Data (ultima) modifica ordine
/// </summary>
public DateTime DateMod { get; set; } = DateTime.Now;
/// <summary>
/// Codice utente che ha creato
/// </summary>
public string UserIdMod { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string DoorDescript { get; set; } = "";
/// <summary>
/// Quantity Ordered
/// </summary>
public int Quantity { get; set; } = 1;
/// <summary>
/// Unit cost for the door
/// </summary>
public decimal UnitCost { get; set; } = 0;
/// <summary>
/// Data scadenza Lock
/// </summary>
public DateTime DateLockExpiry { get; set; } = DateTime.Now;
/// <summary>
/// Codice utente che ha bloccato record
/// </summary>
public string UserIdLock { get; set; } = "";
/// <summary>
/// Valore booleano per indicare se è in stato cancellazione logica
/// </summary>
public bool isLogicDel { get; set; } = false;
[ForeignKey("OrderId")]
public virtual OrderModel? OrderNav { get; set; }
//[ForeignKey("TypeId")]
// public virtual DoorTypeModel? TypeNav { get; set; }
public DoorModel ObjClone(string userId)
{
DateTime adesso = DateTime.Now;
DoorModel answ = new DoorModel()
{
MeasureUnit = MeasureUnit,
OrderId = OrderId,
ParentId = ParentId,
DoorExtCode = DoorExtCode,
DateIns = adesso,
UserIdIns = userId,
DateMod = adesso,
UserIdMod = userId,
DoorDescript = DoorDescript,
Quantity = Quantity,
UnitCost = UnitCost,
DateLockExpiry = DateLockExpiry,
UserIdLock = UserIdLock
};
return answ;
}
public override bool Equals(object? obj)
{
if (obj == null)
return false;
if (!(obj is DoorModel item))
return false;
if (Quantity != item.Quantity)
return false;
if (DoorExtCode != item.DoorExtCode)
return false;
if (DoorDescript != item.DoorDescript)
return false;
if (UnitCost != item.UnitCost)
return false;
//if (MeasureUnit != item.MeasureUnit)
// return false;
//if (UnitCost != item.UnitCost)
// return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
}