private IEnumerable <Contracts.Models.PostingAccount> GetPostingAccounts() { var query = PostingAccountRepository.FindAll() .Include(i => i.CalculatedBalance) .Include(i => i.CalculatedBalance.Positions) .AsNoTracking(); if (CustomerId != null) { query = query.Where(i => i.CustomerDivisions.Any(d => d.CustomerId == CustomerId)); } if (PostingAccountId != null) { query = query.Where(i => i.Id == PostingAccountId); } query = query.OrderBy(i => i.DisplayName); OlmaPostingAccounts = query.ToList(); var postingAccountsList = Mapper.Map <IEnumerable <Contracts.Models.PostingAccount> >(OlmaPostingAccounts); return(postingAccountsList); }
private Contracts.Models.ExpressCode GetExpressCodeByDigitalCode() { var avail2deli = LmsAvail2deliRepository.FindAll() .Where(ad => ad.ExpressCode == DigitalCode && ad.State == 2 && ad.FrachtpapiereErstellt.Value && ad.DeletionDate == null ) .Include(ad => ad.Availability) .Include(ad => ad.Delivery).AsNoTracking().FirstOrDefault(); if (avail2deli == null) { return(null); } var loadCarriers = LoadCarrierRepository.FindAll() .Include(lc => lc.Quality).ThenInclude(q => q.Mappings) .Include(lc => lc.Type) .FromCache().ToList(); var loadCarrier = loadCarriers .SingleOrDefault(lc => lc.Type.RefLmsLoadCarrierTypeId == avail2deli.PalletTypeId && lc.Quality.Mappings.SingleOrDefault(qm => qm.RefLmsQualityId == avail2deli.QualityId) != null); Olma.LoadCarrier baseLoadCarrier = null; if (avail2deli.BaseQuantity != null && avail2deli.BaseQuantity != 0) { baseLoadCarrier = loadCarriers .SingleOrDefault(lc => lc.Type.RefLmsLoadCarrierTypeId == avail2deli.BasePalletTypeId && lc.Quality.Mappings.SingleOrDefault(qm => qm.RefLmsQualityId == avail2deli.BaseQualityId) != null); } if (loadCarrier == null) { return(null); } int?ltmsAccountId; switch (PrintType) { case B2b.Common.Enumerations.PrintType.LoadCarrierReceiptDelivery: ltmsAccountId = avail2deli.Delivery.LtmsAccountId; break; case B2b.Common.Enumerations.PrintType.LoadCarrierReceiptPickup: ltmsAccountId = avail2deli.Availability.LtmsAccountId; break; default: return(null); } var postingAccount = PostingAccountRepository.FindAll() .Where(pa => pa.RefLtmsAccountId == ltmsAccountId) .AsNoTracking().FirstOrDefault(); if (postingAccount == null) { return(null); } var expressCode = new Contracts.Models.ExpressCode { DigitalCode = DigitalCode, LoadCarrierReceiptPreset = new LoadCarrierReceiptPreset { DeliveryNoteNumber = avail2deli.Delivery?.DeliveryNoteNo, PickupNoteNumber = avail2deli.Availability?.ContractNo, RefLmsBusinessTypeId = avail2deli.Delivery?.BusinessTypeId, LoadCarrierId = loadCarrier.Id, LoadCarrierQuantity = avail2deli.Quantity, BaseLoadCarrierId = baseLoadCarrier?.Id, BaseLoadCarrierQuantity = avail2deli.BaseQuantity, PostingAccountId = postingAccount.Id, Type = PrintType == B2b.Common.Enumerations.PrintType.LoadCarrierReceiptPickup ? LoadCarrierReceiptType.Pickup : LoadCarrierReceiptType.Delivery, PlannedFulfillmentDateTime = avail2deli.LadeterminDatum, RefLtmsTransactionRowGuid = avail2deli.RefLtmsTransactionRowGuid } }; return(expressCode); }