예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        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));
        }