示例#1
0
        public LongResponse Create(long orderId, long orderGoodsId, string deliveryCompany,
                                   string deliveryNumber, OrderReturnType type, OrderReturnReason reason, int count)
        {
            Dictionary <string, object> para = new Dictionary <string, object>();

            para["orderId"]         = orderId;
            para["orderGoodsId"]    = orderGoodsId;
            para["deliveryCompany"] = deliveryCompany;
            para["deliveryNumber"]  = deliveryNumber;
            para["type"]            = type;
            para["reason"]          = reason;
            para["count"]           = count;
            return(DoPost <LongResponse>(para));
        }
示例#2
0
        public DataCollectionResponse <OrderReturn> GetByAll(long id, long orderId, string vendor, string number,
                                                             string deliveryNumber, OrderReturnState state, OrderReturnType type, int timeType, DateTime start,
                                                             DateTime end, int pageIndex, int pageSize)
        {
            Dictionary <string, object> para = new Dictionary <string, object>();

            para["id"]             = id;
            para["orderId"]        = orderId;
            para["vendor"]         = vendor;
            para["number"]         = number;
            para["deliveryNumber"] = deliveryNumber;
            para["state"]          = state;
            para["type"]           = type;
            para["timeType"]       = timeType;
            para["start"]          = start;
            para["end"]            = end;
            para["pageIndex"]      = pageIndex;
            para["pageSize"]       = pageSize;
            return(DoPost <DataCollectionResponse <OrderReturn> >(para));
        }
示例#3
0
 public DataCollectionResponse <OrderReturn> GetByAll(long id, long orderId, string vendor, string number, string deliveryNumber, OrderReturnState state, OrderReturnType type, int timeType, DateTime start, DateTime end, int pageIndex, int pageSize)
 {
     try
     {
         return(this.dao.GetByAll(id, orderId, vendor, number, deliveryNumber, state, type, timeType, start, end, pageIndex, pageSize));
     }
     catch (Exception ex)
     {
         throw new WebFaultException <ResponseBase>(new ResponseBase(ex.Message), System.Net.HttpStatusCode.OK);
     }
 }
示例#4
0
        public DataCollectionResponse <OrderReturn> GetByAll(long id, long orderId, string vendor, string number, string deliveryNumber, OrderReturnState state, OrderReturnType type, int timeType, DateTime start, DateTime end, int pageIndex, int pageSize)
        {
            string        hsql = "from " + this.GetEntiyName() + " where ";
            List <object> objs = new List <object>();

            hsql += this.MakeQuery("Id", id);
            hsql += this.MakeQuery("OrderId", orderId);
            hsql += this.MakeQueryLike("GoodsInfo", vendor, objs);
            hsql += this.MakeQueryLike("GoodsInfo", number, objs);
            hsql += this.MakeQuery("DeliveryNumber", deliveryNumber, objs);
            hsql += this.MakeQuery(TIME_TYPES[timeType], start, true);
            hsql += this.MakeQuery(TIME_TYPES[timeType], end, false);
            hsql += this.MakeQuery("State", (int)state, (int)OrderReturnState.NONE);
            hsql += this.MakeQuery("Type", (int)type, (int)OrderReturnType.NONE);
            return(this.GetPage(hsql, pageIndex, pageSize, objs.ToArray()));
        }
示例#5
0
        public LongResponse Create(long orderId, long orderGoodsId, string deliveryCompany, string deliveryNumber, OrderReturnType type, OrderReturnReason reason, int count)
        {
            try
            {
                string      op      = ServiceContainer.GetCurrentLoginInfo().op.Number;
                var         ors     = this.GetByOrderIdAndOrderGoodsId(orderId, orderGoodsId);
                OrderReturn or      = null;
                DateTime    minTime = this.GetDbMinTime();

                if (ors != null && ors.Datas.Count > 0)
                {
                    return(new LongResponse(ors.Datas[0].Id));
                }

                var o = ServiceContainer.GetService <OrderService>().GetById(orderId.ToString()).First;

                if (o == null)
                {
                    throw new Exception("订单不存在");
                }

                if ((int)o.State < (int)OrderState.SHIPPED)
                {
                    throw new Exception("订单未发货不能创建退货");
                }

                var og = o.OrderGoodss.FirstOrDefault(obj => obj.Id == orderGoodsId);

                if (og == null)
                {
                    throw new Exception("订单商品不存在");
                }

                if ((int)og.State < (int)OrderState.SHIPPED)
                {
                    throw new Exception("订单未发货不能创建退货");
                }

                or = new OrderReturn
                {
                    Comment         = "",
                    Count           = count,
                    CreateOperator  = op,
                    CreateTime      = DateTime.Now,
                    DeliveryCompany = deliveryCompany,
                    DeliveryNumber  = deliveryNumber,
                    State           = OrderReturnState.WAITPROCESS,
                    GoodsInfo       = og.Vendor + "," + og.Number + " " + og.Edtion + " " + og.Color + " " + og.Size,
                    OrderGoodsId    = orderGoodsId,
                    OrderId         = orderId,
                    ProcessOperator = "",
                    ProcessTime     = minTime,
                    Reason          = reason,
                    Type            = type,
                    GoodsMoney      = og.Price * og.Count,
                    Id         = 0,
                    NewOrderId = 0,
                };
                this.dao.Save(or);
                return(new LongResponse(or.Id));
            }
            catch (Exception ex)
            {
                throw new WebFaultException <ResponseBase>(new ResponseBase(ex.Message), System.Net.HttpStatusCode.OK);
            }
        }