public async Task <IActionResult> Create([FromBody] CompanyAccountViewModel companyAccount) { if (companyAccount == null) { return(BadRequest()); } var id = await _companyAccountServiceAsync.Add(companyAccount); return(Created($"api/Account/{id}", id)); //HTTP201 Resource created }
public async Task <IActionResult> Update(Int64 id, [FromBody] CompanyAccountViewModel companyAccount) { if (companyAccount == null || companyAccount.Id != id) { return(BadRequest()); } var retVal = await _companyAccountServiceAsync.Update(companyAccount); if (retVal == 0) { return(StatusCode(304)); //Not Modified } else if (retVal == -1) { return(StatusCode(412, "DbUpdateConcurrencyException")); //412 Precondition Failed - concurrency } else { return(Accepted(companyAccount)); } }
public async Task <int> addAccount(HttpClient client) { CompanyAccountViewModel companyAccount = new CompanyAccountViewModel { Name = "Account", Email = "*****@*****.**", Description = "desc" + (new Random()).Next().ToString(), IsTrial = false, IsActive = true, SetActive = DateTime.Now }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TokenTest.TokenValue); var response = await client.PostAsync("/api/accountasync", new StringContent( JsonConvert.SerializeObject(companyAccount), Encoding.UTF8, "application/json")); var jsonString = await response.Content.ReadAsStringAsync(); int lastAdded = 0; int.TryParse(jsonString, out lastAdded); return(lastAdded); }
public async Task account_add_update_delete_async() { var client = fixture.Client; if (String.IsNullOrEmpty(TokenTest.TokenValue)) { await TokenTest.token_get(client); } //insert CompanyAccountViewModel vmentity = new CompanyAccountViewModel { Name = "Account 1", Email = "*****@*****.**", Description = "desc", IsTrial = false, IsActive = true, SetActive = DateTime.Now }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TokenTest.TokenValue); var response = await client.PostAsync("/api/accountasync", new StringContent( JsonConvert.SerializeObject(vmentity), Encoding.UTF8, "application/json")); response.EnsureSuccessStatusCode(); Assert.Equal(HttpStatusCode.Created, response.StatusCode); var lastAddedId = await response.Content.ReadAsStringAsync(); Assert.True(int.Parse(lastAddedId) > 1); int id = 0; int.TryParse(lastAddedId, out id); //get inserted var util = new Utility(); vmentity = await util.GetAccount(client, id); //update test vmentity.Description = "desc updated"; response = await client.PutAsync("/api/accountasync/" + id.ToString(), new StringContent(JsonConvert.SerializeObject(vmentity), Encoding.UTF8, "application/json")); response.EnsureSuccessStatusCode(); Assert.Equal(HttpStatusCode.Accepted, response.StatusCode); //confirm update response = await client.GetAsync("/api/accountasync/" + id.ToString()); response.EnsureSuccessStatusCode(); var jsonString = await response.Content.ReadAsStringAsync(); var oj = JObject.Parse(jsonString); var desc = oj["description"].ToString(); Assert.Equal(desc, vmentity.Description); //another update with same account - concurrency vmentity.Description = "desc updated 2"; response = await client.PutAsync("/api/accountasync/" + id.ToString(), new StringContent(JsonConvert.SerializeObject(vmentity), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.PreconditionFailed, response.StatusCode); //delete test response = await client.DeleteAsync("/api/accountasync/" + id.ToString()); response.EnsureSuccessStatusCode(); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); }