from django.urls import path
from .views import EstadoCreate, CidadeCreate, TipoClienteCreate, ClienteCreate, VisitaCreate, ServicoCreate, ReciboCreate, FuncionarioCreate, AgendamentoCreate
from .views import EstadoUpdate, CidadeUpdate, TipoClienteUpdate, ClienteUpdate, VisitaUpdate, ServicoUpdate, ReciboUpdate, FuncionarioUpdate, AgendamentoUpdate
from .views import EstadoDelete, CidadeDelete, TipoClienteDelete, ClienteDelete, VisitaDelete, ServicoDelete, ReciboDelete, FuncionarioDelete
from .views import EstadoList, CidadeList, TipoClienteList, ClienteList, VisitaList, ServicoList, ReciboList, FuncionarioList, AgendamentoList
from .views import ClienteGeral, VisitaGeral, ServicoGeral, ReciboGeral, FuncionarioGeral
from .views import EstadoListPdf, CidadeListPdf, ClienteListPdf, VisitaListPdf, ServicoListPdf, ReciboListPdf, FuncionarioListPdf 
from .views import EstadoDetail, CidadeDetail, ClienteDetail, VisitaDetail, ServicoDetail, ReciboDetail, FuncionarioDetail, AgendamentoDetail, FuncionarioDetail
from .views import EstadoDetailPdf, CidadeDetailPdf, ClienteDetailPdf, VisitaDetailPdf, ServicoDetailPdf, ReciboDetailPdf, ServicoClienteDetailPdf, FuncionarioDetailPdf
from . import views


urlpatterns = [
    #CREATE
    path('create/estado', EstadoCreate.as_view(), name="CadastrarEstado"),
    path('create/cidade', CidadeCreate.as_view(), name="CadastrarCidade"),
    path('create/tipocliente', TipoClienteCreate.as_view(), name="CadastrarTipoCliente"),
    path('create/cliente', ClienteCreate.as_view(), name="CadastrarCliente"),
    path('create/visita', VisitaCreate.as_view(), name="CadastrarVisita"),
    path('create/servico', ServicoCreate.as_view(), name="CadastrarServico"),
    path('create/recibo', ReciboCreate.as_view(), name="CadastrarRecibo"),
    path('create/funcionario', FuncionarioCreate.as_view(), name="CadastrarFuncionario"),
    path('create/agendamento', AgendamentoCreate.as_view(), name="CadastrarAgendamento"),

    #UPDATE
    path('update/estado/<int:pk>/', EstadoUpdate.as_view(), name="EditarEstado"),
    path('update/cidade/<int:pk>/', CidadeUpdate.as_view(), name="EditarCidade"),
    path('update/tipocliente/<int:pk>/', TipoClienteUpdate.as_view(), name="EditarTipoCliente"),
    path('update/cliente/<int:pk>/', ClienteUpdate.as_view(), name="EditarCliente"),
    path('update/visita/<int:pk>/', VisitaUpdate.as_view(), name="EditarVisita"),
    path('update/servico/<int:pk>/', ServicoUpdate.as_view(), name="EditarServico"),
    path('update/recibo/<int:pk>/', ReciboUpdate.as_view(), name="EditarRecibo"),
    path('update/funcionario/<int:pk>/', FuncionarioUpdate.as_view(), name="EditarFuncionario"),
    path('update/agendamento/<int:pk>/', AgendamentoUpdate.as_view(), name="EditarAgendamento"),

    #DELETE
    path('delete/estado/<int:pk>/', EstadoDelete.as_view(), name="ExcluirEstado"),    
    path('delete/cidade/<int:pk>/', CidadeDelete.as_view(), name="ExcluirCidade"),
    path('delete/tipocliente/<int:pk>/', TipoClienteDelete.as_view(), name="ExcluirTipoCliente"),
    path('delete/cliente/<int:pk>/', ClienteDelete.as_view(), name="ExcluirCliente"),
    path('delete/visita/<int:pk>/', VisitaDelete.as_view(), name="ExcluirVisita"),
    path('delete/servico/<int:pk>/', ServicoDelete.as_view(), name="ExcluirServico"),
    path('delete/recibo/<int:pk>/', ReciboDelete.as_view(), name="ExcluirRecibo"),
    path('delete/funcionario/<int:pk>/', FuncionarioDelete.as_view(), name="ExcluirFuncionario"),

    #LISTAS
    path('list/estado/', EstadoList.as_view(), name="ListarEstado"),
    path('list/cidade/', CidadeList.as_view(), name="ListarCidade"),
    path('list/tipocliente/', TipoClienteList.as_view(), name="ListarTipoCliente"),
    path('list/cliente/', ClienteList.as_view(), name="ListarCliente"),
    path('list/visita/', VisitaList.as_view(), name="ListarVisita"),
    path('list/servico/', ServicoList.as_view(), name="ListarServico"),
    path('list/recibo/', ReciboList.as_view(), name="ListarRecibo"),
    path('list/funcionario/', FuncionarioList.as_view(), name="ListarFuncionario"),
    path('list/agendamento/', AgendamentoList.as_view(), name="ListarAgendamento"),
        
    #RELATORIOS
    path('geral/cliente/', ClienteGeral.as_view(), name="GeralCliente"),
    path('geral/visita/', VisitaGeral.as_view(), name="GeralVisita"),
    path('geral/servico/', ServicoGeral.as_view(), name="GeralServico"),
    path('geral/recibo/', ReciboGeral.as_view(), name="GeralRecibo"),
    path('geral/funcionario/', FuncionarioGeral.as_view(), name="GeralFuncionario"),


    #PDFS
    path('listar/estado/', EstadoListPdf.as_view(), name="ListaPdfEstado"),
    path('listar/cidade/', CidadeListPdf.as_view(), name="ListaPdfCidade"),
    path('listar/cliente/', ClienteListPdf.as_view(), name="ListaPdfCliente"),
    path('listar/visita/', VisitaListPdf.as_view(), name="ListaPdfVisita"),
    path('listar/servico/', ServicoListPdf.as_view(), name="ListaPdfServico"),
    path('listar/recibo/', ReciboListPdf.as_view(), name="ListaPdfRecibo"),
    path('listar/funcionairo/', FuncionarioListPdf.as_view(), name="ListaPdfFuncionario"),
    

    #DETAILS
    path('detail/estado/<int:pk>/', EstadoDetail.as_view(), name="VisualisarEstado"),
    path('detail/cidade/<int:pk>/', CidadeDetail.as_view(), name="VisualisarCidade"),
    path('detail/cliente/<int:pk>/', ClienteDetail.as_view(), name="VisualisarCliente"),
    path('detail/visita/<int:pk>/', VisitaDetail.as_view(), name="VisualisarVisita"),
    path('detail/servico/<int:pk>/', ServicoDetail.as_view(), name="VisualisarServico"),
    path('detail/recibo/<int:pk>/', ReciboDetail.as_view(), name="VisualisarRecibo"),
    path('detail/funcionario/<int:pk>/', FuncionarioDetail.as_view(), name="VisualisarFuncionario"),
    path('detail/agendamento/<int:pk>/', AgendamentoDetail.as_view(), name="VisualisarAgendamento"),

 
    #FICHAS
    path('print/estado/<int:pk>/', EstadoDetailPdf.as_view(), name="PrintEstado"),
    path('print/cidade/<int:pk>/', CidadeDetailPdf.as_view(), name="PrintCidade"),
    path('print/cliente/<int:pk>/', ClienteDetailPdf.as_view(), name="PrintCliente"),
    path('print/visita/<int:pk>/', VisitaDetailPdf.as_view(), name="PrintVisita"),
    path('print/servico/<int:pk>/', ServicoDetailPdf.as_view(), name="PrintServico"),
    path('print/recibo/<int:pk>/', ReciboDetailPdf.as_view(), name="PrintRecibo"),
    path('print/servico-cliente/<int:pk>/', ServicoClienteDetailPdf.as_view(), name="PrintServicoCliente"),
    path('print/funcionario/<int:pk>/', FuncionarioDetailPdf.as_view(), name="PrintFuncionario"),

    #AGENDAMENTO    
    path('agendamento/salvar/', views.salvar_agendamento, name='salvar_agendamento'),

    #ROTARETORNARCLIENTE    
    path('ajax/busca-dados-cliente/', views.busca_dados_cliente_ajax, name='ajax_busca_dados_cliente'),
    path('ajax/busca-servico/', views.busca_servico_ajax, name='ajax_busca_servico'),
    path('ajax/cliente-autocomplete/', views.busca_cliente_autocomplete, name='ajax_cliente_autocomplete'),
]