Пример #1
0
        public void InsertIntoUserBasket(ImpersonalBasket request)
        {
            if (request.BookIdArray.Count == 0)
            {
                return;
            }
            List <BasketInfo> UserBasket = new List <BasketInfo>();

            //ищем в списке аллигаты. если такие есть, то заменяем их на конволют.
            foreach (string pin in request.BookIdArray)
            {
                //("BJVVV_1444973");   <---Аллигат
                BasketInfo item = new BasketInfo();
                item.ReaderId = request.ReaderId;
                BJBookInfo            book      = BJBookInfo.GetBookInfoByPIN(pin);
                List <BJExemplarInfo> exemplars = book.Exemplars.ConvertAll(x => (BJExemplarInfo)x);
                BJExemplarInfo        convolute = exemplars.FirstOrDefault(x => x.ConvolutePin != null);
                if (convolute != null)
                {
                    item.BookId        = convolute.ConvolutePin;
                    item.AlligatBookId = book.Id;
                }
                else
                {
                    item.BookId = book.Id;
                }
                UserBasket.Add(item);
            }
            //request.BookIdArray = PinsWithConvoluteID;
            loader.InsertIntoUserBasket(UserBasket);
        }
Пример #2
0
        private void NewOrder(BookExemplarBase exemplar, ReaderInfo reader, int orderTypeId, int ReturnInDays)
        {
            List <BasketInfo> basket = loader.GetBasket(reader.NumberReader);
            string            bookId = ((BJExemplarInfo)exemplar).BookId;
            BasketInfo        bi     = basket.FirstOrDefault(x => x.BookId == bookId && x.ReaderId == reader.NumberReader);

            string alligatBookId = null;

            if (bi != null)
            {
                if (!string.IsNullOrEmpty(bi.AlligatBookId))
                {
                    alligatBookId = bi.AlligatBookId;
                }
            }
            int IssuingDepartmentId = GetFirstIssueDepartmentId(exemplar);

            loader.NewOrder(exemplar, reader, orderTypeId, ReturnInDays, alligatBookId, IssuingDepartmentId);
        }