public List <Transaction> SearchTransactionEntities(string account, int count, int skip = 0, bool includeWatchOnly = true)
        {
            var inputDac  = new InputDac();
            var outputDac = new OutputDac();
            var items     = new TransactionDac().SelectTransactions(account, count, skip, includeWatchOnly);
            var accounts  = new AccountDac().SelectAll();

            foreach (var item in items)
            {
                item.Inputs  = inputDac.SelectByTransactionHash(item.Hash);
                item.Outputs = outputDac.SelectByTransactionHash(item.Hash);
            }

            if (skip == 0)
            {
                var  txList = TransactionPool.Instance.GetAllTransactions();
                bool containsUnconfirmedTx = false;

                foreach (var tx in txList)
                {
                    var  entity            = this.ConvertTxMsgToEntity(tx);
                    bool isSendTransaction = false;
                    if (entity != null)
                    {
                        foreach (var input in entity.Inputs)
                        {
                            if (accounts.Where(a => a.Id == input.AccountId).Count() > 0)
                            {
                                items.Add(entity);
                                isSendTransaction     = true;
                                containsUnconfirmedTx = true;
                                break;
                            }
                        }

                        if (!isSendTransaction)
                        {
                            foreach (var output in entity.Outputs)
                            {
                                if (accounts.Where(a => a.Id == output.ReceiverId).Count() > 0)
                                {
                                    items.Add(entity);
                                    containsUnconfirmedTx = true;
                                    break;
                                }
                            }
                        }
                    }
                }

                if (containsUnconfirmedTx)
                {
                    items = items.OrderByDescending(t => t.Timestamp).ToList();
                }
            }
            //var result = new List<TransactionMsg>();

            //foreach(var item in items)
            //{
            //    result.Add(convertTxEntityToMsg(item));
            //}

            //return result;
            return(items);
        }