//-----------------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by HostInterfaceConfigurator Version 17.2022.322.1138
//     Generated at 28.03.2022 09:44:04 (Universal Time)
//
//     This file can be changed to adapt it to project needs.
//     If any file is changed, do not run HostInterfaceConfigurator with answer "Yes" 
//                 to dialog question "Do you want to overwrite existing files?"
//     Questions and proposals please address to "StoreWare Development Team"
//  </auto-generated>
//-----------------------------------------------------------------------------------------
using System;

using Gebhardt.StoreWare.WcsWms.InterfaceWcsWms.Interfaces;
using Gebhardt.StoreWare.WcsWms.InterfaceWcsWms.Models;
using Gebhardt.StoreWare.WcsWms.InterfaceWcsWms.Services;

using Gebhardt.StoreWare.Wcs.HostBooking.InterfaceWcsWms.Interfaces;


using Gebhardt.Shared;
using Gebhardt.StoreWare.WcsWms.Constants;

using Gebhardt.StoreWare.Wcs.Common.DbAccess;

namespace Gebhardt.StoreWare.Wcs.HostBooking.InterfaceWcsWms.MessageImplementation
{
    public partial class UnsupportedHostMessageHandler : IHandleRecord<UnsupportedHostMessage>
    {

        private readonly IWcsDbContextFactory _dbContextFactory;
        private readonly IHostMessageFromWmsService _serviceFromWms;
        private readonly IHostMessageToWmsService _serviceToWms;

        public UnsupportedHostMessageHandler(IWcsDbContextFactory dbContextFactory, IHostMessageFromWmsService serviceFromWms, IHostMessageToWmsService serviceToWms)
        {
            _dbContextFactory = dbContextFactory;
            _serviceFromWms = serviceFromWms ?? new HostMessageFromWmsService();
            _serviceToWms = serviceToWms ?? new HostMessageToWmsService();
        }

        public bool Handle(UnsupportedHostMessage message)
        {
            message.Handle();
            throw new Exception(message.ErrorInterface ?? "UnsupportedHostMessage - Wrong message type");
            //using IWcsDbContext db = _dbContextFactory.GetDbContext();
            //TODO - use custom code hier
            throw new NotImplementedException();
        }
    }
}