示例#1
0
 public async Task <order> GetOrder(int id)
 {
     using (B2COrderEntities entities = new B2COrderEntities())
     {
         return(await entities.order.Include(x => x.status)
                .Include(x => x.items).FirstOrDefaultAsync(x => x.id == id));
     }
 }
示例#2
0
 public async Task <List <order> > GetOrders(int customer_id, int page, int count)
 {
     using (B2COrderEntities entities = new B2COrderEntities())
     {
         return(await entities.order.Include(x => x.status)
                .Where(x => x.customer_id == customer_id).ToListAsync());
     }
 }
示例#3
0
        public async Task UpdateOrderStatus(int id, int status_id)
        {
            using (B2COrderEntities entities = new B2COrderEntities())
            {
                order order = await entities.order.FirstOrDefaultAsync(x => x.id == id);

                order.status_id = status_id;

                entities.Entry(order).State = EntityState.Modified;
                await entities.SaveChangesAsync();
            }
        }
示例#4
0
        public async Task <int> CreateOrder(order order)
        {
            order.status_id = 1;

            using (TransactionScope transaction = new TransactionScope(
                       TransactionScopeOption.Required,
                       new TransactionOptions {
                IsolationLevel = IsolationLevel.ReadUncommitted
            },
                       TransactionScopeAsyncFlowOption.Enabled))
            {
                using (B2COrderEntities entities = new B2COrderEntities())
                {
                    entities.order.Add(order);
                    await entities.SaveChangesAsync();
                }

                transaction.Complete();
            }

            foreach (item item in order.items)
            {
                switch ((product_type)item.product_type_id)
                {
                case product_type.Lodging:
                    await CreateReserveLodging(item);

                    break;

                case product_type.Transport:
                    await CreateReserveTransport(item);

                    break;

                case product_type.Show:
                    break;

                default:
                    throw new NotImplementedException("Not Implemented Integration For Product Type Id: " + item.product_type_id);
                }
            }

            return(order.id);
        }