예제 #1
0
        public static async Task <List <CikkMozgasTetelDto> > MozgasAsync(ossContext context, string sid, int cikkKod,
                                                                          BizonylatTipus bizonylatTipus)
        {
            SessionBll.Check(context, sid);
            await CsoportDal.JogeAsync(context, JogKod.CIKK);

            return(await CikkDal.MozgasAsync(context, cikkKod, bizonylatTipus));
        }
예제 #2
0
        public static async Task <BizonylatTipusLeiro> BizonylatLeiroAsync(ossContext context, string sid,
                                                                           BizonylatTipus bizonylatTipus)
        {
            SessionBll.Check(context, sid);
            await CsoportDal.JogeBizonylatAsync(context);

            return(Bl[bizonylatTipus.GetHashCode()]);
        }
예제 #3
0
        public static async Task <Tuple <List <BizonylatDto>, int> > SelectAsync(ossContext context, string sid, int rekordTol, int lapMeret,
                                                                                 BizonylatTipus bizonylatTipus, List <SzMT> szmt)
        {
            SessionBll.Check(context, sid);
            await CsoportDal.JogeBizonylatAsync(context);

            var qry          = BizonylatDal.GetQuery(context, bizonylatTipus, szmt);
            var osszesRekord = qry.Count();
            var entities     = qry.Skip(rekordTol).Take(lapMeret).ToList();
            var result       = ObjectUtils.Convert <Models.Bizonylat, BizonylatDto>(entities);

            foreach (var r in result)
            {
                CalcCim(r);
            }

            return(new Tuple <List <BizonylatDto>, int>(result, osszesRekord));
        }
예제 #4
0
        public async Task <BizonylatTipusLeiroResult> BizonylatLeiro([FromQuery] string sid,
                                                                     [FromBody] BizonylatTipus bizonylatTipus)
        {
            var result = new BizonylatTipusLeiroResult();

            using (var tr = await _context.Database.BeginTransactionAsync())
                try
                {
                    result.Result = await BizonylatBll.BizonylatLeiroAsync(_context, sid, bizonylatTipus);

                    tr.Commit();
                }
                catch (Exception ex)
                {
                    tr.Rollback();
                    result.Error = ex.InmostMessage();
                }

            return(result);
        }
예제 #5
0
        public async Task <BizonylatTetelResult> CreateNewTetel([FromQuery] string sid,
                                                                [FromBody] BizonylatTipus bizonylatTipus)
        {
            var result = new BizonylatTetelResult();

            using (var tr = await _context.Database.BeginTransactionAsync())
                try
                {
                    result.Result = new List <BizonylatTetelDto>
                    {
                        await BizonylatTetelBll.CreateNewAsync(_context, sid, bizonylatTipus)
                    };

                    tr.Commit();
                }
                catch (Exception ex)
                {
                    tr.Rollback();
                    result.Error = ex.InmostMessage();
                }

            return(result);
        }
예제 #6
0
        public static async Task <int> UjBizonylatMintaAlapjanAsync(ossContext context, string sid,
                                                                    int bizonylatKod, BizonylatTipus bizonylatTipus)
        {
            SessionBll.Check(context, sid);
            await CsoportDal.JogeAsync(context, JogKod.BIZONYLATMOD);

            var entity = await BizonylatDal.GetComplexAsync(context, bizonylatKod);

            var complexDto = new BizonylatComplexDto
            {
                Dto             = ObjectUtils.Convert <Models.Bizonylat, BizonylatDto>(entity),
                LstTetelDto     = new List <BizonylatTetelDto>(),
                LstAfaDto       = new List <BizonylatAfaDto>(),
                LstTermekdijDto = new List <BizonylatTermekdijDto>()
            };

            complexDto.Dto.Bizonylatkod             = 0;
            complexDto.Dto.Bizonylattipuskod        = bizonylatTipus.GetHashCode();
            complexDto.Dto.Bizonylatszam            = null;
            complexDto.Dto.Nyomtatottpeldanyokszama = 0;

            foreach (var le in entity.Bizonylattetel)
            {
                var l = ObjectUtils.Convert <Models.Bizonylattetel, BizonylatTetelDto>(le);
                l.Bizonylatkod = 0;

                complexDto.LstTetelDto.Add(l);
            }

            //Save: az Áfa tételek törlődnek és újraszámítódnak
            return(await SaveAsync(context, sid, complexDto));
        }
예제 #7
0
        public static async System.Threading.Tasks.Task <BizonylatTetelDto> CreateNewAsync(ossContext context, string sid,
                                                                                           BizonylatTipus bizonylatTipus)
        {
            SessionBll.Check(context, sid);
            await CsoportDal.JogeAsync(context, JogKod.BIZONYLATMOD);

            return(new BizonylatTetelDto
            {
                Mennyiseg = 0,
                Egysegar = 0,
                Netto = 0,
                Afa = 0,
                Brutto = 0,

                Tomegkg = 0,
                Ossztomegkg = 0,
                Termekdijegysegar = 0,
                Termekdij = 0,

                Termekdijas = bizonylatTipus == BizonylatTipus.Szamla ||
                              bizonylatTipus == BizonylatTipus.ElolegSzamla ||
                              bizonylatTipus == BizonylatTipus.Szallito,
                Kozvetitettszolgaltatas = false,
                Ezeloleg = false
            });
        }
예제 #8
0
        public static async Task <List <CikkMozgasTetelDto> > MozgasAsync(ossContext context, int cikkKod, BizonylatTipus bizonylatTipus)
        {
            var qry = context.Bizonylattetel.AsNoTracking().Include(r => r.BizonylatkodNavigation)
                      .Where(s => s.Cikkkod == cikkKod && s.BizonylatkodNavigation.Bizonylattipuskod == (int)bizonylatTipus)
                      .OrderByDescending(s => s.BizonylatkodNavigation.Teljesiteskelte)
                      .ThenByDescending(s => s.Bizonylattetelkod);

            return(await qry.Select(s => new CikkMozgasTetelDto
            {
                Bizonylatszam = s.BizonylatkodNavigation.Bizonylatszam,
                Ugyfelnev = s.BizonylatkodNavigation.Ugyfelnev,
                Teljesiteskelte = s.BizonylatkodNavigation.Teljesiteskelte,
                Mennyiseg = s.Mennyiseg,
                Me = s.Me,
                Egysegar = s.Egysegar,
                Penznem = s.BizonylatkodNavigation.Penznem,
                Netto = s.Netto,
                Nettoft = s.Netto *s.BizonylatkodNavigation.Arfolyam
            }).ToListAsync());
        }
예제 #9
0
        public static IOrderedQueryable <Models.Bizonylat> GetQuery(ossContext context,
                                                                    BizonylatTipus bizonylatTipus, List <SzMT> szmt)
        {
            var bizonylattipusKod = bizonylatTipus.GetHashCode();
            var qry = context.Bizonylat.AsNoTracking()
                      .Where(s => s.Particiokod == context.CurrentSession.Particiokod)
                      .Where(s => s.Bizonylattipuskod == bizonylattipusKod);

            foreach (var f in szmt)
            {
                switch (f.Szempont)
                {
                case Szempont.Kod:
                    qry = int.TryParse((string)f.Minta, out var bizonylatKod)
                          ? qry.Where(s => s.Bizonylatkod <= bizonylatKod)
                          : qry.Where(s => s.Bizonylatkod >= 0);
                    break;

                case Szempont.Bizonylatszam:
                    qry = qry.Where(s => s.Bizonylatszam.Contains((string)f.Minta));
                    break;

                case Szempont.Ugyfel:
                    qry = qry.Where(s => s.Ugyfelnev.Contains((string)f.Minta));
                    break;

                case Szempont.Minta:
                    //qry = qry.Where(s => s.MINTA.Contains((string)F.Minta));
                    break;

                case Szempont.NincsKiszallitva:
                    qry = qry.Where(s => s.Kiszallitva == false);
                    break;

                default:
                    throw new Exception($"Lekezeletlen {f.Szempont} Szempont!");
                }
            }

            var elsoSorrend = true;

            foreach (var f in szmt)
            {
                switch (f.Szempont)
                {
                case Szempont.Kod:
                    qry = elsoSorrend
                          ? qry.OrderByDescending(s => s.Bizonylatkod)
                          : ((IOrderedQueryable <Models.Bizonylat>)qry).ThenByDescending(s => s.Bizonylatkod);
                    elsoSorrend = false;
                    break;

                case Szempont.Bizonylatszam:
                    qry = elsoSorrend
                          ? qry.OrderByDescending(s => s.Bizonylatszam)
                          : ((IOrderedQueryable <Models.Bizonylat>)qry).ThenByDescending(s => s.Bizonylatszam);
                    elsoSorrend = false;
                    break;

                case Szempont.Ugyfel:
                    qry = elsoSorrend
                          ? qry.OrderBy(s => s.Ugyfelnev)
                          : ((IOrderedQueryable <Models.Bizonylat>)qry).ThenBy(s => s.Ugyfelnev);
                    elsoSorrend = false;
                    qry         = ((IOrderedQueryable <Models.Bizonylat>)qry).ThenByDescending(s => s.Bizonylatkod);
                    break;

                case Szempont.Minta:
                    //qry = elsoSorrend ? qry.OrderBy(s => s.MINTA) : ((IOrderedQueryable<BIZONYLAT>)qry).ThenBy(s => s.MINTA);
                    //elsoSorrend = false;
                    break;

                case Szempont.NincsKiszallitva:
                    break;

                default:
                    throw new Exception($"Lekezeletlen {f.Szempont} Szempont!");
                }
            }

            return((IOrderedQueryable <Models.Bizonylat>)qry);
        }