public Result <long> OrderAutoAdd(OrderAutoAdd model) { if (model.count_min > model.count_max || model.price_min > model.price_max || model.time_min > model.time_max) { return(Result(ApiResultEnum.Parameter_Error, 0L)); } HQItem hq = HQService.Get(model.code); Order order = new Order() { user_id = user_id, unit_id = model.unit_id, code = model.code, price = hq.Last, count = model.count_total, type = model.type, platform = platform }; ApiResultEnum result = LimitBiz.CheckStatus(order); if (result != ApiResultEnum.Success) { return(Result(result, 0L)); } result = LimitBiz.CheckUnit(order); if (result != ApiResultEnum.Success) { return(Result(result, 0L)); } model.name = StockInfoBiz.GetStock(model.code).name; model.id = FuncHelper.GetUniqueID(); model.user_id = user_id; model.platform = platform; if (model.account_id > 0) { model.account_name = AccountRA.GetName(model.account_id); } else { model.account_name = ""; } string key = "S_" + model.id + "_U_" + model.unit_id + "_D_0"; OrderAutoRA.Add(model, key); return(Result(ApiResultEnum.Success, model.id)); }
public Result <int> Count(Order model) { model.user_id = user_id; ApiResultEnum result = LimitBiz.CheckStatus(model); if (result != ApiResultEnum.Success && result != ApiResultEnum.Order_Count_Error && (result != ApiResultEnum.Order_Price_Error || model.type_enum == OrderTypeEnum.Buy)) { return(Result(ApiResultEnum.Success, 0)); } int unit_count = LimitBiz.GetUnitCount(model); if (unit_count == 0) { return(Result(ApiResultEnum.Success, 0)); } List <int> order_items; int account_count = 0; if (model.account_id == 0) { order_items = AccountGroupRA.List4Unit(model.unit_id).Select(g => g.account_id).ToList(); } else { order_items = new List <int> { model.account_id } }; foreach (int account_id in order_items) { model.account_id = account_id; account_count += LimitBiz.GetAccountCount(model); } return(Result(ApiResultEnum.Success, Math.Min(unit_count, account_count))); }