Beispiel #1
0
        public override OrderModel Get(int id)
        {
            var order = cache.Get(ApplicationCacheConstants.GetOrderCacheKey(id)) as OrderModel;

            if (order != null)
            {
                return(order);
            }
            broker.SetupCommand(ORDER_GET);
            broker.AddInputParameter("@id", id);
            order = new OrderModel();
            using (IDataReader rdr = broker.GetDataReader()) {
                while (rdr.Read())
                {
                    order.Id            = rdr["id"].SafeToInt();
                    order.EmployeeId    = rdr["empId"].SafeToInt();
                    order.NumberOfSeats = rdr["NumberOfSeats"].SafeToInt();
                    order.TableId       = rdr["tableId"].SafeToInt();
                    order.Delivered     = rdr["delivered"].SafeToBool();
                    order.Voided        = false;
                    order.InProgress    = rdr["inProgress"].SafeToBool();
                    OrderItemRepository orderItemRepo = new OrderItemRepository(order.Id, cache);
                    order.OrderItems = orderItemRepo.GetAll().ToList();
                    order.Ready      = order.OrderItems.All(oi => oi.Ready != null && oi.Ready.Value);
                }
            }
            cache.Set(ApplicationCacheConstants.GetOrderCacheKey(id), order);
            return(order);
        }
Beispiel #2
0
 public override bool Create(OrderModel model)
 {
     broker.SetupCommand(ORDER_INSERT);
     broker.AddInputParameter("@NumberofSeats", model.NumberOfSeats);
     broker.AddInputParameter("@EmployeeId", model.EmployeeId);
     broker.AddInputParameter("@TableId", model.TableId);
     model.Id = broker.ExecuteScalar().SafeToInt();
     if (model.Id > 0)
     {
         cache.Set(ApplicationCacheConstants.GetOrderCacheKey(model.Id), model);
     }
     return(model.Id > 0);
 }
Beispiel #3
0
        public bool UpdateAndClose(OrderModel model, bool close = true)
        {
            broker.SetupCommand(ORDER_UPDATE);
            broker.AddInputParameter("@id", model.Id);
            broker.AddInputParameter("@NumberOfSeats", model.NumberOfSeats);
            broker.AddInputParameter("@delivered", model.Delivered, dbType: DbType.Boolean);
            broker.AddInputParameter("@inprogress", model.InProgress, dbType: DbType.Boolean);
            broker.AddInputParameter("@voided", model.Voided, dbType: DbType.Boolean);
            broker.AddInputParameter("@close", close);

            bool updated = broker.ExecuteNonQuery() > 0;

            if (updated)
            {
                cache.Set(ApplicationCacheConstants.GetOrderCacheKey(model.Id), model);
            }
            return(updated);
        }
 private void ClearOrderCache(int orderId)
 {
     cache.Remove(ApplicationCacheConstants.GetOrderCacheKey(orderId));
 }