Beispiel #1
0
 public bool UpdateTerminals(Terminal t)
 {
     using (ISession Session = ConnectionHelper.CreateNewSession())
     {
         DBTerminal terminal = Session.Get <DBTerminal>(t.Id);
         if (terminal == null)
         {
             return(false);
         }
         using (ITransaction Transaction = Session.BeginTransaction())
         {
             terminal.Disabled = t.Disabled;
             terminal.Stopped  = t.Stopped;
             Session.Update(terminal);
             Transaction.Commit();
             return(true);
         }
     }
 }
Beispiel #2
0
 public bool toDTO(DBTerminal t, ref Terminal result)
 {
     try
     {
         result.AccountNumber = t.Accountnumber.Value;
         result.Broker        = t.Broker;
         result.CodeBase      = t.Codebase;
         result.Disabled      = t.Disabled;
         result.FullPath      = t.Fullpath;
         result.Demo          = t.Demo;
         result.Stopped       = t.Stopped;
         result.Id            = t.Id;
         if (t.Account != null)
         {
             result.Currency = t.Account.Currency.Name;
         }
         return(true);
     } catch
     {
         return(false);
     }
 }
Beispiel #3
0
        public void UpdateBalance(int AccountNumber, decimal Balance, decimal Equity)
        {
            lock (lockObject)
            {
                using (ISession Session = ConnectionHelper.CreateNewSession())
                {
                    var terms = Session.Query <DBTerminal>().Where(x => x.Accountnumber == AccountNumber);
                    if (terms == null || terms.Count() <= 0)
                    {
                        return;
                    }
                    DBTerminal terminal = terms.FirstOrDefault();
                    if (terminal == null)
                    {
                        return;
                    }
                    if (terminal.Account == null)
                    {
                        return;
                    }
                    using (ITransaction Transaction = Session.BeginTransaction())
                    {
                        terminal.Account.Balance    = Balance;
                        terminal.Account.Equity     = Equity;
                        terminal.Account.Lastupdate = DateTime.UtcNow;
                        Session.Update(terminal);
                        Transaction.Commit();
                    }

                    var acc = Session.Query <DBAccountstate>().Where(x => x.Account.Id == terminal.Account.Id)
                              .OrderByDescending(x => x.Date);
                    using (ITransaction Transaction = Session.BeginTransaction())
                    {
                        if (acc.Any())
                        {
                            DBAccountstate state = null;
                            state = acc.FirstOrDefault();
                            if (state == null || state.Date.DayOfYear != DateTime.Today.DayOfYear)
                            {
                                var newstate = new DBAccountstate();
                                if (state == null)
                                {
                                    newstate.Account = terminal.Account;
                                }
                                else
                                {
                                    newstate.Account = state.Account;
                                }
                                newstate.Balance = Balance;
                                newstate.Comment = "Autoupdate";
                                newstate.Date    = DateTime.UtcNow;
                                Session.Save(newstate);
                            }
                            else
                            {
                                state.Balance = Balance;
                                state.Comment = "Autoupdate";
                                state.Date    = DateTime.UtcNow;
                                Session.Update(state);
                            }

                            Transaction.Commit();
                        }
                    }
                }
            }
        }