public IHttpActionResult VoidTransaction(VoidTransactionViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = User.Identity.GetUserId(); var transaction = db.Transactions .FirstOrDefault(p => p.Id == model.Id); if (transaction == null) { return(BadRequest("Transaction doesn't exist")); } var houseHold = transaction.Account.HouseHold; //if (houseHold.CreatorId == userId || // houseHold.HouseHoldUser.Any(p => p.Id == userId)) //{ transaction.Account.Balance -= transaction.Amount; transaction.IsVoided = true; db.SaveChanges(); return(Ok()); //} //else //{ // return BadRequest("Not authorized"); //} }
public ActionResult VoidTransactions(VoidTransactionViewModel model) { var cookie = Request.Cookies["token"]; if (cookie == null) { return(RedirectToAction("Login", "Account")); } var accessToken = cookie.Value; var httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken); var parameters = new List <System.Collections.Generic.KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("Id", model.Id.ToString())); var formEncodedValues = new FormUrlEncodedContent(parameters); var result = httpClient.PutAsync("http://localhost:54111/api/transactions/VoidTransaction", formEncodedValues).Result; if (result.StatusCode == System.Net.HttpStatusCode.OK) { var jsonString = result.Content.ReadAsStringAsync().Result; var Voided = JsonConvert .DeserializeObject <List <CreateTransactionsViewModel> >(jsonString); ViewBag.Voided = "This transaction has been voided"; return(View(Voided)); } //else if (result.StatusCode == System.Net.HttpStatusCode.BadRequest) //{ // var jsonString = result.Content.ReadAsStringAsync().Result; // var error = JsonConvert.DeserializeObject<ApiResponseModel>(jsonString); // //ModelState.AddModelError("", error.Message); // ViewBag.ErrorMessage = error.Message; //} //else //{ // ViewBag.ErrorMessage = "Something went wrong. Please try again."; // //ModelState.AddModelError("", "Something went wrong"); //} return(View()); }