public SupervisorLugaresVisitaModuleQuery(ISerializeJsonRequest serializerJson, Func <string, IEncrytRequestProvider> encryptRequestProvider, ITokenizer tokenizer, IVisitaRepositoryReadOnly repository) { Post["/movil/supervisor/lugaresVisita/"] = _ => { var movilRequest = this.Bind <MovilRequest>(); var userId = tokenizer.Detokenize(movilRequest.token, Context); if (userId == null) { return(new Response().WithStatusCode(HttpStatusCode.Unauthorized)); } var actualUser = userId.UserName; var user = new User(actualUser, "", "", "", "", new RolNull()); var supervisor = repository.getAgendaSupervisor(user); if (supervisor == null) { return(new Response().WithStatusCode(HttpStatusCode.NotFound)); } var agenda = getSupervisorRequest(supervisor); var agendaString = serializerJson.toJson(agenda); var respuestaEncryptada = encryptRequestProvider(movilRequest.token).encryptString(agendaString); return(respuestaEncryptada); }; }
public SupervisorAvailableModuleQuery(IVisitaRepositoryReadOnly repositoryRead) { Get["/visita/supervisores/available/{fechaInicial:datetime(yyyy-MM-dd)}/{fechaFinal:datetime(yyyy-MM-dd)}"] = parameters => { DateTime fechaInicial = parameters.fechaInicial; DateTime fechaFinal = parameters.fechaFinal; if (fechaInicial < fechaFinal) { var userMapping = new UserMapping(); var usersAvailable = repositoryRead.usuariosSinVisitaAgendada(fechaInicial, fechaFinal); return(Response.AsJson(userMapping.convertToRequest(usersAvailable)) .WithStatusCode(HttpStatusCode.OK)); } return(new Response() .WithStatusCode(HttpStatusCode.BadRequest)); }; }
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))); }; }
public CommandUpdateVisita(IVisitaRepositoryReadOnly repositoryRead, IRepositoryCommands <Visita> repository, Func <IUnitOfWork> unitOfWork) : base(repository, unitOfWork) { _repositoryRead = repositoryRead; }