Ejemplo n.º 1
0
        public void AddRent()
        {
            if (null == CurrentPerson)
            {
                MessageBoxService.Show("请选择借书的人", "提示");
                return;
            }

            if (null == CurrentBook)
            {
                MessageBoxService.Show("请选择要借的书", "提示");
                return;
            }

            if (null != ToBeRents.FirstOrDefault(e => e.Book == CurrentBook))
            {
                return;
            }

            if (CurrentBook.AvailableCount <= 0)
            {
                MessageBoxService.Show("这本书已经被借空了", "提示");
                return;
            }

            var rent = new Rent
            {
                Person    = CurrentPerson,
                Book      = CurrentBook,
                StartDate = DateTime.Now,
                Count     = 1,
            };

            ToBeRents.Add(rent);
        }
Ejemplo n.º 2
0
        public void ConfirmRent()
        {
            if (null == CurrentPerson)
            {
                MessageBoxService.Show("请选择借书的人", "提示");
                return;
            }

            if (ToBeRents.Count == 0)
            {
                MessageBoxService.Show("请选择要借的书", "提示");
                return;
            }

            var tmp = ToBeRents.FirstOrDefault(e => e.Count > e.Book.AvailableCount);

            if (null != tmp)
            {
                MessageBoxService.Show(string.Format("[{0}]的数量超出了现有数量", tmp.Book.Name), "提示");
                return;
            }

            var toRentCount = ToBeRents.Sum(e => e.Count);

            if (toRentCount + _rentCount > _canRentCount)
            {
                MessageBoxService.Show(string.Format("已借出{0}本 + 将借{1}本 > {2}本,每个人在借数量不超过{2}本",
                                                     _rentCount, toRentCount, _canRentCount), "提示");
                return;
            }

            var sb = new StringBuilder();

            sb.AppendLine(string.Format("[{0}]将借出以下书籍:", CurrentPerson.Name));
            foreach (var item in ToBeRents)
            {
                sb.AppendLine(string.Format("《{0}》 {1}本", item.Book.Name, item.Count));
            }
            var log = sb.ToString();

            sb.AppendLine("是否确认?");

            if (MessageBoxService.Show(sb.ToString(), "提示", MessageBoxButton.YesNo) == MessageBoxResult.No)
            {
                return;
            }

            Rent();
            Logger.DebugFormat("借出,{0}", log);
        }