Esempio n. 1
0
        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";
                        }
                    }
                }
            }