public void WriteRenta(int rentaId, string qrEncoded) { var qr = EreminQrService.GetPayload(qrEncoded); var renta = Get <Renta>(p => p.Id == rentaId && p.HasQRWrite && string.IsNullOrEmpty(p.QRRecorded), r => r.Sku.Nomenklatura.Specialisation.ProductType); if (renta == null) { throw new BillingNotFoundException($"offer {rentaId} записать на qr невозможно"); } WriteRenta(renta, qr); SaveContext(); }
private QRDto CreateQRDto(int shop, SkuDto sku) { var qr = new QRDto(); qr.Shop = shop; qr.Sku = sku; qr.QRID = QRHelper.Concatenate(sku.SkuId, shop); var cache = Get <CacheQRContent>(q => q.QRID == qr.QRID); if (cache == null) { cache = new CacheQRContent { QRID = qr.QRID, Encoded = EreminQrService.GetQRUrl(qr.QRID) }; Add(cache); SaveContext(); } qr.QR = cache.Encoded; return(qr); }