예제 #1
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));
        }
예제 #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 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);
        }