public async Task <IHttpActionResult> GetOrderform(int id) { Orderform orderform = await db.Orderforms.FindAsync(id); if (orderform == null) { return(NotFound()); } await db.Entry(orderform).Collection(odf => odf.SERecords).LoadAsync(); return(Ok(orderform)); }
public async Task <IHttpActionResult> GetOrderform(int id) { Orderform orderform = await db.Orderforms.FindAsync(id); if (orderform == null) { return(NotFound()); } var usr = (User)HttpContext.Current.User; if (orderform.UserID != usr.UserID) { return(Unauthorized()); } await db.Entry(orderform).Collection(odf => odf.SERecords).LoadAsync(); await db.Entry(orderform).Reference(odf => odf.Address).LoadAsync(); // await db.Entry(orderform).Reference(odf => odf.Logistic).LoadAsync(); await db.Entry(orderform.Logistic).Collection(log => log.LogisticInfos).LoadAsync(); return(Ok(orderform)); }
/// <summary> /// 订单显示 。。。。 /// </summary> /// <param name="data"></param> /// <returns></returns> public UnitedReturn OrderShow(object data) { var ass = 0; Orderform orderforms = new Orderform(); //object初始值是System.object 所以判断一下 if (data.ToString() != "System.object" && data.ToString() != "1") { orderforms = JsonConvert.DeserializeObject <Orderform>(data.ToString()); } else { ass = 1; data = 1; } string sql = string.Format("select * from Orderform o join UserInfo u on u.UserId=o.UserId join CommodityInfo c on c.CommodityId = o.CommodityId join LogisticsInfo l on l.LogisticsId = o.LogisticsId join ShopInfo s on s.ShopId = u.ShopId join TypeInfo t on t.TypeId = c.TypeId "); var datas = YxDBHelper.GetToList <Orderform>(sql); UnitedReturn unitedReturn = new UnitedReturn(); if (datas.Count > 0 && datas != null) { if (ass != 1) { if (orderforms.OrderState >= 0) { datas = datas.Where(s => s.OrderState == orderforms.OrderState).ToList(); } if (Convert.ToInt32(orderforms.OrderformId) > 0) { datas = datas.Where(s => s.OrderformId == orderforms.OrderformId).ToList(); } if (orderforms.UserName.Length > 0 && !string.IsNullOrEmpty(orderforms.UserName)) { datas = datas.Where(s => s.UserName.Contains(orderforms.UserName)).ToList(); } if (orderforms.UserNumder.Length > 0 && !string.IsNullOrEmpty(orderforms.UserNumder)) { datas = datas.Where(s => s.UserNumder == orderforms.UserNumder).ToList(); } if (orderforms.CommodityName.Length > 0 && !string.IsNullOrEmpty(orderforms.CommodityName)) { datas = datas.Where(s => s.CommodityName.Contains(orderforms.CommodityName)).ToList(); } if (orderforms.LogisticsId > 0) { datas = datas.Where(s => s.LogisticsId == orderforms.LogisticsId).ToList(); } } unitedReturn.data = datas; unitedReturn.res = 1; unitedReturn.msg = "获取信息成功"; //如果res为空 说明查询没有结果 if (datas.Count == 0) { unitedReturn.msg = "获取信息成功,但是没有查询到结果"; } } else { unitedReturn.data = null; unitedReturn.res = 0; unitedReturn.msg = "获取信息失败"; } return(unitedReturn); }
public async Task <IHttpActionResult> AddPostForm([FromBody] AddPostFormRequest addPostFormRequest) { if (addPostFormRequest == null || addPostFormRequest.SaleSingleRecords == null) { return(BadRequest()); } var currentUsr = (User)HttpContext.Current.User; // TODO: find out how to cascade create!!!! // create orderform and it's logistic Orderform orderform = new Orderform(); Logistic logistic = new Logistic(); logistic.Orderform = orderform; orderform.Logistic = logistic; logistic.State = 0; orderform.UserID = currentUsr.UserID; orderform.AddressID = addPostFormRequest.AddressID; var address = await db.Addresses.FindAsync(addPostFormRequest.AddressID); if (address == null) { return(NotFound()); } logistic.ToAddress = address.DetailAddress; // orderform.AddressID db.Orderforms.Add(orderform); db.Logistics.Add(logistic); float totalPrice = 0; System.Diagnostics.Debug.WriteLine("Get has:" + currentUsr.NickName); foreach (var record in addPostFormRequest.SaleSingleRecords) { var seRecord = new SERecord() { SaleEntityID = record.SaleEntityID, EntityNum = record.Number ?? 1, }; System.Diagnostics.Debug.WriteLine("ADD ONE"); seRecord.OrderformID = orderform.OrderformID; seRecord.SaleEntityID = seRecord.SaleEntityID; // orderform.SERecord = seRecord; var saleEntity = await db.SaleEntities.FindAsync(seRecord.SaleEntityID); totalPrice += (float)(saleEntity).Price; // load good // await db.Entry(saleEntity).Reference(s => s.GoodEntity).LoadAsync(); logistic.FromAddress = (await db.GoodEntities.FindAsync(saleEntity.GoodEntityID)).SellProvince; db.SaleEntityRecords.Add(seRecord); } await db.Entry(logistic).Collection(logis => logis.LogisticInfos).LoadAsync(); orderform.TotalPrice = totalPrice; System.Diagnostics.Debug.WriteLine("Total Price " + totalPrice); await db.SaveChangesAsync(); var resp = Request.CreateResponse(HttpStatusCode.NoContent); resp.Headers.Add("Location", "/api/Orderforms/" + orderform.OrderformID); return(ResponseMessage(resp)); }