public HttpResponseMessage DeleteOrder(int id) { string token = Request.Headers.Authorization.Parameter; JwtAuthUtil jwtAuthUtil = new JwtAuthUtil(); int Mid = Convert.ToInt32(jwtAuthUtil.GetId(token)); var seller = db.Members.Find(Mid); if (seller.Permission != "02") { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { success = false, message = "使用者權限非規劃師,無刪除權限" })); } Order order = db.Orders.Find(id); if (order == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, new { success = false, message = "查無此訂單" })); } db.Orders.Remove(order); db.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, new{ success = true, message = "成功刪除訂單" })); }
public IHttpActionResult PutOrder(int id, Order order) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != order.id) { return(BadRequest()); } db.Entry(order).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!OrderExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetOrder(int id) { Order order = db.Orders.Find(id); if (order == null) { return(NotFound()); } return(Ok(order)); }
public HttpResponseMessage PostOrder(Order order) { string token = Request.Headers.Authorization.Parameter; JwtAuthUtil jwtAuthUtil = new JwtAuthUtil(); int Mid = Convert.ToInt32(jwtAuthUtil.GetId(token)); if (order.TravelPlan_id == 0) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { success = false, message = "旅行計畫不得為空值" })); } var member = db.Members.Find(Mid); TravelPlan travel = new TravelPlan(); order.MemberId = Mid; order.CreateOn = DateTime.Now; order.Status = 1; var result1 = String.Join("", order.DepartureTime1); // why doesn't it split? var planner = db.TravelPlans.Find(order.TravelPlan_id); order.PlannerId = planner.MemberId; if (Mid == order.PlannerId) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { success = false, message = "自己的計劃不能自己買RRRRRRRRR" })); } var currentPoints = member.points - planner.points; order.PointsLeft = currentPoints; member.points = currentPoints; db.Orders.Add(order); db.Entry(member).State = EntityState.Modified; db.SaveChanges(); var result = db.Orders.Where(x => x.id == order.id).Select(x => new { x.id, x.MemberId, x.MyMember.name, x.MyMember.Tel, x.MyMember.Email, x.DepartureTime1, x.DepartureTime2, x.Budget, x.Adult, x.Children, x.country, x.city, x.Remark, x.TravelPlan_id, x.PlannerId, x.Status, x.PointsLeft, x.Act, x.Culture, x.Food, x.Shopping, x.Secret, x.Religion }); return(Request.CreateResponse(HttpStatusCode.OK, new { success = true, message = "旅行計畫建立成功", result })); }
[Route("update/{id}")] //planner send confirmation back public HttpResponseMessage PatchOrder(int id, Order order) { string token = Request.Headers.Authorization.Parameter; JwtAuthUtil jwtAuthUtil = new JwtAuthUtil(); int Mid = Convert.ToInt32(jwtAuthUtil.GetId(token)); var seller = db.Members.Find(Mid); if (seller.Permission != "02") { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } var orderConfirm = db.Orders.Find(id); if (orderConfirm.Status == 1) { orderConfirm.Status = order.Status; db.SaveChanges(); var result1 = db.Orders.Where(x => x.id == id).Select(x => new { x.id, x.MemberId, x.MyMember.name, x.MyMember.Tel, x.MyMember.Email, x.DepartureTime1, x.DepartureTime2, x.Budget, x.Adult, x.Children, x.country, x.city, x.TravelPlan_id, x.PlannerId, x.Status, x.Remark, x.Act, x.Culture, x.Food, x.Shopping, x.Secret, x.Religion }); return(Request.CreateResponse(HttpStatusCode.OK, new { success = true, message = "委任中", result1 })); } if (orderConfirm.Status == 2) { orderConfirm.Status = order.Status; //var member = db.Members.Find(orderConfirm.PlannerId); //var planPoints = db.TravelPlans.Find(orderConfirm.PlannerId); //var newPoints = member.points + planPoints.points; //member.points = newPoints; //db.Entry(member).State = EntityState.Modified; db.SaveChanges(); var result2 = db.Orders.Where(x => x.id == id).Select(x => new { x.id, x.MemberId, x.MyMember.name, x.MyMember.Tel, x.DepartureTime1, x.DepartureTime2, x.Budget, x.Adult, x.Children, x.country, x.city, x.TravelPlan_id, x.Status, x.Remark, x.Act, x.Culture, x.Food, x.Shopping, x.Secret, x.Religion }); return(Request.CreateResponse(HttpStatusCode.OK, new { success = true, message = "已完成", result2 })); } if (orderConfirm.Status == 3) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { success = false, message = "訂單已完成,無須任何動作" })); } return(Request.CreateResponse(HttpStatusCode.NoContent)); }