public List<TransactionBLL> GetMemberTransactions(int memberID) { using (ProtoLibEntities context = new ProtoLibEntities()) { Member mem = (from m in context.Members where m.MemberID == memberID select m).SingleOrDefault(); if (mem != null) { List<TransactionBLL> retList = new List<TransactionBLL>(); foreach (Transaction t in mem.Transactions) { TransactionBLL tr = new TransactionBLL(); CrossLayerEntityConverter.TransactionDalToBll(context, tr, t); retList.Add(tr); } return retList; } } return null; }
public static void TransactionDalToBll(ProtoLibEntities context, TransactionBLL bllTrans, Transaction dalTrans) { bllTrans.ItemID = dalTrans.TransactionID; bllTrans.BookID = dalTrans.BookID; bllTrans.MemberID = dalTrans.MemberID; bllTrans.CheckedOutOn = dalTrans.CheckedOutOn; bllTrans.ReturnedOn = dalTrans.ReturnedOn; bllTrans.Fine = dalTrans.Fine; }
public static void TransactionBllToDal(ProtoLibEntities context, TransactionBLL bllTrans, Transaction dalTrans) { dalTrans.LibraryBook = (from lb in context.LibraryBooks where lb.BookID == bllTrans.BookID select lb).SingleOrDefault(); dalTrans.Member = (from mem in context.Members where mem.MemberID == bllTrans.MemberID select mem).SingleOrDefault(); dalTrans.CheckedOutOn = bllTrans.CheckedOutOn; dalTrans.ReturnedOn = bllTrans.ReturnedOn; dalTrans.Fine = bllTrans.Fine; }
public TransactionDetails(ProtoBridge bridge, TransactionBLL trans, bool historyMode = false) { if (trans != null) { BookID = trans.BookID.ToString(); LibraryBookBLL libBook = bridge.LibraryBookMgr.GetByID(trans.BookID); BookDetailsBLL bookInfo = bridge.BookDetailsMgr.GetByID(libBook.BookDetailsId); Title = bookInfo.Description.Title; List<AuthorBLL> auths = new List<AuthorBLL>(); foreach(int aid in bookInfo.AuthorIDs) auths.Add(bridge.AuthorsMgr.GetByID(aid)); foreach(AuthorBLL a in auths) Authors += (", " + a.FirstName + " " + a.LastName); Authors = Authors.Substring(1); IssueDate = trans.CheckedOutOn.ToLongDateString(); if (trans.ReturnedOn == null) DueDate = null; else DueDate = ((DateTime)trans.ReturnedOn).ToLongDateString(); int borrowLimit = (int)Application.Current.Properties["BorrowLimit"]; int fineAmt = 2; if (historyMode == false) { if (trans.ReturnedOn == null) Status = "Checked out"; else { TimeSpan ts = DateTime.Now - trans.CheckedOutOn; if (ts.Days > borrowLimit) { Status = "Overdue by " + ts.Days.ToString() + " days"; } } } else { TimeSpan ts = (DateTime)trans.ReturnedOn - trans.CheckedOutOn; if (ts.Days > borrowLimit) { Status = ts.Days.ToString() + " days overdue. Fined Rs. " + (fineAmt * ts.Days).ToString() + "."; } else { Status = "Returned on time"; } } } }