예제 #1
0
 public IList<ZahlungseingangTyp> getZahlungseingaenge(RechnungsNrTyp rnr)
 {
     using (var session = RechnungKomp.getDB().OpenSession())
     using (var transaction = session.BeginTransaction())
     {
         return session.CreateCriteria(typeof(ZahlungseingangTyp)).Add(Restrictions.Like("zuRechnungsNr", rnr)).List<ZahlungseingangTyp>();
     }
 }
예제 #2
0
 public RechnungsTyp(RechnungsNrTyp rNr,AuftragTyp fuerAuftrag, DateTime datum, bool istBezahlt)
 {
     this.nr = rNr;
     this.RechnungsDatum = datum;
     this.IstBezahlt = istBezahlt;
     this.fuerAuftrag = fuerAuftrag;
     this.preis = fuerAuftrag.preis;
     this.zahlungseingaenge = new List<ZahlungseingangTyp>();
 }
예제 #3
0
 public RechnungsTyp getRechnung(RechnungsNrTyp nr)
 {
     using (var session = RechnungKomp.getDB().OpenSession())
     using (var transaction = session.BeginTransaction())
     {
         var ret = session.CreateCriteria(typeof(RechnungsTyp)).Add(Restrictions.Eq("nr", nr)).UniqueResult<RechnungsTyp>();
         return ret;
     }
 }
예제 #4
0
        public void setRechnungStatus(RechnungsNrTyp nr, RechnungStatus status)
        {
            RechnungsTyp rechnung = getRechnung(nr);

            using (var session = RechnungKomp.getDB().OpenSession())
            using (var transaction = session.BeginTransaction())
            {
                rechnung.setStatus(status);
                session.Update(rechnung);
                transaction.Commit();
            }
        }
예제 #5
0
        public RechnungsNrTyp erstelleRechnung(AuftragTyp auftrag)
        {
            using (var session = RechnungKomp.getDB().OpenSession())
            using (var transaction = session.BeginTransaction())
            {
                var maxID = session.CreateCriteria(typeof(RechnungsTyp)).SetProjection(Projections.Max("ID")).UniqueResult();
                var nr = new RechnungsNrTyp(maxID != null ? Convert.ToString(maxID) : "0");
                RechnungsTyp rechnung = new RechnungsTyp(nr, auftrag, DateTime.Now, false);
                rechnung.setStatus(RechnungStatus.OFFEN);

                session.SaveOrUpdate(rechnung);
                transaction.Commit();

                return nr;
            }
        }
예제 #6
0
        public bool zahlungseingangBuchen(double betrag, String nr)
        {
            RechnungsNrTyp rnr = new RechnungsNrTyp(nr);

            using (var session = RechnungKomp.getDB().OpenSession())
            using (var transaction = session.BeginTransaction())
            {

                var _tmp = new ZahlungseingangTyp(rnr, betrag);

                session.SaveOrUpdate(_tmp);
                transaction.Commit();

                return true;
            }
            //return false;
        }
예제 #7
0
파일: Rechnung.cs 프로젝트: jmenzel/AI-P
        public bool zahlungseingangBuchen(double betrag, String nr)
        {
            RechnungsNrTyp rnr = new RechnungsNrTyp(nr);

            double preis = getRechnung(rnr).preis;
            var alleZahlungen = getZahlungseingaenge(rnr);
            Double alleBetraege = alleZahlungen.Sum(x => x.betrag);

            if(preis <= alleBetraege + betrag)
                setRechnungStatus(rnr, RechnungStatus.BEGLICHEN);
            else if(alleBetraege + betrag > 0)
                setRechnungStatus(rnr, RechnungStatus.TEIL_BEGLICHEN);
            else
                setRechnungStatus(rnr, RechnungStatus.OFFEN);

            return rechnungRepo.zahlungseingangBuchen(betrag, nr);
        }
예제 #8
0
파일: Fassade.cs 프로젝트: jmenzel/AI-P
 public RechnungsTyp getRechnung(RechnungsNrTyp nr)
 {
     return hesCore.getRechnungComp().getRechnung(nr);
 }
예제 #9
0
 public ZahlungseingangTyp(RechnungsNrTyp nr, double betrag)
 {
     this.betrag = betrag;
     this.zuRechnungsNr = nr;
 }
예제 #10
0
파일: Rechnung.cs 프로젝트: jmenzel/AI-P
 public void setRechnungStatus(RechnungsNrTyp nr, RechnungStatus status)
 {
     rechnungRepo.setRechnungStatus(nr, status);
 }
예제 #11
0
파일: Rechnung.cs 프로젝트: jmenzel/AI-P
 public IList<ZahlungseingangTyp> getZahlungseingaenge(RechnungsNrTyp rnr)
 {
     return rechnungRepo.getZahlungseingaenge(rnr);
 }
예제 #12
0
파일: Rechnung.cs 프로젝트: jmenzel/AI-P
 public RechnungsTyp getRechnung(RechnungsNrTyp nr)
 {
     return rechnungRepo.getRechnung(nr);
 }