コード例 #1
0
        public Result <List <Base> > List4Filter()
        {
            UserRoleEnum role = (UserRoleEnum)int.Parse(UserRA.Get(user_id.ToString(), "role"));
            List <Base>  lst  = AccountGroupDA.List4Filter(role == UserRoleEnum.Administrator ? 0 : user_id);

            return(Result(lst));
        }
コード例 #2
0
        public static void Open()
        {
            HQService.SubscribeStart();
            var accounts = AccountDA.List <Account>();

            foreach (Account account in accounts)
            {
                LoadAccount(account);
            }

            var units = UnitDA.List <Unit>();

            foreach (Unit unit in units)
            {
                LoadUnit(unit);
            }

            var positions = PositionDA.List();

            foreach (Position position in positions)
            {
                LoadPosition(position);
            }

            var items = AccountGroupDA.ListItems();

            foreach (AccountGroupItem item in items)
            {
                LoadAccountGroupItem(item);
            }

            HQService.Get(positions.Select(p => p.code));
            TradeBiz.Start();
        }
コード例 #3
0
        public Result <int> Add(Model.DB.AccountGroup model)
        {
            int id = 0;

            model.created_by = user_id;
            ApiResultEnum result = AccountGroupDA.Add(model, ref id);

            return(Result(result, id));
        }
コード例 #4
0
        public Result Delete(Model.DB.AccountGroup model)
        {
            var units = UnitDA.List4AccountGroup(model.id);

            if (units.Count > 0)
            {
                return(Result(ApiResultEnum.Cited, string.Join(",", units.Select(u => u.code))));
            }

            model.created_by = user_id;
            ApiResultEnum result = AccountGroupDA.Delete(model);

            if (result == ApiResultEnum.Success && MonitorRA.GetStatusTrade() != 0)
            {
                AccountGroupRA.Delete4AccountGroup(model.id);
            }
            return(Result(result, string.Empty));
        }
コード例 #5
0
ファイル: Account.svc.cs プロジェクト: wshPrt/trading
        public Result Delete(Model.DB.Account model)
        {
            var account_groups = AccountGroupDA.List4Account(model.id);

            if (account_groups.Count > 0)
            {
                return(Result(ApiResultEnum.Cited, string.Join(",", account_groups.Select(u => u.code))));
            }

            model.created_by = user_id;
            ApiResultEnum result = AccountDA.Delete(model);

            if (result == ApiResultEnum.Success && MonitorRA.GetStatusTrade() != 0)
            {
                TradeBiz.RemoveAccount(model.id);
                AccountRA.Delete("A_" + model.id);
            }
            return(Result(result));
        }
コード例 #6
0
        public Result UpdateItems(Model.DB.AccountGroup model)
        {
            model.items = model.items.OrderBy(i => i.sort_buy).AsEnumerable().DistinctBy(i => i.account_id).ToList();
            ApiResultEnum result = AccountGroupDA.UpdateItems(model);

            if (result == ApiResultEnum.Success && MonitorRA.GetStatusTrade() != 0)
            {
                var units = UnitDA.List4AccountGroup(model.id);
                foreach (var kvp in units)
                {
                    UnitRA.UpdatePriorityStrategy(model.priority_strategy, "U_" + kvp.id);
                }
                AccountGroupRA.Delete4AccountGroup(model.id);
                List <Model.DB.AccountGroupItem> items = AccountGroupDA.ListItems4AccountGroup(model.id);
                foreach (Model.DB.AccountGroupItem item in items)
                {
                    OpenCloseBiz.LoadAccountGroupItem(item);
                }
                TradeBiz.RunCalculateValue();
            }
            return(Result(result));
        }
コード例 #7
0
 public Result Update(Model.DB.AccountGroup model)
 {
     return(Result(AccountGroupDA.Update(model)));
 }