示例#1
0
        public async Task taxaccountnumber_add_update_delete()
        {
            var httpclient = fixture.Client;;

            if (String.IsNullOrEmpty(TokenTest.TokenValue))
            {
                await TokenTest.token_get(httpclient);
            }
            //
            TaxAccountNumberViewModel taxaccountnumber = new TaxAccountNumberViewModel
            {
                //MANUAL UPDATES REQUIRED!
                TestText = "tt updated"
            };

            httpclient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TokenTest.TokenValue);
            var response = await httpclient.PostAsync("/api/taxaccountnumber", new StringContent(
                                                          JsonConvert.SerializeObject(taxaccountnumber), 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 UtilityExt();
            var vmentity = await util.GetTaxAccountNumber(httpclient, id);

            //update test
            vmentity.TestText = "tt updated";
            response          = await httpclient.PutAsync("/api/taxaccountnumber/" + id.ToString(), new StringContent(JsonConvert.SerializeObject(vmentity), Encoding.UTF8, "application/json"));

            response.EnsureSuccessStatusCode();
            Assert.Equal(HttpStatusCode.Accepted, response.StatusCode);

            //confirm update
            response = await httpclient.GetAsync("/api/taxaccountnumber/" + id.ToString());

            response.EnsureSuccessStatusCode();
            var jsonString = await response.Content.ReadAsStringAsync();

            var oj = JObject.Parse(jsonString);
            var tt = oj["testText"].ToString();

            Assert.Equal(tt, vmentity.TestText);

            //another update with same account - concurrency
            vmentity.TestText = "tt updated 2";
            response          = await httpclient.PutAsync("/api/taxaccountnumber/" + id.ToString(), new StringContent(JsonConvert.SerializeObject(vmentity), Encoding.UTF8, "application/json"));

            Assert.Equal(HttpStatusCode.PreconditionFailed, response.StatusCode);

            //delete test
            response = await httpclient.DeleteAsync("/api/taxaccountnumber/" + id.ToString());

            response.EnsureSuccessStatusCode();
            Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
        }
示例#2
0
        public async Task <IActionResult> Create([FromBody] TaxAccountNumberViewModel taxaccountnumber)
        {
            if (taxaccountnumber == null)
            {
                return(BadRequest());
            }

            var id = await _taxaccountnumberServiceAsync.Add(taxaccountnumber);

            return(Created($"api/TaxAccountNumber/{id}", id));  //HTTP201 Resource created
        }
示例#3
0
        public async Task <int> addTaxAccountNumber(HttpClient client)
        {
            TaxAccountNumberViewModel vmentity = new TaxAccountNumberViewModel
            {
                //MANUAL UPDATES REQUIRED!
                //initiate viewmodel object
                TestText = "tt updated"
            };

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TokenTest.TokenValue);
            var response = await client.PostAsync("/api/taxaccountnumber", new StringContent(
                                                      JsonConvert.SerializeObject(vmentity), Encoding.UTF8, "application/json"));

            var jsonString = await response.Content.ReadAsStringAsync();

            int lastAdded = 0;

            int.TryParse(jsonString, out lastAdded);
            return(lastAdded);
        }
示例#4
0
        public async Task <IActionResult> Update(int id, [FromBody] TaxAccountNumberViewModel taxaccountnumber)
        {
            if (taxaccountnumber == null || taxaccountnumber.Id != id)
            {
                return(BadRequest());
            }

            var retVal = await _taxaccountnumberServiceAsync.Update(taxaccountnumber);

            if (retVal == 0)
            {
                return(StatusCode(304));                 //Not Modified
            }
            else if (retVal == -1)
            {
                return(StatusCode(412, "DbUpdateConcurrencyException"));  //412 Precondition Failed  - concurrency
            }
            else
            {
                return(Accepted(taxaccountnumber));
            }
        }