/// <summary>
        /// 创建一个明细
        /// </summary>
        /// <param name="detail">(ignore:ID,AddDateTime,TagInfo,AccountName)</param>
        /// <returns></returns>
        public Detail Post(Detail detail)
        {
            var tag = TagService.Get(d => d.ID == detail.TagID);

            if (tag == null)
            {
                throw new Exception("TagID 不存在");
            }

            var account = AccountService.Get(a => a.ID == detail.AccountID);

            if (account == null)
            {
                throw new Exception("AccountID 不存在");
            }

            //将金额改为正数
            if (detail.Amount < 0)
            {
                detail.Amount = Math.Abs(detail.Amount);
            }

            var newDetail = new Detail()
            {
                AccountID   = account.ID,
                AccountName = account.AccountName,
                TagID       = tag.ID,
                TagInfo     = tag.TagInfo,
                Type        = detail.Type,
                Date        = detail.Date.Date,
                Amount      = detail.Amount,
                Note        = detail.Note
            };

            bool result = DetailService.Add(newDetail);

            if (!result)
            {
                throw new Exception("数据创建失败");
            }
            else
            {
                return(newDetail);
            }
        }
Пример #2
0
        // POST: api/Detail
        public HttpResponseMessage Post([FromBody] TravelDetail detail)
        {
            var response = Request.CreateResponse <TravelDetail>(HttpStatusCode.Created, detail);

            try
            {
                service.Add(detail);
            }
            catch (Exception e)
            {
                response = Request.CreateResponse <TravelDetail>(HttpStatusCode.BadRequest, detail);
                return(response);
            }

            string uri = Url.Link("DefaultApi", new { id = detail.TravelId });

            response.Headers.Location = new Uri(uri);

            return(response);
        }
Пример #3
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="context"></param>
        public void AddOrderRequest(HttpContext context)
        {
            var response = new ResponseMessage();

            try
            {
                string productId = context.Request.Form["ProductId"];
                string userId    = context.Request.Form["UserId"];

                var exist = _infoService.GetList().Where(y => y.UserId == userId && y.ProductId == productId && y.States == 0).FirstOrDefault();
                if (exist != null)
                {
                    response.code = 101;
                    response.msg  = "该商品已加入购物车";
                    context.Response.Write(SerializeHelp.ToJson(response));
                    return;
                }
                var    quantity     = context.Request.Form["Quantity"] == null ? 1 : Convert.ToInt32(context.Request.Form["Quantity"]);
                var    total        = context.Request.Form["Total"] == null ? 0 : Convert.ToDecimal(context.Request.Form["Total"]);
                string remark       = context.Request.Form["Remark"];
                string deliveryId   = context.Request.Form["DeliveryId"];
                string deliveryDate = context.Request.Form["DeliveryDate"];

                //订单
                Orders order = new Orders();
                order.UserId       = userId;
                order.Total        = total * quantity;
                order.Remark       = remark;
                order.OrdersId     = Guid.NewGuid().ToString();
                order.Orderdate    = DateTime.Now;
                order.States       = 0; //加入购物车未付款
                order.DeliveryId   = deliveryId;
                order.DeliveryDate = deliveryDate == null? DateTime.Now: Convert.ToDateTime(deliveryDate);
                order.ProductId    = productId;
                //订单详情
                Detail detail = new Detail
                {
                    DetailId  = Guid.NewGuid().ToString(),
                    OrdersId  = order.OrdersId,
                    ProductId = productId,
                    Quantity  = quantity,
                    States    = 0,
                    UserId    = userId
                };

                var add1 = _infoService.Add(order);
                var add2 = _infodetailService.Add(detail);
                if (add1 && add2)
                {
                    response.code = 0;
                    response.msg  = "添加成功";
                    context.Response.Write(SerializeHelp.ToJson(response));
                    return;
                }
                response.code = 0;
                response.msg  = "添加失败";
                context.Response.Write(SerializeHelp.ToJson(response));
                return;
            }
            catch (Exception e)
            {
                response.code = 500;
                response.msg  = "失败,请重试";
                context.Response.Write(SerializeHelp.ToJson(response));
            }
        }