public object Get(CachedOrders request)
		{
			var cacheKey = UrnId.Create<Orders>(request.CustomerId ?? "all", request.Page.GetValueOrDefault(0).ToString());
			return base.Request.ToOptimizedResultUsingCache(CacheClient, cacheKey, 
				() => (OrdersResponse) ResolveService<OrdersService>()
					.Get(new Orders { CustomerId = request.CustomerId, Page = request.Page }));
		}
Example #2
0
        /// <summary>
        /// Vraceni souctu objednavek prihlaseneho zakaznika
        /// Pozn.: pro kalkulaci letni slevy
        /// </summary>
        /// <returns>soucet objednavek zakaznika</returns>
        public static int GetLoggedCustomerOrdersCount()
        {
            int ordersCount = CachedOrders.Where
                                  (order => order.Customer.ID == Session.CustomerLoggedIn.ID).Count();

            return(ordersCount);
        }
Example #3
0
 public object Get(CachedOrders request)
 {
     var cacheKey  = "unique_key_for_this_request";
     var returnDto = base.RequestContext.ToOptimizedResultUsingCache(base.Cache, cacheKey, () => {
         return(new MyReturnDto {
             CachedAt = DateTime.Now()
         });
     });
 }
Example #4
0
 public object Get(CachedOrders request)
 {
     var cacheKey  = "unique_key_for_this_request";
     var isCached  = false;
     var returnDto = base.RequestContext.ToOptimizedResultUsingCache(base.Cache, cacheKey, () => {
         isCached = true;
     });
     // Do something if it was cached...
 }
        public object Get(CachedOrders request)
        {
            var cacheKey = UrnId.Create <Orders>(request.CustomerId ?? "all", request.Page.GetValueOrDefault(0).ToString());

            return(base.Request.ToOptimizedResultUsingCache(CacheClient, cacheKey,
                                                            () => (OrdersResponse)ResolveService <OrdersService>()
                                                            .Get(new Orders {
                CustomerId = request.CustomerId, Page = request.Page
            })));
        }
        public object Get(CachedOrders request)
        {
            var cacheKey = UrnId.Create <Orders>(request.CustomerId ?? "all", request.Page.GetValueOrDefault(0).ToString());

            return(base.RequestContext.ToOptimizedResultUsingCache(this.Cache, cacheKey, () =>
            {
                using (var service = this.ResolveService <OrdersService>())
                {
                    return service.Get(new Orders {
                        CustomerId = request.CustomerId, Page = request.Page
                    });
                }
            }));
        }
Example #7
0
        /// <summary>
        /// Nacteni objednavek z databaze do pameti
        /// </summary>
        /// <param name="reader">precteny sqlite zaznamy k zpracovani</param>
        public static void LoadOrders(SQLiteDataReader reader)
        {
            while (reader.Read())
            {
                // nacteni objednavky z db
                Order loadedOrder = new Order
                                    (
                    GetCustomerByID(Convert.ToInt32(reader[Order.CustomerColumn])),
                    new List <OrderItem>(),
                    Convert.ToInt32(reader[Order.FixedDiscountColumn]),
                    Convert.ToInt32(reader[Order.PercentualDiscountColumn]),
                    Convert.ToInt32(reader[Order.StateIDColumn]),
                    Convert.ToDateTime(reader[Order.DateTimeColumn]),
                    Convert.ToInt32(reader[Order.OrderIDColumn])
                                    );
                // vyhleda priradi k objednavce jeji polozky
                AttachOrderItemsToOrder(loadedOrder);

                // pridani objektu objednavky do cached objednavek
                CachedOrders.Add(loadedOrder);
            }
        }
Example #8
0
        /// <summary>
        /// Vytvoreni a ulozeni objednavky a jeji polozek do databaze
        /// </summary>
        /// <param name="order">objednavka k ulozeni do db</param>
        public static void CreateOrder(Order order)
        {
            int lastInsertedID = -1;

            using (SQLiteConnection connection = new SQLiteConnection(ConnectionString))
            {
                connection.Open();
                string commandText = $"INSERT INTO {Order.TableName} " +
                                     $"({Order.CustomerColumn}, {Order.FixedDiscountColumn}, " +
                                     $"{Order.PercentualDiscountColumn}, {Order.StateIDColumn}, {Order.DateTimeColumn}) " +
                                     $"VALUES (@{Order.CustomerColumn}, @{Order.FixedDiscountColumn}, " +
                                     $"@{Order.PercentualDiscountColumn}, @{Order.StateIDColumn}, @{Order.DateTimeColumn})";

                using (SQLiteCommand command = new SQLiteCommand(commandText, connection))
                {
                    command.Parameters.AddWithValue($"@{Order.CustomerColumn}", order.Customer.ID);
                    command.Parameters.AddWithValue($"@{Order.FixedDiscountColumn}", order.FixedDiscount);
                    command.Parameters.AddWithValue($"@{Order.PercentualDiscountColumn}", order.PercentualDiscount);
                    command.Parameters.AddWithValue($"@{Order.StateIDColumn}", order.State);
                    command.Parameters.AddWithValue($"@{Order.DateTimeColumn}", order.CreationDateTime);
                    command.ExecuteNonQuery();
                }

                // posledne pridane ID objednavky
                lastInsertedID = Convert.ToInt32(connection.LastInsertRowId);
                connection.Close();
            }
            // posledne pridane ID se prideli objednavce aby se mohli k nemu priradit polozky objednavky
            order.ChangeID(lastInsertedID);

            // vytvorena objednavka se prida ke CachedOrders
            CachedOrders.Add(order);

            // po ulozeni objednavky zavolame metodu k ulozeni vsech polozek objednavky
            CreateOrderItems(order);
        }
Example #9
0
 public object Get(CachedOrders request) =>
 Gateway.Send(new Orders {
     CustomerId = request.CustomerId, Page = request.Page
 });
Example #10
0
 /// <summary>
 /// Vraceni instance objednavky z objednavek v pameti podle zadaneho ID
 /// </summary>
 /// <param name="id">hledane ID objednavky</param>
 /// <returns>instance nalezene objednavky</returns>
 public static Order GetCachedOrderByID(int id)
 {
     return(CachedOrders.Find(order => order.ID == id));
 }
Example #11
0
 /// <summary>
 /// Vraceni instanci vsech objednavek zakaznika
 /// </summary>
 /// <param name="customer">zakaznik jehoz objednavky jsou hledany</param>
 /// <returns>instance objednavek zakaznika</returns>
 public static List <Order> GetCustomerOrders(Customer customer)
 {
     return(CachedOrders.FindAll(order => order.Customer.ID == customer.ID));
 }