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); }
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); }