Example #1
0
        public async Task <List <TransactionDomain> > GetTransactionsByBlockNumberAsync(SearchParameter searchParameter)
        {
            return(await Task.Run(() =>
            {
                //To connect to infura using .net451 and TLS2 you need to set it in advance
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

                //Connection
                var web3 = new Web3(Constants.ETHConnection1);
                var blocksWithTransactions = web3.Eth.Blocks.GetBlockWithTransactionsByNumber.SendRequestAsync(new BlockParameter(searchParameter.BlockNumber)).Result;

                List <TransactionDomain> transactionsDomains = new List <TransactionDomain>();

                foreach (var transaction in blocksWithTransactions.Transactions)
                {
                    TransactionDomain transactionDomain = new TransactionDomain();
                    transactionDomain.From = transaction.From;
                    transactionDomain.To = transaction.To;
                    transactionDomain.Value = transaction.Value.Value.ToString();
                    transactionDomain.TransactionHash = transaction.TransactionHash;
                    transactionDomain.TransactionIndex = (Int64)transaction.TransactionIndex.Value;
                    transactionDomain.Gas = (Int64)transaction.Gas.Value;
                    transactionDomain.GasPrice = (Int64)transaction.GasPrice.Value;
                    transactionDomain.Input = transaction.Input;
                    transactionsDomains.Add(transactionDomain);
                }

                return transactionsDomains;
            }));
        }
        public IActionResult Retiro(TransactionsModel transac)
        {
            if (ModelState.IsValid)
            {
                TransactionDomain transaction = new TransactionDomain();
                transaction.idPerson                 = string.IsNullOrEmpty(transac.idPerson) ? "0" : transac.idPerson;
                transaction.accountNumber            = string.IsNullOrEmpty(transac.accountNumber) ? "0" : transac.accountNumber;
                transaction.accountNumberDestination = string.IsNullOrEmpty(transac.accountNumberDestination) ? "": transac.accountNumberDestination;
                transaction.value       = string.IsNullOrEmpty(transac.value) ? "0": transac.value;
                transaction.idOperation = string.IsNullOrEmpty(transac.idOperation) ? "0" : transac.idOperation;

                var url     = $"https://localhost:44372/transact";
                var request = (HttpWebRequest)WebRequest.Create(url);
                request.Method      = "POST";
                request.ContentType = "application/json";
                request.Accept      = "application/json";

                using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                {
                    var objJson = JsonConvert.SerializeObject(transac);
                    streamWriter.Write(objJson);
                }

                var httpResponse = (HttpWebResponse)request.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var result = streamReader.ReadToEnd();
                }
            }

            return(View());
        }
 public static TransactionResponse ToResponse(this TransactionDomain domain) => new TransactionResponse
 {
     Id            = domain.Id,
     CategoryId    = domain.CategoryId,
     OtherWalletId = domain.OtherWalletId,
     TargetLabel   = domain.TargetLabel,
     Amount        = domain.Amount,
     Timestamp     = domain.Timestamp
 };
Example #4
0
 private void ExecuteNoQueryTransaction(TransactionDomain transaction)
 {
     try
     {
         IDBConectionSqlServer dBConectionSqlServer;
         dBConectionSqlServer = new Dao.Transactions.Implementation.DBConectionSqlServer();
         int estado = dBConectionSqlServer.ExecuteNoQueryTransaction("", transaction);
     }
     catch (SqlException e)
     {
         Console.WriteLine(e.ToString());
     }
 }
Example #5
0
        public List <TransactionDomain> Get()
        {
            TransactionDomain transaction = new TransactionDomain();

            transaction.idPerson = "0";
            ////transaction.idPerson = "123";
            ////transaction.accountNumber = "A";
            ////transaction.accountNumberDestination = "B";
            ////transaction.value = "9600000";
            ////transaction.idOperation = "1";

            List <TransactionDomain> lst = ExecuteReaderTransaction(transaction);

            return(lst);
        }
Example #6
0
        private string ExecuteReaderIsValidTransaction(TransactionDomain transaction)
        {
            string valid = "0";

            try
            {
                IDBConectionSqlServer dBConectionSqlServer;
                dBConectionSqlServer = new Dao.Transactions.Implementation.DBConectionSqlServer();
                valid = dBConectionSqlServer.ExecuteReaderIsValidTransaction("", transaction);
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }

            return(valid);
        }
        public List <TransactionDomain> ExecuteReaderTransaction(string sql, TransactionDomain transaction)
        {
            List <TransactionDomain> listTransactionDomain = new List <TransactionDomain>();

            try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectionString);
                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        connection.Open();

                        command.CommandText = "GET_TRANSACTIONS";
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.AddWithValue("@idPerson", transaction.idPerson);

                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                TransactionDomain transactionReader = new TransactionDomain();
                                transactionReader.idPerson     = reader.GetString(0);
                                transactionReader.idOperation  = reader.GetString(1);
                                transactionReader.initialValue = reader.GetDouble(2).ToString();
                                transactionReader.value        = reader.GetDouble(3).ToString();
                                transactionReader.finalValue   = reader.GetDouble(4).ToString();
                                transactionReader.gmf          = reader.GetDouble(5).ToString();

                                listTransactionDomain.Add(transactionReader);
                                // Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
                            }

                            return(listTransactionDomain);
                        }
                    }
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }

            return(null);
        }
        protected override EmailParseResult Parse(MessageDetails message)
        {
            if (/*message.From != From ||*/ !_subjects.Contains(message.Subject))
            {
                return(EmailParseResult.CreateError("Email was not recognized as transaction"));
            }

            var tr = new TransactionDomain
            {
                Iban        = GetIban(message),
                Amount      = GetAmount(message),
                Note        = GetNote(message),
                Source      = TransactionSource.ImportedFromEmail,
                CreatedTime = DateTimeContext.Now
            };

            return(EmailParseResult.CreateSuccess(tr));
        }
Example #9
0
        private List <TransactionDomain> ExecuteReaderTransaction(TransactionDomain transaction)
        {
            try
            {
                List <TransactionDomain> ListTransactionDomains = new List <TransactionDomain>();

                IDBConectionSqlServer dBConectionSqlServer;

                dBConectionSqlServer = new Dao.Transactions.Implementation.DBConectionSqlServer();

                ListTransactionDomains = dBConectionSqlServer.ExecuteReaderTransaction("", transaction);
                return(ListTransactionDomains);
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }

            return(null);
        }
        public string ExecuteReaderIsValidTransaction(string sql, TransactionDomain transaction)
        {
            string valid = "0";
            List <TransactionDomain> listTransactionDomain = new List <TransactionDomain>();

            try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectionString);
                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        connection.Open();

                        command.CommandText = "GET_ISVALID_TRANSACTIONS";
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.AddWithValue("@idPerson", transaction.idPerson);
                        command.Parameters.AddWithValue("@accountNumber", transaction.accountNumber);
                        command.Parameters.AddWithValue("@operation", transaction.idOperation);
                        command.Parameters.AddWithValue("@value", transaction.value);

                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                valid = reader.GetString(0);
                            }

                            return(valid);
                        }
                    }
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }

            return(valid);
        }
        public int ExecuteNoQueryTransaction(string sql, TransactionDomain transaction)
        {
            int estado = 0;

            try
            {
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectionString);
                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        connection.Open();

                        command.CommandText = "GENERATE_TRANSACTIONS";
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.AddWithValue("@idPerson", transaction.idPerson);
                        command.Parameters.AddWithValue("@accountNumber", transaction.accountNumber);
                        command.Parameters.AddWithValue("@operation", transaction.idOperation);
                        command.Parameters.AddWithValue("@value", transaction.value);
                        command.Parameters.AddWithValue("@AccountNumberDestination", string.IsNullOrEmpty(transaction.accountNumberDestination) ? "" : transaction.accountNumberDestination);


                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                estado = 1;
                            }
                        }
                    }
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }

            return(estado);
        }
Example #12
0
        public List <TransactionDomain> Post(TransactionDomain transac)
        {
            TransactionDomain transaction = new TransactionDomain();

            transaction.idPerson                 = transac.idPerson;
            transaction.accountNumber            = transac.accountNumber;
            transaction.accountNumberDestination = transac.accountNumberDestination;
            transaction.value       = transac.value;
            transaction.idOperation = transac.idOperation;

            if (ModelState.IsValid)
            {
                string valid = ExecuteReaderIsValidTransaction(transaction);

                if (valid.Equals("1") && !transac.value.Equals("0"))
                {
                    ExecuteNoQueryTransaction(transaction);
                }
            }

            List <TransactionDomain> lst = ExecuteReaderTransaction(transaction);

            return(lst);
        }
Example #13
0
 public static EmailParseResult CreateSuccess(TransactionDomain transaction)
 {
     return(new EmailParseResult {
         Transaction = transaction
     });
 }