public IHttpActionResult Update(WareHouse wareHouse) { WareHouseResponse response = new WareHouseResponse(); try { WareHouse wareHouseSaved = wareHouseBL.UpdateWareHouse(wareHouse); response.WareHouse = wareHouseSaved; response.Success = true; } catch (WareHouseException ex) { response.ErrorCode = ex.Error; response.ErrorMessage = "Error. " + ex.Error.ToString(); response.WareHouse = null; response.Success = false; } catch (Exception ex) { response.ErrorMessage = "Error. " + ex.Message; response.WareHouse = null; response.Success = false; } return(Ok(response)); }
public void TestInsertUpdateErrors() { Token token = TokenHelper.GetToken(baseUrl, "Melvin3", "MelvinPass3"); JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); //Test insert WareHouse wareHouse = new WareHouse(); string jsonTicket = javaScriptSerializer.Serialize(wareHouse); //Post add ticket HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.access_token); //Test insert HttpResponseMessage response = client.PostAsJsonAsync(insertAction, wareHouse).Result; Assert.IsTrue(response.IsSuccessStatusCode); WareHouseResponse wareHouseResponse = response.Content.ReadAsAsync <WareHouseResponse>().Result; Assert.IsFalse(wareHouseResponse.Success); Assert.IsTrue(wareHouseResponse.ErrorCode.HasFlag(WareHouseError.InvalidName)); Assert.IsTrue(wareHouseResponse.ErrorCode.HasFlag(WareHouseError.InvalidAddress)); //Test update response = client.PostAsJsonAsync(updateAction, wareHouse).Result; Assert.IsTrue(response.IsSuccessStatusCode); wareHouseResponse = response.Content.ReadAsAsync <WareHouseResponse>().Result; Assert.IsFalse(wareHouseResponse.Success); Assert.IsTrue(wareHouseResponse.ErrorCode.HasFlag(WareHouseError.InvalidName)); Assert.IsTrue(wareHouseResponse.ErrorCode.HasFlag(WareHouseError.InvalidAddress)); }
public void TestDeleteErrors() { Token token = TokenHelper.GetToken(baseUrl, "Melvin3", "MelvinPass3"); JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.access_token); //Test delete HttpResponseMessage response = client.PostAsJsonAsync(deleteAction, new IdModel(0)).Result; Assert.IsTrue(response.IsSuccessStatusCode); WareHouseResponse wareHouseResponse = response.Content.ReadAsAsync <WareHouseResponse>().Result; Assert.IsFalse(wareHouseResponse.Success); Assert.IsTrue(wareHouseResponse.ErrorCode.HasFlag(WareHouseError.InvalidId)); }
public void SaveWareHouse() { bool reLoadList = false; HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/bson")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token.access_token); string action = string.Empty; if (rancherView.CurrentWareHouse.Id == 0) { //insert action = insertAction; reLoadList = true; } else { action = updateAction; } //update MediaTypeFormatter bsonFormatter = new BsonMediaTypeFormatter(); HttpResponseMessage response = client.PostAsync(action, rancherView.CurrentWareHouse, bsonFormatter).Result; response.EnsureSuccessStatusCode(); MediaTypeFormatter[] formatters = new MediaTypeFormatter[] { bsonFormatter }; WareHouseResponse rancherResponse = response.Content.ReadAsAsync <WareHouseResponse>(formatters).Result; if (rancherResponse.Success) { if (rancherResponse.WareHouse != null) { if (reLoadList) { LoadWareHouses(); rancherView.SelectedId = rancherResponse.WareHouse.Id; } } } else { throw new WareHouseException(rancherResponse.ErrorCode, rancherResponse.ErrorMessage); } }
public void DeleteWareHouse() { HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token.access_token); HttpResponseMessage response = client.PostAsJsonAsync(deleteAction, new IdModel(rancherView.SelectedId)).Result; if (response.IsSuccessStatusCode) { WareHouseResponse rancherResponse = response.Content.ReadAsAsync <WareHouseResponse>().Result; if (rancherResponse.Success) { //Deleted! LoadWareHouses(); PropertyCopier.CopyProperties(new WareHouse(), rancherView.CurrentWareHouse); rancherView.CurrentWareHouse.RaiseUpdateProperties(); rancherView.SelectedId = -1; } } }
public IHttpActionResult Delete(IdModel id) { WareHouseResponse response = new WareHouseResponse(); try { bool success = wareHouseBL.DeleteWareHouse(id.Id); response.Success = success; } catch (WareHouseException ex) { response.ErrorCode = ex.Error; response.ErrorMessage = "Error. " + ex.Error.ToString(); response.WareHouse = null; response.Success = false; } catch (Exception ex) { response.ErrorMessage = "Error. " + ex.Message; response.WareHouse = null; response.Success = false; } return(Ok(response)); }
public void TestInsertUpdateAndGetWareHouse() { //Get token Token token = TokenHelper.GetToken(baseUrl, "Melvin3", "MelvinPass3"); JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); //Test insert WareHouse wareHouse = WareHouseHelper.CreateDummyWareHouse(); string jsonTicket = javaScriptSerializer.Serialize(wareHouse); //Post add ticket HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.access_token); HttpResponseMessage response = client.PostAsJsonAsync(insertAction, wareHouse).Result; Assert.IsTrue(response.IsSuccessStatusCode); WareHouseResponse wareHouseResponse = response.Content.ReadAsAsync <WareHouseResponse>().Result; Assert.IsTrue(wareHouseResponse.Success); Assert.IsTrue(wareHouseResponse != null); Assert.IsTrue(wareHouseResponse.WareHouse.Id > 0); //get by id string getByIdUrl = string.Format("{0}?id={1}", getByIdAction, wareHouseResponse.WareHouse.Id.ToString()); response = client.GetAsync(getByIdUrl).Result; Assert.IsTrue(response.IsSuccessStatusCode); GetWareHouseResponse getWareHouseResponse = response.Content.ReadAsAsync <GetWareHouseResponse>().Result; Assert.IsTrue(getWareHouseResponse.Success); Assert.IsTrue(getWareHouseResponse.WareHouses.Count == 1); Assert.IsTrue(getWareHouseResponse.WareHouses.ElementAt(0).Id == wareHouseResponse.WareHouse.Id); //get all response = client.GetAsync(getAllAction).Result; Assert.IsTrue(response.IsSuccessStatusCode); getWareHouseResponse = response.Content.ReadAsAsync <GetWareHouseResponse>().Result; Assert.IsTrue(getWareHouseResponse.Success); WareHouse wareHouseFound = (from produc in getWareHouseResponse.WareHouses where produc.Id == wareHouseResponse.WareHouse.Id select produc).FirstOrDefault(); Assert.IsTrue(wareHouseFound != null); //test update wareHouse.Id = wareHouseResponse.WareHouse.Id; wareHouse.Address = "UpdatedAddress"; wareHouse.Name = "UpdatedName"; response = client.PostAsJsonAsync(updateAction, wareHouse).Result; Assert.IsTrue(response.IsSuccessStatusCode); wareHouseResponse = response.Content.ReadAsAsync <WareHouseResponse>().Result; Assert.IsTrue(wareHouseResponse.Success); //Get ticket again and check it was updated response = client.GetAsync(getByIdUrl).Result; Assert.IsTrue(response.IsSuccessStatusCode); getWareHouseResponse = response.Content.ReadAsAsync <GetWareHouseResponse>().Result; Assert.IsTrue(getWareHouseResponse.Success); Assert.IsTrue(getWareHouseResponse.WareHouses.Count == 1); Assert.IsTrue(getWareHouseResponse.WareHouses.ElementAt(0).Address == "UpdatedAddress"); Assert.IsTrue(getWareHouseResponse.WareHouses.ElementAt(0).Name == "UpdatedName"); //test delete response = client.PostAsJsonAsync(deleteAction, new IdModel(wareHouseResponse.WareHouse.Id)).Result; Assert.IsTrue(response.IsSuccessStatusCode); wareHouseResponse = response.Content.ReadAsAsync <WareHouseResponse>().Result; Assert.IsTrue(wareHouseResponse.Success); //Get ticket again and check it is not found response = client.GetAsync(getByIdUrl).Result; Assert.IsTrue(response.IsSuccessStatusCode); getWareHouseResponse = response.Content.ReadAsAsync <GetWareHouseResponse>().Result; Assert.IsTrue(getWareHouseResponse.Success); Assert.IsTrue(getWareHouseResponse.WareHouses.Count == 0); }