Beispiel #1
0
        public EmailMassageModel GetMassageModelByReaderId(int readerId)
        {
            EmailMassageModel   emailMassageModel = new EmailMassageModel();
            ReaderHistoryMapper historyMapper     = new ReaderHistoryMapper();
            List <ReaderHistoryBusinessModel> readerHistoryBusiness = new List <ReaderHistoryBusinessModel>();

            List <ReaderHistory> readerHistory = this.uow.ReadersHistories.GetAll().Where(r => r.Reader.ReaderId == readerId && r.FinishDate < DateTime.Now && r.ReturnDate == null)
                                                 .Select(r => r).ToList();

            for (int i = 0; i < readerHistory.Count; i++)
            {
                readerHistoryBusiness.Add(historyMapper.Map(readerHistory[i]));
            }

            string books = null;

            foreach (var book in readerHistoryBusiness)
            {
                books += book.InventoryBusiness.Item.Name + ", ";
            }

            emailMassageModel.FirsName = readerHistoryBusiness.First().ReaderBusiness.FirstName;
            emailMassageModel.LastName = readerHistoryBusiness.First().ReaderBusiness.LastName;
            emailMassageModel.Email    = readerHistoryBusiness.First().ReaderBusiness.EMail;
            emailMassageModel.Subject  = "Owing Book";
            emailMassageModel.Message  = "Dear student: " + emailMassageModel.FirsName + " " + emailMassageModel.LastName + ": " +
                                         "you owe the books: " + books + "Please back them to the library";

            return(emailMassageModel);
        }
Beispiel #2
0
        public void UpdateReaderHistory(ReaderHistoryBusinessModel readerHistoryBusiness)
        {
            ReaderHistoryMapper mapper        = new ReaderHistoryMapper();
            ReaderHistory       readerHistory = new ReaderHistory();

            readerHistory = mapper.Map(readerHistoryBusiness);
            this.uow.ReadersHistories.Update(readerHistory);

            Inventory inventory = this.uow.Inventories.GetById(readerHistoryBusiness.InventoryBusiness.InventoryId);

            if (inventory.IsAvailable == false)
            {
                if (readerHistoryBusiness.ReturnDate != null)
                {
                    inventory.IsAvailable = true;
                }
                else
                {
                    inventory.IsAvailable = false;
                }
            }
            else
            {
                throw new Exception("This inventory already exist in the Library");
            }

            uow.Commit();
        }
Beispiel #3
0
        public List <ReaderHistoryBusinessModel> GetReaderHistoryByInventoryNumber(string searchString, int?readerId)
        {
            var readerHisroryModel = new List <ReaderHistoryBusinessModel>();
            List <ReaderHistory> readerHistories;

            using (LibraryUow uow = new LibraryUow())
            {
                var readerHistoryMapper = new ReaderHistoryMapper();

                if (readerId != null)
                {
                    readerHistories = this.uow.ReadersHistories.GetAll().Where(r => r.Reader.ReaderId == readerId && r.ReturnDate == null)
                                      .Select(r => r).ToList();
                }
                else
                {
                    readerHistories = this.uow.ReadersHistories.GetAll().Where(r => r.ReturnDate == null).Select(r => r).ToList();
                }

                foreach (var readerHistory in readerHistories)
                {
                    if (readerHistory.Inventory.Number == searchString)
                    {
                        readerHisroryModel.Add(readerHistoryMapper.Map(readerHistory));
                    }
                }
            }
            return(readerHisroryModel);
        }
        public ReaderHistoryMapperTest()
        {
            this.readerHistoryMapper = new ReaderHistoryMapper();

            this.readerEntityToMap = new Reader {
                FirstName = "Bob", LastName = "Hopkins"
            };

            this.readerModelToMap = new ReaderBusinessModel {
                FirstName = "Bob", LastName = "Hopkins"
            };

            this.inventoryEntityToMap = new Inventory {
                Number = "0000000001-001"
            };

            this.inventoryModelToMap = new InventoryBusinessModel {
                Number = "0000000001-001"
            };

            this.readerHistoryEntityToMap = new ReaderHistory
            {
                ReaderHistoryId = 1,
                StartDate       = Convert.ToDateTime("2013.12.12"),
                ReturnDate      = Convert.ToDateTime("2013.12.20"),
                FinishDate      = Convert.ToDateTime("2013.12.28"),
                Reader          = this.readerEntityToMap,
                Inventory       = this.inventoryEntityToMap
            };

            this.readerHistoryEntityToCompareWith = new ReaderHistory
            {
                ReaderHistoryId = 1,
                StartDate       = Convert.ToDateTime("2013.12.12"),
                ReturnDate      = Convert.ToDateTime("2013.12.20"),
                FinishDate      = Convert.ToDateTime("2013.12.28"),
                Reader          = this.readerEntityToMap,
                Inventory       = this.inventoryEntityToMap
            };
            this.ReaderHistoryModelToMap = new ReaderHistoryBusinessModel
            {
                Id                = 1,
                StartDate         = Convert.ToDateTime("2013.12.12"),
                ReturnDate        = Convert.ToDateTime("2013.12.20"),
                FinishDate        = Convert.ToDateTime("2013.12.28"),
                ReaderBusiness    = this.readerModelToMap,
                InventoryBusiness = this.inventoryModelToMap
            };
            this.ReaderHistoryModelToCompareWith = new ReaderHistoryBusinessModel
            {
                Id                = 1,
                StartDate         = Convert.ToDateTime("2013.12.12"),
                ReturnDate        = Convert.ToDateTime("2013.12.20"),
                FinishDate        = Convert.ToDateTime("2013.12.28"),
                ReaderBusiness    = this.readerModelToMap,
                InventoryBusiness = this.inventoryModelToMap
            };
        }
Beispiel #5
0
        public ReaderHistoryBusinessModel GetReaderHistoryById(int readerHistoryId)
        {
            ReaderHistoryMapper        mapper = new ReaderHistoryMapper();
            ReaderHistoryBusinessModel readerHistoryBusiness = new ReaderHistoryBusinessModel();

            readerHistoryBusiness = mapper.Map(this.uow.ReadersHistories.GetById(readerHistoryId));

            return(readerHistoryBusiness);
        }
        public ReaderHistoryMapperTest()
        {
            this.readerHistoryMapper = new ReaderHistoryMapper();

            this.readerEntityToMap = new Reader { FirstName = "Bob", LastName = "Hopkins" };

            this.readerModelToMap = new ReaderBusinessModel { FirstName = "Bob", LastName = "Hopkins" };

            this.inventoryEntityToMap = new Inventory { Number = "0000000001-001" };

            this.inventoryModelToMap = new InventoryBusinessModel { Number = "0000000001-001" };

            this.readerHistoryEntityToMap = new ReaderHistory
            {
                ReaderHistoryId = 1,
                StartDate = Convert.ToDateTime("2013.12.12"),
                ReturnDate = Convert.ToDateTime("2013.12.20"),
                FinishDate = Convert.ToDateTime("2013.12.28"),
                Reader = this.readerEntityToMap,
                Inventory = this.inventoryEntityToMap
            };

            this.readerHistoryEntityToCompareWith = new ReaderHistory
            {
                ReaderHistoryId = 1,
                StartDate = Convert.ToDateTime("2013.12.12"),
                ReturnDate = Convert.ToDateTime("2013.12.20"),
                FinishDate = Convert.ToDateTime("2013.12.28"),
                Reader = this.readerEntityToMap,
                Inventory = this.inventoryEntityToMap
            };
            this.ReaderHistoryModelToMap = new ReaderHistoryBusinessModel
            {
                Id = 1,
                StartDate = Convert.ToDateTime("2013.12.12"),
                ReturnDate = Convert.ToDateTime("2013.12.20"),
                FinishDate = Convert.ToDateTime("2013.12.28"),
                ReaderBusiness = this.readerModelToMap,
                InventoryBusiness = this.inventoryModelToMap
            };
            this.ReaderHistoryModelToCompareWith = new ReaderHistoryBusinessModel
            {
                Id = 1,
                StartDate = Convert.ToDateTime("2013.12.12"),
                ReturnDate = Convert.ToDateTime("2013.12.20"),
                FinishDate = Convert.ToDateTime("2013.12.28"),
                ReaderBusiness = this.readerModelToMap,
                InventoryBusiness = this.inventoryModelToMap
            };
        }
Beispiel #7
0
        public void AddNewReaderHistory(ReaderHistoryBusinessModel readerHistoryBusiness, int readerId)
        {
            ReaderHistoryMapper readerHistoryMapper = new ReaderHistoryMapper();
            ReaderHistory       readerHistory       = new ReaderHistory();

            readerHistory = readerHistoryMapper.Map(readerHistoryBusiness);
            var       reader    = uow.Readers.GetById(readerId);
            Inventory inventory = this.uow.Inventories.GetAll().Where(inv => inv.Number == readerHistory.Inventory.Number).Select(inv => inv).Single();

            uow.ReadersHistories.Add(new ReaderHistory
            {
                StartDate  = readerHistory.StartDate,
                FinishDate = readerHistory.FinishDate,
                Reader     = reader,
                Inventory  = this.uow.Inventories.GetById(inventory.InventoryId)
            });
            uow.Commit();
        }
Beispiel #8
0
        public void GiveBookToStudent(ReaderHistoryBusinessModel readerHistoryBusinessModel)
        {
            ReaderHistoryMapper readerHistoryMapper = new ReaderHistoryMapper();
            ReaderHistory       readerHistory       = new ReaderHistory();

            readerHistory = readerHistoryMapper.Map(readerHistoryBusinessModel);

            Inventory inventory = this.uow.Inventories.GetAll().Where(inv => inv.Number == readerHistory.Inventory.Number).Select(inv => inv).Single();

            if (inventory.IsAvailable == true)
            {
                inventory.IsAvailable = false;
            }
            else
            {
                throw new Exception();
            }

            this.uow.Inventories.Update(inventory);
            uow.Commit();
        }
        public IEnumerable<ReaderHistoryBusinessModel> GetReaderHistoriesByReaderId(int? readerId)
        {
            List<ReaderHistoryBusinessModel> readerHistoryBusiness = new List<ReaderHistoryBusinessModel>();

            ReaderHistoryMapper readerHistoryMapper = new ReaderHistoryMapper();
            List<ReaderHistory> readerHistory = this.uow.ReadersHistories.GetAll().Where(r => r.Reader.ReaderId == readerId)
                .Select(r => r).ToList();
            for (int i = 0; i < readerHistory.Count; i++)
            {
                readerHistoryBusiness.Add(readerHistoryMapper.Map(readerHistory[i]));
            }

            var readerHistoryBusinessSorted = readerHistoryBusiness.OrderByDescending(x => x.StartDate);

            /*if (readerHistoryBusinessSorted.Count() == 0)
            {
                readerHistoryBusinessSorted.First().ReaderBusiness.ReaderId = readerId;
            }*/

            return readerHistoryBusinessSorted;
        }
Beispiel #10
0
        public IEnumerable <ReaderHistoryBusinessModel> GetReaderHistoriesByReaderId(int?readerId)
        {
            List <ReaderHistoryBusinessModel> readerHistoryBusiness = new List <ReaderHistoryBusinessModel>();

            ReaderHistoryMapper  readerHistoryMapper = new ReaderHistoryMapper();
            List <ReaderHistory> readerHistory       = this.uow.ReadersHistories.GetAll().Where(r => r.Reader.ReaderId == readerId)
                                                       .Select(r => r).ToList();

            for (int i = 0; i < readerHistory.Count; i++)
            {
                readerHistoryBusiness.Add(readerHistoryMapper.Map(readerHistory[i]));
            }

            var readerHistoryBusinessSorted = readerHistoryBusiness.OrderByDescending(x => x.StartDate);

            /*if (readerHistoryBusinessSorted.Count() == 0)
             * {
             *  readerHistoryBusinessSorted.First().ReaderBusiness.ReaderId = readerId;
             * }*/

            return(readerHistoryBusinessSorted);
        }
        public void GiveBookToStudent(ReaderHistoryBusinessModel readerHistoryBusinessModel)
        {
            ReaderHistoryMapper readerHistoryMapper = new ReaderHistoryMapper();
            ReaderHistory readerHistory = new ReaderHistory();

            readerHistory = readerHistoryMapper.Map(readerHistoryBusinessModel);

            Inventory inventory = this.uow.Inventories.GetAll().Where(inv => inv.Number == readerHistory.Inventory.Number).Select(inv => inv).Single();

            if (inventory.IsAvailable == true)
            {
                inventory.IsAvailable = false;
            }
            else
            {
                throw new Exception();
            }

            this.uow.Inventories.Update(inventory);
            uow.Commit();

        }
        public EmailMassageModel GetMassageModelByReaderId(int readerId)
        {

            EmailMassageModel emailMassageModel = new EmailMassageModel();
            ReaderHistoryMapper historyMapper = new ReaderHistoryMapper();
            List<ReaderHistoryBusinessModel> readerHistoryBusiness = new List<ReaderHistoryBusinessModel>();

            List<ReaderHistory> readerHistory = this.uow.ReadersHistories.GetAll().Where(r => r.Reader.ReaderId == readerId && r.FinishDate < DateTime.Now && r.ReturnDate == null)
                .Select(r => r).ToList();

            for (int i = 0; i < readerHistory.Count; i++)
            {
                readerHistoryBusiness.Add(historyMapper.Map(readerHistory[i]));
            }

            string books = null;
            foreach (var book in readerHistoryBusiness)
            {
                books += book.InventoryBusiness.Item.Name + ", ";
            }

            emailMassageModel.FirsName = readerHistoryBusiness.First().ReaderBusiness.FirstName;
            emailMassageModel.LastName = readerHistoryBusiness.First().ReaderBusiness.LastName;
            emailMassageModel.Email = readerHistoryBusiness.First().ReaderBusiness.EMail;
            emailMassageModel.Subject = "Owing Book";
            emailMassageModel.Message = "Dear student: " + emailMassageModel.FirsName + " " + emailMassageModel.LastName + ": " +
                "you owe the books: " + books + "Please back them to the library";

            return emailMassageModel;
        }
        public List<ReaderHistoryBusinessModel> GetReaderHistoryByInventoryNumber(string searchString, int? readerId)
        {
            var readerHisroryModel = new List<ReaderHistoryBusinessModel>();
            List<ReaderHistory> readerHistories;

            using (LibraryUow uow = new LibraryUow())
            {
                var readerHistoryMapper = new ReaderHistoryMapper();

                if (readerId != null)
                {

                    readerHistories = this.uow.ReadersHistories.GetAll().Where(r => r.Reader.ReaderId == readerId && r.ReturnDate == null)
                      .Select(r => r).ToList();
                }
                else
                {
                    readerHistories = this.uow.ReadersHistories.GetAll().Where(r => r.ReturnDate == null).Select(r => r).ToList();
                }

                foreach (var readerHistory in readerHistories)
                {
                    if (readerHistory.Inventory.Number == searchString)
                    {
                        readerHisroryModel.Add(readerHistoryMapper.Map(readerHistory));

                    }

                }


            }
            return readerHisroryModel;
        }
        public void UpdateReaderHistory(ReaderHistoryBusinessModel readerHistoryBusiness)
        {
            ReaderHistoryMapper mapper = new ReaderHistoryMapper();
            ReaderHistory readerHistory = new ReaderHistory();

            readerHistory = mapper.Map(readerHistoryBusiness);
            this.uow.ReadersHistories.Update(readerHistory);

            Inventory inventory = this.uow.Inventories.GetById(readerHistoryBusiness.InventoryBusiness.InventoryId);

            if (inventory.IsAvailable == false)
            {
                if (readerHistoryBusiness.ReturnDate != null)
                {
                    inventory.IsAvailable = true;
                }
                else
                {
                    inventory.IsAvailable = false;
                }
            }
            else
            {
                throw new Exception("This inventory already exist in the Library");
            }

            uow.Commit();
        }
        public ReaderHistoryBusinessModel GetReaderHistoryById(int readerHistoryId)
        {
            ReaderHistoryMapper mapper = new ReaderHistoryMapper();
            ReaderHistoryBusinessModel readerHistoryBusiness = new ReaderHistoryBusinessModel();
            readerHistoryBusiness = mapper.Map(this.uow.ReadersHistories.GetById(readerHistoryId));

            return readerHistoryBusiness;
        }
        public void AddNewReaderHistory(ReaderHistoryBusinessModel readerHistoryBusiness, int readerId)
        {
            ReaderHistoryMapper readerHistoryMapper = new ReaderHistoryMapper();
            ReaderHistory readerHistory = new ReaderHistory();

            readerHistory = readerHistoryMapper.Map(readerHistoryBusiness);
            var reader = uow.Readers.GetById(readerId);
            Inventory inventory = this.uow.Inventories.GetAll().Where(inv => inv.Number == readerHistory.Inventory.Number).Select(inv => inv).Single();

            uow.ReadersHistories.Add(new ReaderHistory
            {
                StartDate = readerHistory.StartDate,
                FinishDate = readerHistory.FinishDate,
                Reader = reader,
                Inventory = this.uow.Inventories.GetById(inventory.InventoryId)

            });
            uow.Commit();
        }