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 })); }
/// <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); }
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() }); }); }
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 }); } })); }
/// <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); } }
/// <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); }
public object Get(CachedOrders request) => Gateway.Send(new Orders { CustomerId = request.CustomerId, Page = request.Page });
/// <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)); }
/// <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)); }