Example #1
0
        public VisitaModuleQuery(IVisitaRepositoryReadOnly repository)
        {
            Get["/visita"] = parameters =>
            {
                var visitas = repository.getAll();

                return(Response.AsJson(visitas.Select(getVisitaRequest)));
            };
            Get["/visita/{id:guid}"] = parameters =>
            {
                Guid id     = parameters.id;
                var  visita = repository.get(id);
                return(visita != null?Response.AsJson(getVisitaRequest(visita)) : new Response().WithStatusCode(HttpStatusCode.NotFound));
            };

            Get["/visita/{fechaInicial:datetime(yyyy-MM-dd)}/{fechaFinal:datetime(yyyy-MM-dd)}"] = parameters =>
            {
                DateTime fechaInicial = parameters.fechaInicial;
                DateTime fechaFinal   = parameters.fechaFinal;
                var      visitas      = repository.visitasEntreFechas(fechaInicial, fechaFinal);
                return(Response.AsJson(visitas.Select(getVisitaRequest)));
            };
        }