Ejemplo n.º 1
0
        public RunModule(IHamstringData db, Models models)
        {
            this.RequiresAuthentication();

              Post["/run"] = p => {
            var member = Context.CurrentUser.ToMember(db);

            try {
              var runModel = this.Bind<RunModel>();
              var run = new Run {
            Id = Guid.NewGuid(),
            Duration = runModel.Time,
            MemberId = member.Id,
            RouteId = runModel.Where,
            ScheduledAt = runModel.When
              };
              db.Runs.Add(run);
              db.SaveChanges();

              return Response.AsJson(new { id = run.Id });

            } catch (Exception ex) {

              return Response.AsJson(
            new { error = ex.Message },
            HttpStatusCode.InternalServerError);
            }
              };

              Get["/run/{id}"] = p => {
            var member = Context.CurrentUser.ToMember(db);
            Guid? id = p.id;
            if (id == null) return HttpStatusCode.NotFound;
            var run = db.Runs
              .SingleOrDefault(r => r.Id == id && r.MemberId == member.Id);
            if (run == null) return HttpStatusCode.NotFound;

            dynamic model = models.RunModel(member, id.Value).Create();
            return Response.AsJson((Object)model);
              };
        }
Ejemplo n.º 2
0
 public RunModelFactory(IHamstringData db, Member member, Guid runId)
 {
     _db = db;
       _member = member;
       _runId = runId;
 }
 public static Member ToMember(this IUserIdentity @this, IHamstringData db)
 {
     return db.Members.Single(m => m.Handle == @this.UserName);
 }
 public PortalModelFactory(IHamstringData db, Member member)
 {
     _db = db;
       _member = member;
 }
 public MainModelFactory(IHamstringData db, IRaceServiceProxy proxy)
 {
     _db = db;
       _proxy = proxy;
 }
Ejemplo n.º 6
0
 public Models(IHamstringData db, IRaceServiceProxy proxy)
 {
     _db = db;
       _proxy = proxy;
 }