Sunteți pe pagina 1din 7

using System; using System.Collections.Generic; using System.Linq; using System.Text; using ShappingCard.BO; using Microsoft.ApplicationBlocks.Data; using System.Data.

SqlClient; using System.Data; namespace ShappingCard.DAL { class ItemListDAL { public int PurchaseTransaction(UserAccount UserAccountObj) { Console.Clear(); List<float> Balance = new List<float>(); List<string> ItemName = new List<string>(); int option; int Choice; Genericconnection ConnectionObj = new Genericconnection(); SqlParameter ParameterU_Name = new SqlParameter("@UserName", SqlDbTy pe.NVarChar); ParameterU_Name.Value = UserAccountObj.UserName; Console.WriteLine("WELCOME "+UserAccountObj.UserName);

Console.WriteLine("Enter 1 to Purchase Any Item"); Console.WriteLine("Enter 2 to View Account Balance"); Console.WriteLine("Enter 3 to View Transctions By Your Transaction I D"); Console.WriteLine("Enter 4 to Borrow Money From Your Bank Account ") ; Console.WriteLine("Enter 5 to LogOut"); try { option = Int32.Parse(Console.ReadLine()); switch (option) { case 1: if (ConnectionObj.Reader != null) { ConnectionObj.Reader.Close(); ConnectionObj.Reader.Dispose(); } ConnectionObj.Reader = SqlHelper.ExecuteReader(Connectio nObj.Connection1, CommandType.StoredProcedure, "Proc_ItemList_Select"); if (UserAccountObj.Balance > 1000) { Console.WriteLine("The Available Items Are"); while (ConnectionObj.Reader.Read())

{ Console.Write(ConnectionObj.Reader["ItemId"] + "\t") ; Console.Write(ConnectionObj.Reader["ItemName"] + "\t "); Console.Write(ConnectionObj.Reader["ItemPrice"] + "\ t"); Console.WriteLine(); } } else{ Console.WriteLine("You Account Balance Less Than 100 0 Please Select Option 4 to Purchase Transaction"); Console.ReadKey(); PurchaseTransaction(UserAccountObj); } do { Console.WriteLine("Please Select Any Item Ids To Purchase"); try { Choice = Int32.Parse(Console.ReadLine()); SqlParameter Parameter = new SqlParameter("@ ItemListId", SqlDbType.Int); Parameter.Value = Choice; if (ConnectionObj.Reader != null) { ConnectionObj.Reader.Close(); } ConnectionObj.Reader = SqlHelper.ExecuteRead er(ConnectionObj.Connection1, CommandType.StoredProcedure, "Proc_ItemBal_select" , Parameter); if (ConnectionObj.Reader.FieldCount == 0) { Console.Clear(); Console.WriteLine("Enter Valid Input"); Console.WriteLine("Enter Any Key To Cont inue"); Console.ReadKey(); PurchaseTransaction(UserAccountObj); } else { ConnectionObj.Reader.Read(); int ItemPrice; ItemPrice = Int32.Parse(ConnectionObj.Re

ader["ItemPrice"].ToString()); string Items; Items = ConnectionObj.Reader["ItemName"] .ToString(); Balance.Add(ItemPrice); ItemName.Add(Items); Console.WriteLine("If You Want Another I tem Press 1 ");

} catch (Exception e) { Console.WriteLine(e.Message); PurchaseTransaction(UserAccountObj); }

} while (Int32.Parse(Console.ReadLine()) == 1); Console.WriteLine("Do you Really Want To Buy "); Console.WriteLine("Please Press 1 To Yes and 2 For No"); int Decision; Decision = Int32.Parse(Console.ReadLine()); int Total = 0; foreach (int Bal in Balance) { Total = Total + Bal; } if (Decision == 1) { Console.WriteLine("Total Purchase Amount:" + Total); Console.WriteLine("Account Balance :" + UserAccountO bj.Balance); if (Total < UserAccountObj.Balance&& UserAccountObj. Balance>0) { SqlParameter ParameterBal = new SqlParameter("@B alance", SqlDbType.Float); ParameterBal.Value = Total; SqlParameter ParameterAccNo = new SqlParameter(" @BankAccountNo", SqlDbType.Int); ParameterAccNo.Value = UserAccountObj.BankAccoun

tNo; SqlParameter ParameterUserId = new SqlParameter( "@UserId", SqlDbType.Int); ParameterUserId.Value = UserAccountObj.UserId; if (ConnectionObj.Reader != null) ConnectionObj.Reader.Close(); SqlHelper.ExecuteNonQuery(ConnectionObj.Connecti on1, CommandType.StoredProcedure, "Proc_UserAndBankUpdate", ParameterBal, Parame terAccNo, ParameterUserId); SqlParameter ParameterName = new SqlParameter("@ UserName", SqlDbType.NVarChar); ParameterName.Value = UserAccountObj.UserName; UserAccountObj.Balance =UserAccountObj.Balance-T otal; string Items = ""; foreach (string s in ItemName) { Items = Items+ s+",";

} Items = Items.Remove(Items.Length - 1); Console.WriteLine(Items); Console.ReadKey(); SqlParameter ParameterItems = new SqlParameter(" @PurchasedItems", SqlDbType.NVarChar); ParameterItems.Value = Items; SqlParameter ParameterAccount = new SqlParameter ("@PurchasedAmount", SqlDbType.Float); ParameterAccount.Value = Total;

SqlHelper.ExecuteNonQuery(ConnectionObj.Connecti on1, CommandType.StoredProcedure, "Proc_Transaction_Set", ParameterName, Paramet erItems, ParameterAccount); if (ConnectionObj.Reader != null) ConnectionObj.Reader.Close(); Console.WriteLine(ParameterName.Value); ConnectionObj.Reader = SqlHelper.ExecuteReader(C onnectionObj.Connection1, CommandType.StoredProcedure, "Proc_Transaction_select" , ParameterName); ConnectionObj.Reader.Read(); Console.WriteLine("Your Transaction ID :" + ConnectionObj.Reader[0]); Console.WriteLine("Sucess"); if (ConnectionObj.Reader != null) ConnectionObj.Reader.Close(); Console.ReadKey();

} else { Console.WriteLine("Transaction Failed Due To Low Balance"); Console.WriteLine("Press Any Key To Continue"); Console.ReadKey(); }

PurchaseTransaction(UserAccountObj); break; case 2: Console.WriteLine("Your Account Balance Is " + UserAccou ntObj.Balance); Console.ReadKey(); PurchaseTransaction(UserAccountObj); break; case 3: Console.WriteLine("Enter Your Transaction ID"); int TransactionId = Int32.Parse(Console.ReadLine()); SqlParameter ParameterTId = new SqlParameter("@Transacti onId", SqlDbType.Int); ParameterTId.Value = TransactionId; SqlParameter ParameterUserName = new SqlParameter("@USer Name", SqlDbType.NVarChar); ParameterUserName.Value = UserAccountObj.UserName; if (ConnectionObj.Reader != null) ConnectionObj.Reader.Close(); ConnectionObj.Reader = SqlHelper.ExecuteReader(Connectio nObj.Connection1, CommandType.StoredProcedure, "Proc_Transcaction_Select", Param eterTId, ParameterUserName); if (ConnectionObj.Reader.FieldCount > 0) { ConnectionObj.Reader.Read(); Console.WriteLine("Purcahsed Items" + ConnectionObj. Reader["PurchasedItems"] + "Purchased Amount" + ConnectionObj.Reader["PurchasedA mount"]); Console.ReadKey(); } else { Console.WriteLine("Please Verify Your Transaction Id "); Console.ReadKey();

} PurchaseTransaction(UserAccountObj); break; case 4: Console.WriteLine("Enter Your BankAccount Password"); string UserPassword=Console.ReadLine(); SqlParameter ParameterU_Password = new SqlParameter("@UserPassWo rd", SqlDbType.NVarChar); ParameterU_Password.Value = UserPassword; if(ConnectionObj.Reader!=null) ConnectionObj.Reader.Close(); ConnectionObj.Reader = SqlHelper.ExecuteReader(ConnectionObj.Con nection1, CommandType.StoredProcedure, "Proc_UserAccount_Update", ParameterU_Nam e,ParameterU_Password); if (ConnectionObj.Reader.FieldCount > 0) { ConnectionObj.Reader.Read(); Console.WriteLine("Your Borrowing Transaction Completed"); UserAccountObj.Balance = float.Parse(ConnectionObj.Reader["A ccountBalance"].ToString())+UserAccountObj.Balance; Console.ReadKey(); } else { Console.WriteLine("Invalid Password"); Console.ReadKey(); } PurchaseTransaction(UserAccountObj); break; case 5: break; default: Console.Clear(); Console.WriteLine("Enter 1 or 2"); PurchaseTransaction(UserAccountObj); break; } } catch(Exception e) { Console.WriteLine(e.Message); Console.ReadKey(); Console.WriteLine("Please Enter Valid Input"); if (ConnectionObj.Reader != null) { ConnectionObj.Reader.Close();

} PurchaseTransaction(UserAccountObj); } return 0; } } }

S-ar putea să vă placă și