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); }
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); }