Exemplo n.º 1
0
        public Object GetAccountDetails(string CNP, int AccId, int AccType)
        {
            if (AccType == 1)
            {
                CompleteCreditAccounts creditAccount = new CompleteCreditAccounts();
                var connectionString = ConfigurationManager.ConnectionStrings["DataAccess.ClassLibrary.Properties.Settings.ConnectionString1"].ConnectionString;
                using (var sqlConn = new SqlConnection(connectionString))
                {
                    sqlConn.Open();
                    using (var sqlCommand = new SqlCommand(@"SELECT *
                                                         FROM Adi.CREDIT_ACCOUNTS
                                                         WHERE CNP_client = @CNP AND id_credit = @CreditID", sqlConn))
                    {
                        sqlCommand.Parameters.Add(new SqlParameter("@CNP", CNP));
                        sqlCommand.Parameters.Add(new SqlParameter("@CreditID", AccId));

                        using (var reader = sqlCommand.ExecuteReader(CommandBehavior.CloseConnection))
                        {
                            while (reader.Read())
                            {
                                creditAccount = new CompleteCreditAccounts {
                                    CreditId = (int)reader["id_credit"], Valută = reader["currency"].ToString(), SumăCurentă = reader["current_sum"].ToString(), CNPclient = reader["CNP_client"].ToString(), ProcentDobândă = (int)reader["interest_rate"], PerioadăÎnLuni = (int)reader["time_period"], SumăIniţială = reader["initial_sum"].ToString()
                                };
                            }
                        }
                    }
                }
                return(creditAccount);
            }
            else if (AccType == 2)
            {
                CompleteDebitAccounts debitAccount = new CompleteDebitAccounts();
                var connectionString = ConfigurationManager.ConnectionStrings["DataAccess.ClassLibrary.Properties.Settings.ConnectionString1"].ConnectionString;
                using (var sqlConn = new SqlConnection(connectionString))
                {
                    sqlConn.Open();
                    using (var sqlCommand = new SqlCommand(@"SELECT *
                                                         FROM Adi.DEBIT_ACCOUNTS
                                                         WHERE CNP_client = @CNP AND id_debit = @CreditID", sqlConn))
                    {
                        sqlCommand.Parameters.Add(new SqlParameter("@CNP", CNP));
                        sqlCommand.Parameters.Add(new SqlParameter("@CreditID", AccId));

                        using (var reader = sqlCommand.ExecuteReader(CommandBehavior.CloseConnection))
                        {
                            while (reader.Read())
                            {
                                debitAccount = new CompleteDebitAccounts {
                                    DebitId = (int)reader["id_debit"], Valută = (string)reader["currency"], SumăCurentă = reader["current_sum"].ToString(), CNPclient = (string)reader["CNP_client"]
                                };
                            }
                        }
                    }
                }
                return(debitAccount);
            }
            return(null);
        }
Exemplo n.º 2
0
        public bool PerformFinancialTransaction(string CNPsender, int AccIdSender, int AccIdReciever, AccType AccTypeSender, AccType AccTypeReciever, int SumTransfered)
        {
            var connectionString = ConfigurationManager.ConnectionStrings["DataAccess.ClassLibrary.Properties.Settings.ConnectionString1"].ConnectionString;

            using (var sqlConn = new SqlConnection(connectionString))
            {
                sqlConn.Open();
                SqlTransaction sqlTransaction;
                sqlTransaction = sqlConn.BeginTransaction(IsolationLevel.ReadUncommitted);
                try
                {
                    switch (AccTypeSender)
                    {
                    case AccType.Credit:
                        using (var sqlCommand = new SqlCommand(@"UPDATE Adi.CREDIT_ACCOUNTS
                                                             SET current_sum = current_sum - @TransferedSum
                                                             WHERE CNP_client = @CNP AND id_credit = @CreditID", sqlConn, sqlTransaction))
                        {
                            sqlCommand.Parameters.Add(new SqlParameter("@CNP", CNPsender));
                            sqlCommand.Parameters.Add(new SqlParameter("@CreditID", AccIdSender));
                            sqlCommand.Parameters.Add(new SqlParameter("@TransferedSum", SumTransfered));

                            sqlCommand.ExecuteNonQuery();
                        }
                        break;

                    case AccType.Debit:
                        using (var sqlCommand = new SqlCommand(@"UPDATE Adi.DEBIT_ACCOUNTS
                                                             SET current_sum = current_sum - @TransferedSum
                                                             WHERE CNP_client = @CNP AND id_debit = @DebitID", sqlConn, sqlTransaction))
                        {
                            sqlCommand.Parameters.Add(new SqlParameter("@CNP", CNPsender));
                            sqlCommand.Parameters.Add(new SqlParameter("@DebitID", AccIdSender));
                            sqlCommand.Parameters.Add(new SqlParameter("@TransferedSum", SumTransfered));

                            sqlCommand.ExecuteNonQuery();
                        }
                        break;
                    }
                    switch (AccTypeReciever)
                    {
                    case AccType.Credit:
                        CompleteCreditAccounts creditAccount = new CompleteCreditAccounts();
                        using (var sqlCommand = new SqlCommand(@"UPDATE Adi.CREDIT_ACCOUNTS
                                                             SET current_sum = current_sum + @TransferedSum
                                                             WHERE id_credit = @CreditID", sqlConn, sqlTransaction))
                        {
                            sqlCommand.Parameters.Add(new SqlParameter("@CreditID", AccIdReciever));
                            sqlCommand.Parameters.Add(new SqlParameter("@TransferedSum", SumTransfered));

                            sqlCommand.ExecuteNonQuery();
                        }
                        break;

                    case AccType.Debit:
                        CompleteDebitAccounts debitAccount = new CompleteDebitAccounts();
                        using (var sqlCommand = new SqlCommand(@"UPDATE Adi.DEBIT_ACCOUNTS
                                                             SET current_sum = current_sum + @TransferedSum
                                                             WHERE id_debit = @DebitID", sqlConn, sqlTransaction))
                        {
                            sqlCommand.Parameters.Add(new SqlParameter("@DebitID", AccIdReciever));
                            sqlCommand.Parameters.Add(new SqlParameter("@TransferedSum", SumTransfered));

                            sqlCommand.ExecuteNonQuery();
                        }
                        break;
                    }
                    sqlTransaction.Commit();
                }
                catch
                {
                    sqlTransaction.Rollback();
                    return(false);
                }
            }
            return(true);
        }