Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }