public HttpResponseMessage Post(ExerciseDescRequest registrationRequest) { ToeTrackerTrainerMobContext context = new ToeTrackerTrainerMobContext(); ExerciseDesc account = context.ExerciseDesc.Where(a => a.ExerciseName == registrationRequest.ExerciseName).SingleOrDefault(); if (account != null) { return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "This exercise already exists")); } else { byte[] salt = CustomLoginProviderUtils.generateSalt(); ExerciseDesc newAccount = new ExerciseDesc { Id = Guid.NewGuid().ToString(), ExerciseName = registrationRequest.ExerciseName, ExerciseDescID = registrationRequest.ExerciseId, MuscleDescID = registrationRequest.MuscleId, SecondaryMuslceId = registrationRequest.SecondaryMuslceId, Unit1 = registrationRequest.Unit1, Unit2 = registrationRequest.Unit2, Unit3 = registrationRequest.Unit3 }; context.ExerciseDesc.Add(newAccount); context.SaveChanges(); return(this.Request.CreateResponse(HttpStatusCode.Created)); } }
protected override void Initialize(HttpControllerContext controllerContext) { base.Initialize(controllerContext); ToeTrackerTrainerMobContext context = new ToeTrackerTrainerMobContext(); DomainManager = new EntityDomainManager <ExcerciseInput>(context, Request, Services); }
// POST api/CustomLogin public HttpResponseMessage Post(LoginRequest loginRequest) { ToeTrackerTrainerMobContext context = new ToeTrackerTrainerMobContext(); Account account = context.Accounts .Where(a => a.Username == loginRequest.username).SingleOrDefault(); if (account != null) { byte[] incoming = CustomLoginProviderUtils .hash(loginRequest.password, account.Salt); if (CustomLoginProviderUtils.slowEquals(incoming, account.SaltedAndHashedPassword)) { ClaimsIdentity claimsIdentity = new ClaimsIdentity(); claimsIdentity.AddClaim(new Claim(ClaimTypes.NameIdentifier, loginRequest.username)); LoginResult loginResult = new CustomLoginProvider(handler) .CreateLoginResult(claimsIdentity, Services.Settings.MasterKey); var customLoginResult = new CustomLoginResult() { UserId = loginResult.User.UserId, MobileServiceAuthenticationToken = loginResult.AuthenticationToken, UserType = account.Trainer == true ? "Trainer" : "Trainee" }; return(this.Request.CreateResponse(HttpStatusCode.OK, customLoginResult)); } } return(this.Request.CreateResponse(HttpStatusCode.Unauthorized, "Invalid username or password")); }
// GET api/EnterExerciseActivity public HttpResponseMessage Post(ExcerciseInput execInput) { ToeTrackerTrainerMobContext context = new ToeTrackerTrainerMobContext(); execInput.Id = Guid.NewGuid().ToString(); context.ExcerciseInputs.Add(execInput); context.SaveChanges(); return(this.Request.CreateResponse(HttpStatusCode.Created, "Success")); }
// GET api/GetMuscles public string Get() { ToeTrackerTrainerMobContext context = new ToeTrackerTrainerMobContext(); List <MuscleDesc> muscles = context.MuscleDesc.ToList <MuscleDesc>(); List <BodyAreaDesc> bdArea = context.BodyAreaDesc.ToList <BodyAreaDesc>(); string strJson = "{"; foreach (BodyAreaDesc ba in bdArea) { strJson += "\"" + ba.BodyAreaName + "\":"; string [] ms = muscles.Where(x => x.BodyAreaDescID == ba.BodyAreaDescID).Select(x => x.MuscleDescName).ToArray(); strJson += "\"" + String.Join(",", ms) + "\","; } strJson = strJson.Substring(0, strJson.Length - 1); strJson += "}"; return(strJson); }
// POST tables/TrainerAssociation public async Task <IHttpActionResult> PostTrainerAssociation(TrainerAssociation item) { ToeTrackerTrainerMobContext context = new ToeTrackerTrainerMobContext(); var currentUser = User as ServiceUser; item.TrainerID = currentUser.Id; item.Id = System.Guid.NewGuid().ToString(); item.Active = true; item.StartDate = DateTime.Now; item.EndDate = DateTime.Now.AddYears(100); if (context.Accounts.Where(x => x.Username == item.TraineeID).Count() > 0) { TrainerAssociation current = await InsertAsync(item); return(CreatedAtRoute("Tables", new { id = current.Id }, current)); } else { throw new Exception("The trainee is not registered, please register the trainee"); } }
// POST api/CustomRegistration public HttpResponseMessage Post(RegistrationRequest registrationRequest) { if (!Regex.IsMatch(registrationRequest.username, "^[a-zA-Z0-9]{4,}$")) { return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid username (at least 4 chars, alphanumeric only)")); } else if (registrationRequest.password.Length < 8) { return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid password (at least 8 chars required)")); } ToeTrackerTrainerMobContext context = new ToeTrackerTrainerMobContext(); Account account = context.Accounts.Where(a => a.Username == registrationRequest.username).SingleOrDefault(); if (account != null) { return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "That username already exists.")); } else { byte[] salt = CustomLoginProviderUtils.generateSalt(); Account newAccount = new Account { Id = Guid.NewGuid().ToString(), Username = registrationRequest.username, Salt = salt, SaltedAndHashedPassword = CustomLoginProviderUtils.hash(registrationRequest.password, salt), FirstName = registrationRequest.FirstName, LastName = registrationRequest.LastName, Phone = registrationRequest.Phone, Address = registrationRequest.Address, Email = registrationRequest.Email, Trainer = registrationRequest.Trainer }; context.Accounts.Add(newAccount); context.SaveChanges(); return(this.Request.CreateResponse(HttpStatusCode.Created, "{\"UserCreation\":\"Success\"}")); } }