public async Task <List <Dokument> > GetList(TypDokumentu typ, Guid przedsiebiorstwoId)
        {
            var sql = "select d.Id as DokumentId, d.Numer, d.MagazynId, d.Data, d.KontrahentId, " +
                      "d.TypDokumentu, PrzedsiebiorstwoId, " +
                      "pd.Id as PozycjaId, pd.ProduktId, pd.StawkaVat, " +
                      "pd.CenaNetto, pd.CenaBrutto, " +
                      "pd.Ilosc, pd.WartoscNetto, pd.WartoscBrutto, pd.WartoscVat from Dokument d " +
                      "inner join Magazyn M on d.MagazynId = M.Id " +
                      "inner join PozycjaDokumentu PD on d.Id = PD.DokumentId where PrzedsiebiorstwoId = @PrzedsiebiorstwoId AND TypDokumentu = @TypDokumentu";

            using (var conn = _dbConnectionSource.GetConnection())
            {
                var result = await conn.QueryAsync(sql, new { PrzedsiebiorstwoId = przedsiebiorstwoId, TypDokumentu = typ });

                return(result.GroupBy(x => x.DokumentId).Select(x => new Dokument
                {
                    Id = x.Key,
                    Data = x.First().Data,
                    MagazynId = x.First().MagazynId,
                    TypDokumentu = (TypDokumentu)x.First().TypDokumentu,
                    Numer = x.First().Numer,
                    KontrahentId = x.First().KontrahentId,
                    PozycjeDokumentu = x.Select(pd => new PozycjaDokumentu
                    {
                        Id = pd.PozycjaId,
                        ProduktId = pd.ProduktId,
                        CenaNetto = pd.CenaNetto,
                        CenaBrutto = pd.CenaBrutto,
                        Ilosc = pd.Ilosc,
                        WartoscNetto = pd.WartoscNetto,
                        WartoscVat = pd.WartoscVat,
                        WartoscBrutto = pd.WartoscBrutto,
                        StawkaVat = (StawkaVat)pd.StawkaVat
                    }).ToList()
                }).ToList());
            }
        }
Exemplo n.º 2
0
 public Task <List <Dokument> > GetList(TypDokumentu typ, Guid przedsiebiorstwoId)
 {
     return(Task.FromResult(_dokumenty.Where(x => x.TypDokumentu == typ).ToList()));
 }