None of the constructors found with 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' on type 'Nop.Admin.Controllers.TicketsController' can be invoked with the available services and parameters:
Cannot resolve parameter 'Nop.Services.Tickets.ITicketService ticketService' of constructor 'Void .ctor(Nop.Services.Tickets.ITicketService, Nop.Services.Configuration.SettingService)'.
Hi. I get this error when I call my controller.
I read on several forums. We say that you have to configure Autofac. I do not know where to configure it.
Here is my class Service
public class TicketService : ITicketService
{
private readonly IRepository<OrderItem> _orderItemRepository;
private readonly IRepository<Ticket> _ticketRepository;
private readonly IOrderService _orderService;
private readonly ILogger _logger;
public TicketService( IRepository<Ticket> ticketRepository,
IRepository<OrderItem> orderItemRepository,IOrderService orderService,ILogger logger)
{
_ticketRepository = ticketRepository;
_orderItemRepository = orderItemRepository;
_logger = logger;
_orderService = orderService;
}
public Ticket GetTicketById(int id)
{
return _ticketRepository.GetById(id);
}
public void MarkTicketAsPaid(Ticket ticket)
{
if(ticket!=null)
{
var orderItem = _orderItemRepository.GetById(ticket.OrderItemId);
var order = orderItem.Order;
order.OrderStatus = OrderStatus.Complete;
_orderService.UpdateOrder(order);
}
else
{
_logger.Error(string.Format("Ticket not found for MarkAsPaid {0}", ticket.Id));
}
}
}
My controller
public class TicketsController : BaseAdminController
{
#region Fields
private readonly ITicketService _ticketService;
private readonly ISettingService _settingService;
#endregion
public TicketsController(ITicketService ticketService, SettingService settingService)
{
_ticketService = ticketService;
_settingService = settingService;
}
}