示例#1
0
        /// <summary>
        /// Enter a new order into db
        /// </summary>
        /// <param name="appOrder"></param>
        public void CreateOrder(Order appOrder)
        {
            using var context = new P1DbContext(_contextOptions);
            //map library order to db
            var dbOrder = new OrderEntity()
            {
                Store    = context.Stores.First(s => s.Id == appOrder.TargetStore.Id),
                Customer = context.Customers.First(c => c.Id == appOrder.Orderer.Id),
                Time     = appOrder.Time
            };

            //map all items in the order to db
            foreach (Product selection in appOrder.Selections)
            {
                //create a new item, Store = null unless item is part of an inventory
                var dbOrderItems = new OrderItemsEntity()
                {
                    Product  = context.Products.First(p => p.Name == selection.Name),
                    Quantity = selection.Quantity,
                    Order    = dbOrder
                };
                context.Add(dbOrderItems);
            }
            context.Add(dbOrder);
            context.SaveChanges();
        }
示例#2
0
 public bool Delete(Guid Id)
 {
     bool toReturn = false;
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         OrderItemsEntity _OrderItemsEntity = new OrderItemsEntity(Id);
         if (adapter.FetchEntity(_OrderItemsEntity))
         {
             adapter.DeleteEntity(_OrderItemsEntity);
             toReturn = true;
         }
     }
     return toReturn;
 }
 public static OrderItemsEntity Mapper(OrderItemsModel oim)
 {
     if (oim != null)
     {
         OrderItemsEntity oie = new OrderItemsEntity
         {
             Id       = oim.Id,
             Quantity = oim.Quantity,
             SellerId = oim.Seller.Id,
             SkuId    = oim.Sku.Id,
             OrderId  = oim.Order.Id
         };
         return(oie);
     }
     return(null);
 }
        public static OrderItemsModel Mapper(OrderItemsEntity oie)
        {
            if (oie != null)
            {
                OrderItemsModel oim = new OrderItemsModel
                {
                    Id       = oie.Id,
                    Quantity = oie.Quantity,
                    Seller   = UserMapper.Mapper(oie.Seller),
                    Sku      = SkuMapper.Mapper(oie.Sku),
                    Order    = OrderMapper.Mapper(oie.Order)
                };

                return(oim);
            }
            return(null);
        }
        public static List <OrderItemsEntity> Mapper(List <OrderItemsModel> oimList)
        {
            if (oimList != null)
            {
                List <OrderItemsEntity> oieList = new List <OrderItemsEntity>();
                foreach (var oim in oimList)
                {
                    OrderItemsEntity oie = new OrderItemsEntity
                    {
                        Id       = oim.Id,
                        Quantity = oim.Quantity,
                        SellerId = oim.Seller.Id,
                        SkuId    = oim.Sku.Id,
                        OrderId  = oim.Order.Id
                    };

                    oieList.Add(oie);
                }
                ;

                return(oieList);
            }
            return(null);
        }
示例#6
0
    OrderItemsEntity getOrderItem(OrdersEntity order)
    {
        OrderItemsEntity orderItem = new OrderItemsEntity();

        orderItem.Id = Guid.NewGuid();
        orderItem.OrderId = order.Id;

        orderItem.TotalAmountBeforeTax = order.TotalAmountBeforeTax;
        orderItem.TotalAmountAfterTax = order.TotalAmountAfterTax;
        orderItem.TotalDiscount = order.TotalDiscount;
        orderItem.SupplierId = CartsSession.CreateInstant().GetCarts(Page)[0].SupplierId;

        orderItem.TotalCommission = 0;
        orderItem.TotalToSupplier = 0;

        return orderItem;
    }
示例#7
0
    OrderDetailEntity[] getOrderDetail(OrderItemsEntity item)
    {
        List<CartItem> carts = CartsSession.CreateInstant().GetCarts(Page);

        OrderDetailEntity[] details = new OrderDetailEntity[carts.Count];
        for (int i = 0; i < carts.Count; i++)
        {
            details[i] = new OrderDetailEntity();

            details[i].Id = Guid.NewGuid();

            if (carts[i].ProductParentId == Guid.Empty)
            {
                ProductsEntity product = ProductsManager.CreateInstant().SelectOne(carts[i].ProductId, true);
                if (product != null)
                {
                    int cnt = carts[i].Total;
                    if (cnt > Config.GetMaxItemInCart())
                        cnt = Config.GetMaxItemInCart();

                    details[i].ProductId = product.Id;
                    details[i].ProductName = product.ProductName;
                    details[i].OrderItemId = item.Id;
                    details[i].PriceBeforeTax = 0;
                    details[i].PriceAfterTax = product.Price;
                    details[i].Amount = cnt;
                    details[i].PoPrice = product.ProductInfo.PriceBuy;
                    details[i].ProductCode = product.ProductCode;
                }
            }
            else
            {
                ProductsEntity product = ProductsManager.CreateInstant().SelectOne(carts[i].ProductParentId, true);
                ProductSubEntity sub = ProductSubManager.CreateInstant().SelectOne(carts[i].ProductId);
                if (product != null && sub != null)
                {
                    int cnt = carts[i].Total;
                    if (cnt > Config.GetMaxItemInCart())
                        cnt = Config.GetMaxItemInCart();

                    details[i].ProductId = product.Id;
                    details[i].OrderItemId = item.Id;
                    details[i].PriceBeforeTax = 0;
                    details[i].PriceAfterTax = sub.Price;
                    details[i].Amount = cnt;
                    details[i].PoPrice = product.ProductInfo.PriceBuy;
                    details[i].ProductSubId = sub.Id;
                    details[i].ProductName = product.ProductName + " - " + sub.ProductName;
                    details[i].ProductCode = product.ProductCode;
                }
            }
        }

        return details;
    }
示例#8
0
        public OrderItemsEntity Insert(Guid OrderId, Guid SupplierId, decimal TotalAmountBeforeTax, decimal TotalAmountAfterTax, decimal TotalDiscount, decimal TotalToSupplier, bool PaidComplete, decimal TotalCommission, string CreatedBy, DateTime CreatedDate, string UpdatedBy, DateTime UpdatedDate)
        {
            OrderItemsEntity _OrderItemsEntity = new OrderItemsEntity();
            using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
            {

                _OrderItemsEntity.OrderId = OrderId;
                _OrderItemsEntity.SupplierId = SupplierId;
                _OrderItemsEntity.TotalAmountBeforeTax = TotalAmountBeforeTax;
                _OrderItemsEntity.TotalAmountAfterTax = TotalAmountAfterTax;
                _OrderItemsEntity.TotalDiscount = TotalDiscount;
                _OrderItemsEntity.TotalToSupplier = TotalToSupplier;
                _OrderItemsEntity.PaidComplete = PaidComplete;
                _OrderItemsEntity.TotalCommission = TotalCommission;
                _OrderItemsEntity.CreatedBy = CreatedBy;
                _OrderItemsEntity.CreatedDate = CreatedDate;
                _OrderItemsEntity.UpdatedBy = UpdatedBy;
                _OrderItemsEntity.UpdatedDate = UpdatedDate;
                adapter.SaveEntity(_OrderItemsEntity, true);
            }
            return _OrderItemsEntity;
        }
示例#9
0
 public OrderItemsEntity Insert(OrderItemsEntity _OrderItemsEntity)
 {
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         adapter.SaveEntity(_OrderItemsEntity, true);
     }
     return _OrderItemsEntity;
 }
示例#10
0
 public bool Update(OrderItemsEntity _OrderItemsEntity, RelationPredicateBucket filter)
 {
     bool toReturn = false;
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         adapter.UpdateEntitiesDirectly(_OrderItemsEntity, filter);
         toReturn = true;
     }
     return toReturn;
 }
示例#11
0
        public bool Update(OrderItemsEntity _OrderItemsEntity)
        {
            bool toReturn = false;
            using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
            {
                RelationPredicateBucket filter = new RelationPredicateBucket();
                IPredicateExpression _PredicateExpression = new PredicateExpression();
                _PredicateExpression.Add(OrderItemsFields.Id == _OrderItemsEntity.Id);

                filter.PredicateExpression.Add(_PredicateExpression);

                adapter.UpdateEntitiesDirectly(_OrderItemsEntity, filter);
                toReturn = true;
            }
            return toReturn;
        }
示例#12
0
 public OrderItemsEntity SelectOne(Guid Id)
 {
     OrderItemsEntity toReturn = null;
     using(DataAccessAdapterBase adapter = (new DataAccessAdapterFactory()).CreateAdapter())
     {
         OrderItemsEntity _OrderItemsEntity = new OrderItemsEntity(Id);
         if (adapter.FetchEntity(_OrderItemsEntity))
         {
             toReturn = _OrderItemsEntity;
         }
     }
     return toReturn;
 }