namespace OI.Metrology.Shared.DataModels;

public record WorkMaterial(string RDS_NO,
                           int REACTOR,
                           string POCKET_NO,
                           string ZONE,
                           int IN_CASS_NO,
                           int IN_SLOT_NO,
                           int OUT_CASS_NO,
                           int OUT_SLOT_NO,
                           string PS_NO,
                           string RECIPE_NAME,
                           int RECIPE_NO,
                           string SPEC_TYPE)
{

    public static WorkMaterialV2[] Convert(List<WorkMaterial> collection)
    {
        List<WorkMaterialV2> results = new();
        foreach (WorkMaterial item in collection)
            results.Add(Map(item));
        return results.ToArray();
    }

    public static WorkMaterialV2 Map(WorkMaterial item)
    {
        WorkMaterialV2 result = new(item.RDS_NO,
                                    item.REACTOR,
                                    item.POCKET_NO,
                                    item.ZONE,
                                    item.IN_CASS_NO,
                                    item.IN_SLOT_NO,
                                    item.OUT_CASS_NO,
                                    item.OUT_SLOT_NO,
                                    item.PS_NO);
        return result;
    }

}

public record WorkMaterialV2(string RunDataSheet,
                             int Reactor,
                             string Pocket,
                             string Zone,
                             int InCassetteNumber,
                             int InSlotNumber,
                             int OutCassetteNumber,
                             int OutSlotNumber,
                             string PSN)
{ }