public async Task <AjanlatParamResult> AjanlatCalc([FromQuery] string sid, [FromBody] AjanlatParam ap) { var result = new AjanlatParamResult(); using (var tr = await _context.Database.BeginTransactionAsync()) try { result.Result = await AjanlatBll.AjanlatCalcAsync(_context, sid, ap); tr.Commit(); } catch (Exception ex) { tr.Rollback(); result.Error = ex.InmostMessage(); } return(result); }
public async Task <Int32Result> AjanlatKeszites([FromQuery] string sid, [FromBody] AjanlatParam ap) { var result = new Int32Result(); using (var tr = await _context.Database.BeginTransactionAsync()) try { // TODO: ez csak hack... var fi = new List <SzMT> { new SzMT { Szempont = Szempont.Ervenyes, Minta = ap.Ervenyes }, new SzMT { Szempont = Szempont.Tajolas, Minta = ap.Tajolas }, new SzMT { Szempont = Szempont.Termeles, Minta = ap.Termeles }, new SzMT { Szempont = Szempont.Megjegyzes, Minta = ap.Megjegyzes }, new SzMT { Szempont = Szempont.SzuksegesAramerosseg, Minta = ap.SzuksegesAramerosseg }, }; result.Result = await AjanlatBll.AjanlatKesztitesAsync(_context, sid, ap.ProjektKod, ap.AjanlatBuf, fi); tr.Commit(); } catch (Exception ex) { tr.Rollback(); result.Error = ex.InmostMessage(); } return(result); }
public static async Task <AjanlatParam> AjanlatCalcAsync(ossContext context, string sid, AjanlatParam ap) { SessionBll.Check(context, sid); await CsoportDal.JogeAsync(context, JogKod.AJANLATKESZITES); foreach (var buf in ap.AjanlatBuf) { buf.Mennyiseg = Calc.RealRound(buf.Mennyiseg, 1m); buf.EgysegAr = Calc.RealRound(buf.EgysegAr, 1m); buf.Netto = Calc.RealRound(buf.Mennyiseg * buf.EgysegAr, 1m); buf.Afa = Calc.RealRound(buf.Netto * buf.AfaMerteke / 100m, 1m); buf.Brutto = Calc.RealRound(buf.Netto + buf.Afa, 1m); buf.OsszTeljesitmeny = Calc.RealRound(buf.Mennyiseg * buf.EgysegnyiTeljesitmeny, 1m); } ap.Netto = ap.AjanlatBuf.Sum(s => s.Netto); ap.Afa = ap.AjanlatBuf.Sum(s => s.Afa); ap.Brutto = ap.Netto + ap.Afa; return(ap); }