public async Task CompleteOrderAsync(Int32 orderId, Byte[] signature) { if (orderId <= 0) { throw new ArgumentOutOfRangeException(nameof(orderId)); } if (signature == null) { throw new ArgumentNullException(nameof(signature)); } var task = Task .Factory .StartNew(() => { _cn.BeginTransaction(); _cn.Execute("UPDATE [Order] SET Signature = ?, OrderStatus = ? WHERE Id = ?", signature, OrderStatus.Completed, orderId); var order = Get(orderId); var dh = new DeliveryHistory(); dh.Revenue = order.TotalDelivered; dh.AverageSpeed = _dataGenerator.GetInteger(35, 50); dh.CustomerId = order.CustomerId; dh.DateDelivered = DateTime.Now; dh.FuelEfficiency = _dataGenerator.GetInteger(25, 30); dh.MileDriven = _dataGenerator.GetInteger(5, 12); dh.OrderId = orderId; dh.ItemsDelivered = GetOrderItems(orderId).Where(x => x.OrderItemStatus == OrderItemStatus.Delivered).Sum(x => x.Quantity); _deliveryHistoryService.Insert(dh); _cn.Commit(); }); await task; }
public static string ChooseString(this IDataGenerator dataGenerator, IEnumerable <string> values, int nullOdds = 0) { if (dataGenerator.IsNull(nullOdds)) { return(null); } return(values.ElementAt(dataGenerator.GetInteger(0, values.Count() - 1))); }
private static bool IsNull(this IDataGenerator dataGenerator, int nullOdds) { if (nullOdds <= 0) { return(false); } return(dataGenerator.GetInteger(1, nullOdds) == nullOdds); }
public static string ChooseString(this IDataGenerator dataGenerator, params string[] values) { return(values[dataGenerator.GetInteger(0, values.Length - 1)]); }
public static string GetStreetAddress(this IDataGenerator dataGenerator, int nullOdds = 0) { return($"{dataGenerator.GetInteger(1, 9999)} {dataGenerator.GetStreetName()}"); }