public static async Task <BizonylatComplexDto> SumEsAfaEsTermekdijAsync(ossContext context, string sid, BizonylatComplexDto dto) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.BIZONYLATMOD); BizonylatUtils.SumEsAfaEsTermekdij(dto.Dto, dto.LstTetelDto, dto.LstAfaDto, dto.LstTermekdijDto); return(dto); }
public static async Task <int> SaveAsync(ossContext context, string sid, BizonylatComplexDto complexDto) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.BIZONYLATMOD); if (!string.IsNullOrEmpty(complexDto.Dto.Bizonylatszam)) { throw new Exception($"Ez a bizonylat már nem módosítható: {complexDto.Dto.Bizonylatszam}!"); } foreach (var l in complexDto.LstTetelDto) { BizonylatUtils.BizonylattetelCalc(l); } BizonylatUtils.SumEsAfaEsTermekdij(complexDto.Dto, complexDto.LstTetelDto, complexDto.LstAfaDto, complexDto.LstTermekdijDto); Models.Bizonylat entity; int bizonylatKod; if (complexDto.Dto.Bizonylatkod == 0) { //a fej még nem volt soha kiírva entity = ObjectUtils.Convert <BizonylatDto, Models.Bizonylat>(complexDto.Dto); bizonylatKod = await BizonylatDal.AddAsync(context, entity); } else { //updateelni a fejet bizonylatKod = complexDto.Dto.Bizonylatkod; await BizonylatDal.Lock(context, bizonylatKod, complexDto.Dto.Modositva); entity = await BizonylatDal.GetAsync(context, bizonylatKod); ObjectUtils.Update(complexDto.Dto, entity); await BizonylatDal.UpdateAsync(context, entity); //törölni az esetleges létező tételt-áfát- var entitesTetel = BizonylatTetelDal.Select(context, bizonylatKod); foreach (var l in entitesTetel) { await BizonylatTetelDal.DeleteAsync(context, l); } var entitesAfa = BizonylatAfaDal.Select(context, bizonylatKod); foreach (var l in entitesAfa) { await BizonylatAfaDal.DeleteAsync(context, l); } var entitesTermekdij = BizonylatTermekdijDal.Select(context, bizonylatKod); foreach (var l in entitesTermekdij) { await BizonylatTermekdijDal.DeleteAsync(context, l); } } //beírni a bizonylatkódot a tételbe-áfába-termékdíjba foreach (var l in complexDto.LstTetelDto) { l.Bizonylattetelkod = 0; l.Bizonylatkod = bizonylatKod; var entityTetel = ObjectUtils.Convert <BizonylatTetelDto, Models.Bizonylattetel>(l); await BizonylatTetelDal.AddAsync(context, entityTetel); } foreach (var l in complexDto.LstAfaDto) { l.Bizonylatafakod = 0; l.Bizonylatkod = bizonylatKod; var entityAfa = ObjectUtils.Convert <BizonylatAfaDto, Models.Bizonylatafa>(l); await BizonylatAfaDal.AddAsync(context, entityAfa); } foreach (var l in complexDto.LstTermekdijDto) { l.Bizonylattermekdijkod = 0; l.Bizonylatkod = bizonylatKod; var entityTermekdij = ObjectUtils.Convert <BizonylatTermekdijDto, Models.Bizonylattermekdij>(l); await BizonylatTermekdijDal.AddAsync(context, entityTermekdij); } return(bizonylatKod); }