private void AddRegisteredUser(LoyaltyProgramUser newUser) { var userId = registeredUsers.Count; newUser.Id = userId; registeredUsers[userId] = newUser; }
public async Task allow_modifying_users() { var expected = "jane"; var user = new LoyaltyProgramUser(0, "Christian", 0, new LoyaltyProgramSettings()); var registrationResponse = await this.sut.PostAsync( "/users", new StringContent(JsonSerializer.Serialize(user), Encoding.UTF8, "application/json")); var newUser = await JsonSerializer.DeserializeAsync <LoyaltyProgramUser>( await registrationResponse.Content.ReadAsStreamAsync(), new JsonSerializerOptions { PropertyNameCaseInsensitive = true }) !; var updatedUser = newUser !with { Name = expected }; var actual = await this.sut.PutAsync($"/users/{newUser.Id}", new StringContent(JsonSerializer.Serialize(updatedUser), Encoding.UTF8, "application/json")); var actualUser = await JsonSerializer.DeserializeAsync <LoyaltyProgramUser>( await actual.Content.ReadAsStreamAsync(), new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); Assert.Equal(HttpStatusCode.OK, actual.StatusCode); Assert.Equal(expected, actualUser?.Name); }
private LoyaltyProgramUser RegisterUser(LoyaltyProgramUser user) { var userId = RegisteredUsers.Count; return(RegisteredUsers[userId] = user with { Id = userId });
public int AddUser(LoyaltyProgramUser user) { var id = GenerateNextUserId(); user.Id = id; _storage.Add(id, user); return(id); }
private dynamic CreatedResponse(LoyaltyProgramUser newUser) { return (this.Negotiate .WithStatusCode(HttpStatusCode.Created) .WithHeader("Location", this.Request.Url.SiteBase + "/users/" + newUser.Id) .WithModel(newUser)); }
private void AddRegisteredUser(LoyaltyProgramUser newUser) { // Store the newUser to a data store var userId = registeredUsers.Count; newUser.Id = userId; registeredUsers[userId] = newUser; }
private void ProcessUserRegistration(string cmd) { var newUser = new LoyaltyProgramUser { Name = cmd.Substring(1).Trim() }; var response = client.RegisterUser(newUser).Result; PrettyPrintResponse(response); }
private static LoyaltyProgramUser CreateDummyUser() { var user = new LoyaltyProgramUser { Id = GenerateNextUserId() }; _storage.Add(user.Id, user); return(user); }
public ActionResult <LoyaltyProgramUser> CreateUser([FromBody] LoyaltyProgramUser user) { if (user == null) { return(BadRequest()); } var newUser = RegisterUser(user); return(Created(new Uri($"/users/{newUser.Id}", UriKind.Relative), newUser)); }
private void UpdateProperty(LoyaltyProgramUser source, LoyaltyProgramUser target, string propertyName) { var propertyInfo = typeof(LoyaltyProgramUser).GetProperty(propertyName); var sourceValue = propertyInfo.GetValue(source); var targetValue = propertyInfo.GetValue(target); if (sourceValue != null && !sourceValue.Equals(targetValue)) { propertyInfo.SetValue(target, sourceValue); } }
private async Task <HttpResponseMessage> DoUpdateUser(LoyaltyProgramUser user) { using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Add("Accept", "application/json"); httpClient.BaseAddress = new Uri($"http://{_hostName}"); var response = await httpClient.PutAsync($"/users/{user.Id}", new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, "application/json")); ThrowOnTransientFailure(response); return(response); } }
public void UpdateUser(int userId, LoyaltyProgramUser user) { if (!_storage.ContainsKey(userId)) { return; } var existingUser = _storage[userId]; UpdateProperty(user, existingUser, nameof(LoyaltyProgramUser.Name)); UpdateProperty(user, existingUser, nameof(LoyaltyProgramUser.LoyaltyPoints)); UpdateProperty(user, existingUser, nameof(LoyaltyProgramUser.Settings)); }
public async Task allow_to_register_new_user() { var expected = new LoyaltyProgramUser { Name = "Chr" }; var registrationResponse = await _sut.Post("/users", with => with.JsonBody(expected)); var newUser = registrationResponse.Body.DeserializeJson <LoyaltyProgramUser>(); var actual = await _sut.Get($"/users/{newUser.Id}"); Assert.Equal(HttpStatusCode.OK, actual.StatusCode); Assert.Equal(expected.Name, actual.Body.DeserializeJson <LoyaltyProgramUser>().Name); }
private async Task <HttpResponseMessage> DoRegisterUser(LoyaltyProgramUser newUser) { using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Add("Accept", "application/json"); //httpClient.DefaultRequestHeaders.Add("Content-Type", "application/json"); // this is automatically added by the stringContent below httpClient.BaseAddress = new Uri($"http://{_hostName}"); var stringContent = new StringContent(JsonConvert.SerializeObject(newUser), Encoding.UTF8, "application/json"); var response = await httpClient.PostAsync("/users/", stringContent); ThrowOnTransientFailure(response); return(response); } }
public async Task allow_modifying_users() { var expected = "jane"; var user = new LoyaltyProgramUser { Name = "Chr" }; var registrationResponse = await _sut.Post("/users", with => with.JsonBody(user)); var newUser = registrationResponse.Body.DeserializeJson <LoyaltyProgramUser>(); newUser.Name = expected; var actual = await _sut.Put($"/users/{newUser.Id}", with => with.JsonBody(newUser)); Assert.Equal(expected, actual.Body.DeserializeJson <LoyaltyProgramUser>().Name); }
public async Task <IActionResult> RegisterUser([FromBody] LoyaltyProgramUser newUser) { if (newUser != null) { await _loyaltyContext.LoyaltyProgramUser.AddAsync(newUser); await _loyaltyContext.SaveChangesAsync(); var createdUserUrl = this.Request.Host + "/users/" + newUser.Id; return(Created(createdUserUrl, newUser)); } return(BadRequest("Ошибка при регистрации пользователя")); }
public ActionResult <LoyaltyProgramUser> UpdateUser( int userId, [FromBody] LoyaltyProgramUser user) { var hasUserId = int.TryParse( this.User.Claims.FirstOrDefault(c => c.Type == "userid")?.Value, out var userIdFromToken); if (!hasUserId || userId != userIdFromToken) { return(Unauthorized()); } return(RegisteredUsers[userId] = user); }
public async Task <IActionResult> UpdateUserAsync([FromBody] LoyaltyProgramUser user) { if (user == null) { return(BadRequest("Требуется пользователь")); } var usersSettings = new List <LoyaltyProgramSettings>(); usersSettings = user.Settings.ToList(); _loyaltyContext.LoyaltyProgramUser.Update(user); await _loyaltyContext.SaveChangesAsync(); return(Ok(user)); }
public async Task allow_to_register_new_user() { var expected = new LoyaltyProgramUser(0, "Christian", 0, new LoyaltyProgramSettings()); var registrationResponse = await this.sut.PostAsync("/users", new StringContent(JsonSerializer.Serialize(expected), Encoding.UTF8, "application/json")); var newUser = await JsonSerializer.DeserializeAsync <LoyaltyProgramUser>( await registrationResponse.Content.ReadAsStreamAsync(), new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); var actual = await this.sut.GetAsync($"/users/{newUser?.Id}"); var actualUser = JsonSerializer.Deserialize <LoyaltyProgramUser>(await actual.Content.ReadAsStringAsync(), new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); Assert.Equal(HttpStatusCode.OK, actual.StatusCode); Assert.Equal(expected.Name, actualUser?.Name); }
public ActionResult <LoyaltyProgramUser> CreateUser([FromBody] LoyaltyProgramUser user) => Created(new Uri($"/users/{RegisterUser(user).Id}", UriKind.Relative), RegisterUser(user));
public async Task <HttpResponseMessage> UpdateUser(LoyaltyProgramUser user) { return(await __exponentialRetryPolicy.ExecuteAsync(() => DoUpdateUser(user))); }
public ActionResult Put(int userId, [FromBody] LoyaltyProgramUser updatedUser) { // Store the updatedUser to a data store registeredUsers[userId] = updatedUser; return(Ok(updatedUser)); }
public ActionResult Post([FromBody] LoyaltyProgramUser newUser) { AddRegisteredUser(newUser); return(CreatedAtRoute("GetUser", new { userId = newUser.Id }, newUser)); }
public LoyaltyProgramUser UpdateUser( int userId, [FromBody] LoyaltyProgramUser user) => RegisteredUsers[userId] = user;
public async Task <HttpResponseMessage> RegisterUser(LoyaltyProgramUser newUser) { return(await __exponentialRetryPolicy.ExecuteAsync(() => DoRegisterUser(newUser))); }