// POST: api/Artikel public IHttpActionResult Post(Art item) { if (ModelState.IsValid) { var artikel = new Artikelstamm(unitOfWork) { ArtNrInt = item.ArtNr, ArtNr = item.ArtNr.ToString(), Bestand = item.Bestand, Bezeichnung = item.Bezeichnung, Artikeltext1 = item.Artikeltext1, Artikeltext2 = item.Artikeltext2, Artikeltext3 = item.Artikeltext3, Stueckzahl = item.Stueckzahl, Verpackungseinheit = item.Verpackungseinheit }; artikel.Save(); new ArtikelLieferbar(unitOfWork) { Artikel = artikel, StueckzahlLieferbar = item.StueckzahlLieferbar }; unitOfWork.CommitChanges(); item.Oid = artikel.Oid; return(Ok(item)); } else { return(BadRequest()); } }
public string Put(int Oid) { //create a list of BestellungSummen List <BestellungSummen> bestellungSummenList = new List <BestellungSummen>(); decimal summe = 0; //Bestellung var bestellung = unitOfWork.FindObject <Bestellung>(CriteriaOperator.Parse("Oid==?", Oid)); //list of all bestellArtikels var bestellArtikels = unitOfWork.GetObjects(unitOfWork.GetClassInfo(typeof(BestellArtikel)), CriteriaOperator.Parse("Bestellung==?", bestellung), null, 10, null, true); foreach (BestellArtikel bestellArtikel in bestellArtikels) { Artikelstamm _artikelstamm = externalUow.FindObject <Artikelstamm>(CriteriaOperator.Parse("Oid==?", bestellArtikel.Artikel)); ArtikelLieferbar artikelLieferbar = unitOfWork.FindObject <ArtikelLieferbar>(CriteriaOperator.Parse("Artikel.Oid==?", _artikelstamm.Oid)); _artikelstamm.Stueckzahl = artikelLieferbar.StueckzahlLieferbar; _artikelstamm.Save(); summe = Convert.ToDecimal(unitOfWork.Evaluate <BestellArtikel>(CriteriaOperator.Parse("sum(Stueckzahl)"), CriteriaOperator.Parse("Bestellung.Status == false AND Bestellung.Fertig == true AND Artikel == ?", _artikelstamm))); if (summe > 0) { BestellungSummen bestellungSummen = new BestellungSummen(unitOfWork) { StueckSumme = summe, Artikel = _artikelstamm }; decimal difference = bestellungSummen.Artikel.Bestand - bestellungSummen.StueckSumme; if (difference < 0) { bestellungSummen.Lieferbar = false; } else { bestellungSummen.Lieferbar = true; } bestellungSummenList.Add(bestellungSummen); } } //bestellungSummenList is ready if (bestellungSummenList.Count != 0) { var newbestellungSummenList = bestellungSummenList.Where(i => i.Lieferbar == false); if (newbestellungSummenList.Count() == 0) { MassBestellung _massbestellung; BestellAuftraege _bestellauftrag; SQLConnection _sqlconnection = unitOfWork.FindObject <SQLConnection>(CriteriaOperator.Parse("Oid==?", 1)); if (_sqlconnection.Mitarbeiter != 0) { if (bestellung.Fertig == true && bestellung.Status == false) { foreach (BestellArtikel bestellArtikel in bestellArtikels) { _massbestellung = new MassBestellung(unitOfWork); _massbestellung.mboid = _sqlconnection.Mitarbeiter + DateTime.Now.ToString("ddMMyyyy") + bestellArtikel.BestellKunden.Bestellung.Oid.ToString() + bestellArtikel.BestellKunden.KDNr; _massbestellung.ArtikelNr = bestellArtikel.ArtikelNr; _massbestellung.BestellNr = bestellArtikel.BestellKunden.Bestellung.Oid; _massbestellung.KDNr = bestellArtikel.BestellKunden.KDNr; _massbestellung.Stueck = bestellArtikel.Stueckzahl; _massbestellung.Mitarbeiter = null; _massbestellung.Datum = DateTime.Now.Date; bestellArtikel.mboid = _sqlconnection.Mitarbeiter + DateTime.Now.ToString("ddMMyyyy") + bestellArtikel.BestellKunden.Bestellung.Oid.ToString() + bestellArtikel.BestellKunden.KDNr; _massbestellung.Save(); //try //{ // externalUow.CommitChanges(); //} //catch (Exception e) //{ // throw; //} bestellArtikel.Save(); bestellArtikel.BestellKunden.Bestellung.Save(); bestellArtikel.Bestellung.Status = true; // Neue Bestellung für BestellAuftrag - Zuweisung _bestellauftrag = new BestellAuftraege(unitOfWork); _bestellauftrag.mboid = _massbestellung.mboid; _bestellauftrag.Bestellung = bestellArtikel.Bestellung; } bestellung.Fertig = true; bestellung.Save(); unitOfWork.CommitChanges(); //return Content("Bestellungen erfolgreich abgesendet"); return("Bestellungen erfolgreich abgesendet"); } else { //return Content("No Bistell to send"); return("No Bistell to send"); } } else { //return Content("Bitte tragen Sie unter 'Einstellungen' einen Mitarbeiter ein"); return("Bitte tragen Sie unter 'Einstellungen' einen Mitarbeiter ein"); } } else { //return Content("Nicht alle Artikel sind lieferbar! Bitte ändern Sie die Stückzahlen"); return("Nicht alle Artikel sind lieferbar! Bitte ändern Sie die Stückzahlen"); } } else { //return Content("Es wurde keine Bestellung versendet"); return("Es wurde keine Bestellung versendet"); } }