Пример #1
0
        public bool UpdateSatus(string saleNo, EnumSaleOrderStatus saleOrderStatus, int userID)
        {
            using (var db = new YintaiHZhouContext())
            {
                OPC_Sale sale = db.OPC_Sales.FirstOrDefault(t => t.SaleOrderNo == saleNo);
                if (sale != null)
                {
                    sale.UpdatedDate = DateTime.Now;
                    sale.UpdatedUser = userID;
                    sale.Status      = (int)saleOrderStatus;
                }

                db.SaveChanges();
                return(true);
            }
        }
Пример #2
0
        private bool UpdateSatus(string saleNo, int userId, EnumSaleOrderStatus saleOrderStatus)
        {
            OPC_Sale saleOrder = _saleRepository.GetBySaleNo(saleNo);

            if (saleOrder == null)
            {
                throw new SaleOrderNotExistsException(saleNo);
            }

            if (saleOrder.Status >= (int)saleOrderStatus)
            {
                return(true);
            }
            saleOrder.Status         = (int)saleOrderStatus;
            saleOrder.ShippingStatus = saleOrder.Status;
            saleOrder.UpdatedDate    = DateTime.Now;
            saleOrder.UpdatedUser    = userId;
            _saleRepository.Update(saleOrder);
            return(true);
        }
Пример #3
0
        /// <summary>
        ///     Updates the satus.
        /// </summary>
        /// <param name="saleNos">The sale nos.</param>
        /// <param name="saleOrderStatus">The sale order status.</param>
        /// <param name="userID">The user identifier.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        public bool UpdateSatus(IEnumerable <string> saleNos, EnumSaleOrderStatus saleOrderStatus, int userID)
        {
            //todo 更新状态为实现
            throw new NotImplementedException("UpdateSatus 未实现");
            //using (var db = new YintaiHZhouContext())
            //{
            //    foreach (string saleNo in saleNos)
            //    {
            //        OPC_Sale sale = db.OPC_Sales.FirstOrDefault(t => t.SaleOrderNo == saleNo);
            //        if (sale != null)
            //        {
            //            sale.UpdatedDate = DateTime.Now;
            //            sale.UpdatedUser = userID;
            //            sale.Status = (int)saleOrderStatus;
            //        }
            //    }
            //    IQueryable<OPC_Sale> lst = db.OPC_Sales.Where(t => saleNos.Contains(t.SaleOrderNo));

            //    IEnumerable<OPC_Sale> lst2 = saleNos.Join(db.OPC_Sales, t => t, o => o.SaleOrderNo, (t, o) => o);

            //    db.SaveChanges();
            //    return true;
            //}
        }
Пример #4
0
 public CashedSaleOrderStatusProcessor(EnumSaleOrderStatus status) : base(status)
 {
 }
Пример #5
0
 public ShoppingGuidePickUpSaleOrderStatusProcessor(EnumSaleOrderStatus status) : base(status)
 {
 }
Пример #6
0
        /// <summary>
        ///     Gets the data.
        /// </summary>
        /// <param name="saleId">The sale identifier.</param>
        /// <param name="orderNo">The order no.</param>
        /// <param name="dtStart">The dt start.</param>
        /// <param name="dtEnd">The dt end.</param>
        /// <param name="saleOrderStatus">The sale order status.</param>
        /// <returns>IList{OPC_Sale}.</returns>
        private PageResult <SaleDto> getSalesData(string saleId, string orderNo, DateTime dtStart, DateTime dtEnd,
                                                  EnumSaleOrderStatus saleOrderStatus, int pageIndex, int pageSize, params int[] storeIds)
        {
            using (var db = new YintaiHZhouContext())
            {
                IQueryable <OPC_Sale> query = db.OPC_Sales.Where(t => t.Status == (int)saleOrderStatus &&
                                                                 t.SellDate >= dtStart &&
                                                                 t.SellDate < dtEnd);

                if (!string.IsNullOrWhiteSpace(orderNo))
                {
                    query = query.Where(t => t.OrderNo.Contains(orderNo));
                }

                if (!string.IsNullOrWhiteSpace(saleId))
                {
                    query = query.Where(t => t.SaleOrderNo.Contains(saleId));
                }


                var stores = db.Stores.Where(x => storeIds.Contains(x.Id));

                var ll = from s in db.Sections
                         join store in stores on s.StoreId equals store.Id into ss
                         select new { SectionID = s.Id, Section = s, Store = ss.FirstOrDefault() };

                var ll2 = from s in query
                          join l in ll on s.SectionId equals l.SectionID into ss
                          join o in db.Orders on s.OrderNo equals o.OrderNo into oo
                          join r in db.OrderTransactions on s.OrderNo equals r.OrderNo into rr

                          select new { Sale = s, Order = oo.FirstOrDefault(), Store = ss.FirstOrDefault(), OrderTrans = rr.FirstOrDefault() };

                ll2 = ll2.Where(x => x.Store != null);

                ll2 = ll2.OrderByDescending(t => t.Sale.CreatedDate);
                var lst    = ll2.ToPageResult(pageIndex, pageSize);
                var lstDto = new List <SaleDto>();
                foreach (var t in lst.Result)
                {
                    var o = Mapper.Map <OPC_Sale, SaleDto>(t.Sale);
                    if (t.Store != null && t.Store.Store != null)
                    {
                        o.StoreName      = t.Store.Store.Name;
                        o.StoreTelephone = t.Store.Store.Tel;
                        o.StoreAddress   = t.Store.Store.Location;
                    }

                    if (t.OrderTrans != null)
                    {
                        o.TransNo = t.OrderTrans.TransNo;
                    }

                    if (t.Store != null && t.Store.Section != null)
                    {
                        o.SectionName = t.Store.Section.Name;
                    }
                    o.ReceivePerson  = t.Order.ShippingContactPerson;
                    o.OrderSource    = t.Order.OrderSource;
                    o.InvoiceSubject = t.Order.InvoiceSubject;
                    o.PayType        = t.Order.PaymentMethodName;
                    o.Invoice        = t.Order.InvoiceDetail;

                    lstDto.Add(o);
                }
                return(new PageResult <SaleDto>(lstDto, lst.TotalCount));
            }
        }
Пример #7
0
 protected AbstractSaleOrderStatusProcessor(EnumSaleOrderStatus status)
 {
     this._status = status;
 }