public static async Task <byte[]> FeltetelesSzerzodesAsync(ossContext context, string sid, int projektKod) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.PROJEKT); var entityProjekt = await ProjektDal.GetAsync(context, projektKod); var entityParticio = await ParticioDal.GetAsync(context); var pc = JsonConvert.DeserializeObject <ProjektConf>(entityParticio.Projekt); var iratKod = pc.FeltetelesSzerzodesIratkod != null ? (int)pc.FeltetelesSzerzodesIratkod : throw new Exception(string.Format(Messages.ParticioHiba, "FeltetelesSzerzodesIratkod")); var original = await IratBll.LetoltesAsync(context, sid, iratKod); NumberFormatInfo nfi = new CultureInfo("hu-HU", false).NumberFormat; nfi.NumberGroupSeparator = "."; var arNetto = entityProjekt.Vallalasiarnetto; var elolegNetto = (int)(arNetto * (decimal)0.7) / 1000 * 1000; ComponentInfo.SetLicense(serialKey); DocumentModel document; using (var msDocx = new MemoryStream()) { msDocx.Write(original.b, 0, original.b.Count()); document = DocumentModel.Load(msDocx, GemBox.Document.LoadOptions.DocxDefault); } var mezoertekek = new { UGYFELNEV = entityProjekt.UgyfelkodNavigation.Nev, UGYFELCIM = UgyfelBll.Cim(entityProjekt.UgyfelkodNavigation), TELEFONSZAM = entityProjekt.UgyfelkodNavigation.Telefon, DC = entityProjekt.Dckw.ToString(CultureInfo.CurrentCulture), NAPELEM = entityProjekt.Napelem, INVERTER = entityProjekt.Inverter, TELEPITESICIM = entityProjekt.Telepitesicim, KIVITELEZESIHATARIDO = entityProjekt.Kivitelezesihatarido.Value.ToShortDateString(), MUNKATERULETATADASA = DateTime.Now.Date.AddDays(1).ToShortDateString(), ARNETTO = (arNetto - 75000).ToString("#,#", nfi), ARBRUTTO = Calc.RealRound((arNetto - 75000) * (decimal)1.27, 1m).ToString("#,#", nfi), DATUM = DateTime.Now.Date.ToShortDateString() }; document.MailMerge.Execute(mezoertekek); byte[] result; using (var msDocx = new MemoryStream()) { document.Save(msDocx, GemBox.Document.SaveOptions.DocxDefault); result = msDocx.ToArray(); } return(result); }
public static async Task <BizonylatComplexDto> CreateNewComplexAsync(ossContext context, string sid) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.BIZONYLATMOD); var entityParticio = await ParticioDal.GetAsync(context); var szc = JsonConvert.DeserializeObject <SzallitoConf>(entityParticio.Szallito); var result = new BizonylatComplexDto { Dto = new BizonylatDto { Szallitonev = szc.Nev, Szallitoiranyitoszam = szc.Iranyitoszam, Szallitohelysegnev = szc.Helysegnev, Szallitoutcahazszam = szc.Utcahazszam, Szallitobankszamla1 = szc.Bankszamla1, Szallitobankszamla2 = szc.Bankszamla2, Szallitoadotorzsszam = szc.Adotorzsszam, Szallitoadoafakod = szc.Adoafakod, Szallitoadomegyekod = szc.Adomegyekod, Bizonylatkelte = DateTime.Today, Teljesiteskelte = DateTime.Today, Fizetesihatarido = DateTime.Today, Szallitasihatarido = DateTime.Today, Kifizetesrendben = false, Kiszallitva = false, Arfolyam = 1, Ezstornozott = false, Ezstornozo = false, Netto = 0, Afa = 0, Brutto = 0, Termekdij = 0, Nyomtatottpeldanyokszama = 0 } }; const string penznem = "HUF"; var lstPenznem = await PenznemDal.ReadAsync(context, penznem); if (lstPenznem.Count == 1) { result.Dto.Penznemkod = lstPenznem[0].Penznemkod; result.Dto.Penznem = penznem; } result.LstTetelDto = new List <BizonylatTetelDto>(); result.LstAfaDto = new List <BizonylatAfaDto>(); result.LstTermekdijDto = new List <BizonylatTermekdijDto>(); return(result); }
public static async Task <byte[]> MunkalapAsync(ossContext context, string sid, int projektKod) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.PROJEKT); var entityProjekt = await ProjektDal.GetAsync(context, projektKod); var entityParticio = await ParticioDal.GetAsync(context); var pc = JsonConvert.DeserializeObject <ProjektConf>(entityParticio.Projekt); var iratKod = pc.MunkalapIratkod != null ? (int)pc.MunkalapIratkod : throw new Exception(string.Format(Messages.ParticioHiba, "MunkalapIratkod")); if (entityProjekt.Munkalapszam == null) { entityProjekt.Munkalapszam = context.KodGen(KodNev.Munkalapszam) + "/" + DateTime.Now.Year; await ProjektDal.UpdateAsync(context, entityProjekt); await ProjektDal.GetAsync(context, projektKod); } var original = await IratBll.LetoltesAsync(context, sid, iratKod); ComponentInfo.SetLicense(serialKey); DocumentModel document; using (var msDocx = new MemoryStream()) { msDocx.Write(original.b, 0, original.b.Count()); document = DocumentModel.Load(msDocx, GemBox.Document.LoadOptions.DocxDefault); } var mezoertekek = new { PROJEKTKOD = entityProjekt.Projektkod.ToString(), UGYFELNEV = entityProjekt.UgyfelkodNavigation.Nev, TELEPITESICIM = entityProjekt.Telepitesicim, PROJEKTJELLEGE = entityProjekt.Projektjellege, MUNKALAPSZAM = entityProjekt.Munkalapszam, DC = entityProjekt.Dckw.ToString(CultureInfo.CurrentCulture), AC = entityProjekt.Ackva.ToString(CultureInfo.CurrentCulture), TELEFONSZAM = entityProjekt.UgyfelkodNavigation.Telefon, NAPELEM = entityProjekt.Napelem, INVERTER = entityProjekt.Inverter }; document.MailMerge.Execute(mezoertekek); byte[] result; using (var msDocx = new MemoryStream()) { document.Save(msDocx, GemBox.Document.SaveOptions.DocxDefault); result = msDocx.ToArray(); } return(result); }
public static async Task WebesAjanlatkeresAsync(ossContext context, IHubContext <OssHub> hubcontext, IConfiguration config, WebesAjanlatkeresParam par) { var sid = ""; sid = await LogonBll.BejelentkezesAsync(context, hubcontext, config.GetValue <string>("Webesajanlatkeres:user"), Crypt.MD5Hash(config.GetValue <string>("Webesajanlatkeres:password")), "", "", ""); var csoport = (await LogonBll.SzerepkorokAsync(context, sid)) .Where(s => s.Particiokod == par.Particiokod).ToList(); if (csoport.Count != 1) { throw new Exception("Konfigurációs hiba 1!"); } await LogonBll.SzerepkorValasztasAsync(context, sid, csoport[0].Particiokod, csoport[0].Csoportkod); var particioDto = await ParticioDal.GetAsync(context); var ec = JsonConvert.DeserializeObject <List <EmailConf> >(particioDto.Emails) .Where(s => s.ConfName == config.GetValue <string>("Webesajanlatkeres:emailconf")).First(); var dto = new AjanlatkeresDto { Particiokod = par.Particiokod, Ugynoknev = par.Ugynoknev, Nev = par.Nev, Cim = par.Cim, Email = par.Email, Telefonszam = par.Telefon, Havifogyasztaskwh = par.Havifogyasztaskwh, Haviszamlaft = par.Haviszamlaft, Napelemekteljesitmenyekw = par.Napelemekteljesitmenyekw, Megjegyzes = par.Megjegyzes, Letrehozta = par.Ugynoknev, Letrehozva = DateTime.Now, Modositotta = par.Ugynoknev, Modositva = DateTime.Now, }; var entity = ObjectUtils.Convert <AjanlatkeresDto, Models.Ajanlatkeres>(dto); var id = await AddAsync(context, sid, dto); //ügyfél var uzenet = $"Tisztelt {par.Nev}!<br><br>A következő adatokkal kért tőlünk ajánlatot: <br><br>Cím: {par.Cim}<br>Email: {par.Email}<br>Telefonszám: {par.Telefon}<br><br>Hamarosan keresni fogjuk a részletek egyeztetése céljából!<br><br>www.gridsolar.hu"; EmailKuldes(ec, par.Email, "Re: ajánlatkérés", uzenet); //sales uzenet = $"Hello Timi,<br><br>webes ajánlatkérés érkezett, Id: {id}.<br><br>OSS"; EmailKuldes(ec, "*****@*****.**", "Webes ajánlatkérés", uzenet); await LogonBll.KijelentkezesAsync(context, sid); }
public static async Task <byte[]> KeszrejelentesMvmemaszAsync(ossContext context, string sid, int projektKod) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.PROJEKT); var entityProjekt = await ProjektDal.GetAsync(context, projektKod); var entityParticio = await ParticioDal.GetAsync(context); var pc = JsonConvert.DeserializeObject <ProjektConf>(entityParticio.Projekt); var iratKod = pc.KeszrejelentesMvmemaszIratkod != null ? (int)pc.KeszrejelentesMvmemaszIratkod : throw new Exception(string.Format(Messages.ParticioHiba, "KeszrejelentesMvmemaszIratkod")); var original = await IratBll.LetoltesAsync(context, sid, iratKod); ComponentInfo.SetLicense(serialKey); DocumentModel document; using (var msDocx = new MemoryStream()) { msDocx.Write(original.b, 0, original.b.Count()); document = DocumentModel.Load(msDocx, GemBox.Document.LoadOptions.DocxDefault); } var mezoertekek = new { UGYFELNEV = entityProjekt.UgyfelkodNavigation.Nev, UGYFELCIM = UgyfelBll.Cim(entityProjekt.UgyfelkodNavigation), TELEPITESICIM = entityProjekt.Telepitesicim, INVERTER = entityProjekt.Inverter, TELEFONSZAM = entityProjekt.UgyfelkodNavigation.Telefon, EMAIL = entityProjekt.UgyfelkodNavigation.Email, AC = entityProjekt.Ackva.ToString(CultureInfo.CurrentCulture), DATUM = DateTime.Now.Date.ToShortDateString() }; document.MailMerge.Execute(mezoertekek); byte[] result; using (var msDocx = new MemoryStream()) { document.Save(msDocx, GemBox.Document.SaveOptions.DocxDefault); result = msDocx.ToArray(); } return(result); }
public static async Task <byte[]> HMKEtulajdonoshozzajarulas(ossContext context, string sid, int projektKod) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.PROJEKT); var entityProjekt = await ProjektDal.GetAsync(context, projektKod); var entityParticio = await ParticioDal.GetAsync(context); var pc = JsonConvert.DeserializeObject <ProjektConf>(entityParticio.Projekt); var iratKod = pc.HMKEtulajdonoshozzajarulasIratkod != null ? (int)pc.HMKEtulajdonoshozzajarulasIratkod : throw new Exception(string.Format(Messages.ParticioHiba, "HMKEtulajdonoshozzajarulasIratkod")); var original = await IratBll.LetoltesAsync(context, sid, iratKod); NumberFormatInfo nfi = new CultureInfo("hu-HU", false).NumberFormat; nfi.NumberGroupSeparator = "."; ComponentInfo.SetLicense(serialKey); DocumentModel document; using (var msDocx = new MemoryStream()) { msDocx.Write(original.b, 0, original.b.Count()); document = DocumentModel.Load(msDocx, GemBox.Document.LoadOptions.DocxDefault); } var mezoertekek = new { UGYFELNEV = entityProjekt.UgyfelkodNavigation.Nev, TELEPITESICIM = entityProjekt.Telepitesicim, MEGRENDELVE = entityProjekt.Megrendelve.Value.ToShortDateString(), }; document.MailMerge.Execute(mezoertekek); byte[] result; using (var msDocx = new MemoryStream()) { document.Save(msDocx, GemBox.Document.SaveOptions.DocxDefault); result = msDocx.ToArray(); } return(result); }
public static async Task <byte[]> ElegedettsegAsync(ossContext context, string sid, int projektKod) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.PROJEKT); var entityProjekt = await ProjektDal.GetAsync(context, projektKod); var entityParticio = await ParticioDal.GetAsync(context); var pc = JsonConvert.DeserializeObject <ProjektConf>(entityParticio.Projekt); var iratKod = pc.ElegedettsegiFelmeresIratkod != null ? (int)pc.ElegedettsegiFelmeresIratkod : throw new Exception(string.Format(Messages.ParticioHiba, "ElegedettsegiFelmeresIratkod")); var original = await IratBll.LetoltesAsync(context, sid, iratKod); ComponentInfo.SetLicense(serialKey); DocumentModel document; using (var msDocx = new MemoryStream()) { msDocx.Write(original.b, 0, original.b.Count()); document = DocumentModel.Load(msDocx, GemBox.Document.LoadOptions.DocxDefault); } var mezoertekek = new { PROJEKTKOD = entityProjekt.Projektkod.ToString(), UGYFELNEV = entityProjekt.UgyfelkodNavigation.Nev, TELEPITESICIM = entityProjekt.Telepitesicim }; document.MailMerge.Execute(mezoertekek); byte[] result; using (var msDocx = new MemoryStream()) { document.Save(msDocx, GemBox.Document.SaveOptions.DocxDefault); result = msDocx.ToArray(); } return(result); }
public static async Task UpdateRoleAsync(ossContext context, string sid, int particioKod, int csoportKod) { await CsoportDal.CheckSzerepkorAsync(context, particioKod, csoportKod); var entityParticio = ParticioDal.Get(context, particioKod); var entityCsoport = await CsoportDal.GetAsync(context, csoportKod); lock (LockMe) { var entity = SessionDal.Get(context, sid); entity.Particiokod = particioKod; entity.Particio = entityParticio.Megnevezes; entity.Csoportkod = csoportKod; entity.Csoport = entityCsoport.Csoport1; SessionDal.Update(context, entity); entity = SessionDal.Get(context, sid); context.CurrentSession = entity; } }
public static async Task <int> AjanlatKesztitesAsync(ossContext context, string sid, int projektKod, List <AjanlatBuf> ajanlatBuf, List <SzMT> fi) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.AJANLATKESZITES); ExcelFile _excel; ExcelWorksheet _sheet; SpreadsheetInfo.SetLicense("ERDD-TN5J-YKX9-H1KX"); var ervenyes = SzMTUtils.GetDate(fi, Szempont.Ervenyes); var tajolas = SzMTUtils.GetString(fi, Szempont.Tajolas); var termeles = SzMTUtils.GetInt(fi, Szempont.Termeles); var megjegyzes = SzMTUtils.GetString(fi, Szempont.Megjegyzes); var szuksegesAramerosseg = SzMTUtils.GetString(fi, Szempont.SzuksegesAramerosseg); var entityProjekt = await ProjektDal.GetAsync(context, projektKod); var entityParticio = await ParticioDal.GetAsync(context); var pc = JsonConvert.DeserializeObject <ProjektConf>(entityParticio.Projekt); var iratKod = pc.AjanlatIratkod != null ? (int)pc.AjanlatIratkod : throw new Exception(string.Format(Messages.ParticioHiba, "AjanlatIratkod")); var fb = await IratBll.LetoltesAsync(context, sid, iratKod); using (var msExcel = new MemoryStream()) { msExcel.Write(fb.b, 0, fb.b.Count()); msExcel.Position = 0; _excel = ExcelFile.Load(msExcel, GemBox.Spreadsheet.LoadOptions.XlsDefault); } if (_excel.Worksheets.Count != 1) { throw new Exception("Az alapbizonylat nincs előkészítve!"); } _sheet = _excel.Worksheets[0]; XlsUtils.Mezo(_sheet, 7, 3, entityProjekt.UgyfelkodNavigation.Nev); XlsUtils.Mezo(_sheet, 7, 8, DateTime.Now.Date.ToShortDateString()); XlsUtils.Mezo(_sheet, 8, 8, ervenyes.Date.ToShortDateString()); var ugyfelCim = UgyfelBll.Cim(entityProjekt.UgyfelkodNavigation).Trim(' ', ','); XlsUtils.Mezo(_sheet, 10, 3, ugyfelCim); var napelem = ajanlatBuf.First(s => s.AjanlatTetelTipus == AjanlatTetelTipus.Napelem); var inverter = ajanlatBuf.First(s => s.AjanlatTetelTipus == AjanlatTetelTipus.Inverter); var mechanikaiSzerelveny = ajanlatBuf.First(s => s.AjanlatTetelTipus == AjanlatTetelTipus.MechanikaiSzerelveny); var villamosSzerelveny = ajanlatBuf.First(s => s.AjanlatTetelTipus == AjanlatTetelTipus.VillamosSzerelveny); var ugyintezes = ajanlatBuf.First(s => s.AjanlatTetelTipus == AjanlatTetelTipus.Ugyintezes); var munkadij = ajanlatBuf.First(s => s.AjanlatTetelTipus == AjanlatTetelTipus.Munkadij); var tuzesetiKapcsolo = ajanlatBuf.First(s => s.AjanlatTetelTipus == AjanlatTetelTipus.TuzesetiKapcsolo); var dckW = Calc.RealRound(napelem.OsszTeljesitmeny / 1000, 0.01m); var ackVa = Calc.RealRound(inverter.OsszTeljesitmeny / 1000, 0.01m); XlsUtils.Mezo(_sheet, 13, 3, dckW); XlsUtils.Mezo(_sheet, 14, 3, ackVa); XlsUtils.Mezo(_sheet, 15, 3, szuksegesAramerosseg); XlsUtils.Mezo(_sheet, 13, 5, tajolas); XlsUtils.Mezo(_sheet, 14, 5, "min. " + (dckW * termeles).ToString("#0.") + " kWh, azaz " + (dckW * termeles * 40).ToString("#0.") + " Ft"); XlsUtils.Mezo(_sheet, 18, 3, napelem.CikkNev); XlsUtils.Mezo(_sheet, 18, 5, napelem.Mennyiseg); XlsUtils.Mezo(_sheet, 18, 6, napelem.EgysegAr); XlsUtils.Mezo(_sheet, 19, 3, inverter.CikkNev); XlsUtils.Mezo(_sheet, 19, 5, inverter.Mennyiseg); XlsUtils.Mezo(_sheet, 19, 6, inverter.EgysegAr); XlsUtils.Mezo(_sheet, 20, 3, mechanikaiSzerelveny.CikkNev); XlsUtils.Mezo(_sheet, 20, 5, mechanikaiSzerelveny.Mennyiseg); XlsUtils.Mezo(_sheet, 20, 6, mechanikaiSzerelveny.EgysegAr); XlsUtils.Mezo(_sheet, 21, 3, villamosSzerelveny.CikkNev); XlsUtils.Mezo(_sheet, 21, 5, villamosSzerelveny.Mennyiseg); XlsUtils.Mezo(_sheet, 21, 6, villamosSzerelveny.EgysegAr); XlsUtils.Mezo(_sheet, 22, 7, ugyintezes.EgysegAr); XlsUtils.Mezo(_sheet, 23, 7, munkadij.EgysegAr); XlsUtils.Mezo(_sheet, 26, 7, tuzesetiKapcsolo.EgysegAr); var gar = "A napelemekre {0} év gyári, az inverterre {1} év gyári, mechanikai szerelvényre {2} év, villamos szerelvényre {3} év, kivitelezésre {4} év garancia érvényes."; XlsUtils.Mezo(_sheet, 33, 3, string.Format(gar, napelem.Garancia, inverter.Garancia, mechanikaiSzerelveny.Garancia, villamosSzerelveny.Garancia, munkadij.Garancia)); var felhasznalo = await FelhasznaloDal.GetAsync(context, context.CurrentSession.Felhasznalokod); XlsUtils.Mezo(_sheet, 8, 3, $"{felhasznalo.Nev}, {felhasznalo.Telefon}, {felhasznalo.Email}"); //az excel mezőkkiértékelése _sheet.Calculate(); const string irattipus = "Ajánlat"; var lstIrattipus = (await IrattipusDal.ReadAsync(context, irattipus)).Where(s => s.Irattipus1 == irattipus).ToList(); if (lstIrattipus.Count != 1) { throw new Exception($"Hiányzó irattipus: {irattipus}!"); } var ujIrat = new Models.Irat { Irany = "Ki", Keletkezett = DateTime.Now.Date, Irattipuskod = lstIrattipus[0].Irattipuskod, Ugyfelkod = entityProjekt.Ugyfelkod, Targy = megjegyzes }; var ujIratKod = await IratDal.AddAsync(context, ujIrat); using (var stream = new MemoryStream()) { _excel.Save(stream, SaveOptions.XlsDefault); stream.Position = 0; var fajlBuf = new FajlBuf { Meret = (int)stream.Length, Ext = fb.Ext, Hash = Crypt.MD5Hash(stream), IratKod = ujIratKod, Megjegyzes = megjegyzes, b = stream.ToArray() }; await DokumentumBll.FeltoltesAsync(context, sid, fajlBuf); } return(await ProjektKapcsolatBll.AddIratToProjektAsync(context, sid, projektKod, ujIratKod)); }
public static async Task <Models.Dokumentum> BejegyzesAsync(ossContext context, string sid, FajlBuf fajlBuf) { const int minSize = 100 * 1024 * 1024; SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.IRAT); Models.Volume entityVolume; int ujFajlMerete = fajlBuf.Meret; // lock-ban nem lehet async var entityParticio = await ParticioDal.GetAsync(context); var vc = JsonConvert.DeserializeObject <VolumeConf>(entityParticio.Volume); var Eleresiut = vc.UjvolumeEleresiut ?? throw new Exception(string.Format(Messages.ParticioHiba, "UjvolumeEleresiut")); if (!Directory.Exists(Eleresiut)) { throw new Exception($"UjvolumeEleresiut: nem létező könyvtár: {Eleresiut}!"); } var Maxmeret = vc.UjvolumeMaxmeret != null ? (int)vc.UjvolumeMaxmeret : throw new Exception(string.Format(Messages.ParticioHiba, "UjvolumeMaxmeret")); if (Maxmeret < minSize) { throw new Exception($"UjvolumeMaxmeret: az érték legyen nagyobb, mint {minSize} - jelenleg {Maxmeret}!"); } lock (LockMe) { var lstVolume = VolumeDal.ReadElegSzabadHely(context, ujFajlMerete); if (lstVolume.Count > 0) { entityVolume = lstVolume[0]; if (++entityVolume.Fajlokszamautolsokonyvtarban > 100) { ++entityVolume.Utolsokonyvtar; entityVolume.Fajlokszamautolsokonyvtarban = 1; } entityVolume.Jelenlegimeret += ujFajlMerete; //ezt lehetne okosítani... if ((entityVolume.Maxmeret - entityVolume.Jelenlegimeret) < (10 * 1024 * 1024)) { entityVolume.Allapot = KotetAllapot.Closed.ToString(); } entityVolume.Allapotkelte = DateTime.Now; VolumeDal.Update(context, entityVolume); } else { entityVolume = new Models.Volume { Particiokod = (int)context.CurrentSession.Particiokod, Volumeno = context.KodGen(KodNev.Volume), Eleresiut = Eleresiut, Maxmeret = Maxmeret, Jelenlegimeret = ujFajlMerete, Utolsokonyvtar = 1, Fajlokszamautolsokonyvtarban = 1, Allapot = KotetAllapot.Opened.ToString(), Allapotkelte = DateTime.Now }; VolumeDal.Add(context, entityVolume); } } var entityDokumentum = new Models.Dokumentum { Volumekod = entityVolume.Volumekod, Konyvtar = entityVolume.Utolsokonyvtar, Meret = ujFajlMerete, Ext = fajlBuf.Ext, Hash = fajlBuf.Hash, Iratkod = fajlBuf.IratKod, Megjegyzes = fajlBuf.Megjegyzes }; var dokumentumKod = await DokumentumDal.AddAsync(context, entityDokumentum); return(await DokumentumDal.GetWithVolumeAsync(context, dokumentumKod)); }
public static async Task <byte[]> NyomtatasAsync(IConfiguration config, ossContext context, string sid, int bizonylatKod, BizonylatNyomtatasTipus nyomtatasTipus) { const string minta = "!!! MINTA !!!"; SessionBll.Check(context, sid); await CsoportDal.JogeBizonylatAsync(context); var entityBizonylat = await BizonylatDal.GetComplexAsync(context, bizonylatKod); await BizonylatDal.Lock(context, bizonylatKod, entityBizonylat.Modositva); if ((nyomtatasTipus == BizonylatNyomtatasTipus.Eredeti || nyomtatasTipus == BizonylatNyomtatasTipus.Másolat) && entityBizonylat.Bizonylatszam == null) { throw new Exception("Erről a bizonylatról csak MINTA nyomatási kép készülhet!"); } var entityParticio = await ParticioDal.GetAsync(context); var bc = JsonConvert.DeserializeObject <BizonylatConf>(entityParticio.Bizonylat); var iratKod = bc.BizonylatkepIratkod ?? throw new Exception(string.Format(Messages.ParticioHiba, "BizonylatkepIratkod")); var peldanyszam = bc.EredetipeldanyokSzama ?? throw new Exception(string.Format(Messages.ParticioHiba, "EredetipeldanyokSzama")); if (peldanyszam <= 0 || peldanyszam > 3) { throw new Exception($"EredetipeldanyokSzama: Hibás érték, legyen 1, 2 vagy 3, most {peldanyszam} !"); } var masolat = bc.MasolatokSzama ?? throw new Exception(string.Format(Messages.ParticioHiba, "MasolatokSzama")); if (masolat <= 0 || masolat > 3) { throw new Exception($"MasolatokSzama: Hibás érték, legyen 1, 2 vagy 3, most {masolat} !"); } var szamlakep = await IratBll.LetoltesAsync(context, sid, iratKod); var v = await VerzioDal.GetAsync(context); var fejlec = BizonylatBll.Bl[entityBizonylat.Bizonylattipuskod].BizonylatFejlec; if (nyomtatasTipus == BizonylatNyomtatasTipus.Minta) { fejlec = minta + " - " + fejlec; } var printer = new BizonylatPrinter(); printer.Setup(entityBizonylat, szamlakep.b, fejlec, v); switch (nyomtatasTipus) { case BizonylatNyomtatasTipus.Minta: printer.UjPeldany("1", minta); break; case BizonylatNyomtatasTipus.Eredeti: for (var i = 1; i <= peldanyszam; i++) { printer.UjPeldany(i.ToString(), "Eredeti"); } if (entityBizonylat.Nyomtatottpeldanyokszama == 0) { await UpdateNyomtatottPeldanyAsync(context, bizonylatKod, peldanyszam); } break; case BizonylatNyomtatasTipus.Másolat: if (entityBizonylat.Nyomtatottpeldanyokszama == 0) { throw new Exception("Még nem készült eredeti példány!"); } var sorszamTol = entityBizonylat.Nyomtatottpeldanyokszama + 1; var sorszamIg = sorszamTol + masolat - 1; for (var i = sorszamTol; i <= sorszamIg; i++) { printer.UjPeldany(i.ToString(), "Másolat"); } await UpdateNyomtatottPeldanyAsync(context, bizonylatKod, sorszamIg); break; } return(printer.Print(config)); }