using MainShell.Common;
using MainShell.Models.Wafer;
using System;
using System.Collections.Generic;
using System.Windows;

namespace MainShell.ProcessResult
{
    public class DiePositionProcessResult : ProcessResultBase
    {
        public bool IsSuccess { get; set; }

        public string RecipeName { get; set; }

        public string ErrorMessage { get; set; }

        public MessageKey ErrorMessageKey { get; set; } = MessageKey.None;

        public string[] ErrorMessageArguments { get; set; } = Array.Empty<string>();

        public int RowCount { get; set; }

        public int ColumnCount { get; set; }

        public int TheoryDieCount { get; set; }

        public int ScanPointCount { get; set; }

        public int RecognizedDieCount { get; set; }

        public int NgDieCount { get; set; }

        public double AverageSpacingX { get; set; }

        public double AverageSpacingY { get; set; }

        public List<Point> ScanPoints { get; set; } = new List<Point>();

        public List<Die> RecognizedDies { get; set; } = new List<Die>();

        public Die[,] MapDies { get; set; } = new Die[0, 0];

        public List<Die> PatchDies { get; set; } = new List<Die>();

        public List<Die> ExceptDies { get; set; } = new List<Die>();
    }
}
