using System;
using System.Collections.Generic;
using System.Linq;

namespace InABox.Integration.Logikal
{
    public class LogikalElevationDetailResponse<TElevation,TFinish,TProfile,TGasket,TComponent,TGlass,TLabour> : LogikalResponse
        where TElevation : ILogikalElevationDetail<TFinish,TProfile,TGasket,TComponent,TGlass,TLabour>
        where TFinish : ILogikalFinish
        where TProfile : ILogikalProfile
        where TGasket : ILogikalGasket
        where TComponent : ILogikalComponent
        where TGlass : ILogikalGlass
        where TLabour : ILogikalLabour
    {

        public override LogikalMethod Method() => LogikalMethod.ElevationDetail;

        public IEnumerable<TElevation> Elevations { get; set; } = new TElevation[] { };

        public override string ToString()
        {
            return string.Join("; ",Elevations.Select(x=>x.Description));
        }
    }


}