expose-myit/Shared/ViewModels/ServiceShopOrder.cs
2022-12-10 12:06:16 -07:00

52 lines
1.6 KiB
C#

using System.Text.Json;
namespace Expose.MyIT.Shared.ViewModels;
public class ServiceShopOrder
{
public string Id { init; get; }
public string Name { init; get; }
public string[] BookingNames { init; get; }
public string Type { init; get; }
public string State { init; get; }
public string ItemNumber { init; get; }
public DateTime CreatedDate { init; get; }
public DateTime DecidedDate { init; get; }
public string Recipient { init; get; }
public string Requestor { init; get; }
public ServiceShopOrder(string id, string name, string[] bookingNames, string type, string state, string itemNumber, DateTime createdDate, DateTime decidedDate, string recipient, string requestor)
{
Id = id;
Name = name;
BookingNames = bookingNames;
Type = type;
State = state;
ItemNumber = itemNumber;
CreatedDate = createdDate;
DecidedDate = decidedDate;
Recipient = recipient;
Requestor = requestor;
}
public ServiceShopOrder(Models.Order order) :
this(order.Id,
order.Name,
order.Bookings is null || !order.Bookings.Any() ? Array.Empty<string>() : order.Bookings.Select(l => l.Name).ToArray(),
order.Type,
order.State,
order.ItemNumber,
order.CreatedDate,
order.DecidedDate,
order.Recipient,
order.Requestor)
{ }
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}