public void CopyKundenAndArtikels(MassOrder massOrder) { //var kundens = new XPCollection<Kundenstamm>(externalUow, CriteriaOperator.Parse("Oid==", massOrder.KundenIds)); foreach (var item in massOrder.KundenIds) { var kunden = externalUow.FindObject <Kundenstamm>(CriteriaOperator.Parse("Oid==?", item)); var check = unitOfWork.FindObject <Kundenstamm>(CriteriaOperator.Parse("KDNr==?", kunden.KDNr)); if (check == null) { Kundenstamm newKunden = new Kundenstamm(unitOfWork) { Oid = kunden.Oid, Anrede = kunden.Anrede, eMail = kunden.eMail, kdauftrgesperrt = kunden.kdauftrgesperrt, KDNr = kunden.KDNr, Name1 = kunden.Name1, Name2 = kunden.Name2, Name3 = kunden.Name3, Nation = kunden.Nation, Ort = kunden.Ort, PLZ = kunden.PLZ, Selektion = kunden.Selektion, Strasse = kunden.Strasse, Suchname = kunden.Suchname, Titel = kunden.Titel }; unitOfWork.CommitChanges(); } } foreach (var item in massOrder.ArtikelIds) { var artikel = externalUow.FindObject <Artikelstamm>(CriteriaOperator.Parse("Oid==?", item)); var check = unitOfWork.FindObject <Artikelstamm>(CriteriaOperator.Parse("ArtNrInt==?", artikel.ArtNrInt)); if (check == null) { Artikelstamm newArtikel = new Artikelstamm(unitOfWork) { Oid = artikel.Oid, Artikeltext1 = artikel.Artikeltext1, Artikeltext2 = artikel.Artikeltext2, Artikeltext3 = artikel.Artikeltext3, Bestand = artikel.Bestand, Bezeichnung = artikel.Bezeichnung, Stueckzahl = artikel.Stueckzahl, Verpackungseinheit = artikel.Verpackungseinheit, ArtNr = artikel.ArtNr, ArtNrInt = artikel.ArtNrInt }; unitOfWork.CommitChanges(); } } }
public ActionResult CreateNewBestellung(MassOrder massOrder) { //CopyKundenAndArtikels(massOrder); return(null); }
// POST: api/Orders /* {"Zusatzangabe":"notes for order", "KundenIds": [1,2,4], "ArtikelIds" : [1001,1002,2001] } */ public IHttpActionResult Post(MassOrder model) { ExternalDatabankHelper helper = new ExternalDatabankHelper(); helper.CopyKundenAndArtikels(model); //createnew order and get the order var order = new Bestellung(unitOfWork) { Datum = DateTime.Now, Fertig = false, Status = false, Zusatzangabe = model.Zusatzangabe }; try { unitOfWork.CommitChanges(); } catch (Exception e) { return(BadRequest(e.Message)); } List <BestellErfassung.DomainObjects.Artikel.Artikelstamm> artikelList = new List <BestellErfassung.DomainObjects.Artikel.Artikelstamm>(); foreach (var artikelId in model.Items) { var externalArtikel = externalUow.FindObject <BestellErfassung.DomainObjects.Artikel.Artikelstamm>(CriteriaOperator.Parse("Oid==?", artikelId.Oid)); var artikel = unitOfWork.FindObject <BestellErfassung.DomainObjects.Artikel.Artikelstamm>(CriteriaOperator.Parse("ArtNr==?", externalArtikel.ArtNr)); artikelList.Add(artikel); } List <Item> list = new List <Item>(); foreach (var item in model.Items) { list.Add(item); } List <BestellErfassung.DomainObjects.Bestellungen.BestellKunden> bestellKundenList = new List <BestellErfassung.DomainObjects.Bestellungen.BestellKunden>(); foreach (var kundenId in model.KundenIds) { var externalKunden = externalUow.FindObject <BestellErfassung.DomainObjects.Kunden.Kundenstamm>(CriteriaOperator.Parse("Oid==?", kundenId)); var kunden = unitOfWork.FindObject <BestellErfassung.DomainObjects.Kunden.Kundenstamm>(CriteriaOperator.Parse("KDNr==?", externalKunden.KDNr)); var bestellKunden = new BestellErfassung.DomainObjects.Bestellungen.BestellKunden(unitOfWork) { Kunde = kunden, KDNr = kunden.KDNr, Bestellung = order }; unitOfWork.CommitChanges(); bestellKundenList.Add(bestellKunden); } foreach (var bestellKunden in bestellKundenList) { var conn = unitOfWork.FindObject <BestellErfassung.DomainObjects.Tools.SQLConnection>(CriteriaOperator.Parse("Oid==?", 1)); string mboid = conn.Mitarbeiter + DateTime.Now.ToString("ddMMyyyy") + order.Oid + bestellKunden.KDNr; foreach (var artikel in artikelList) { int stuckzahl = list.Find(i => i.ArtNr == artikel.ArtNr).Quantity; bestellKunden.BestellKunden_BestellArtikel_XPColl.Add(new BestellErfassung.DomainObjects.Bestellungen.BestellArtikel(unitOfWork) { Artikel = artikel, ArtikelNr = artikel.ArtNr, Bestellung = order, Bezeichnung = artikel.Bezeichnung, Stueckzahl = stuckzahl }); } unitOfWork.CommitChanges(); } return(Ok(order.Oid)); }
// PUT: api/BistellKundens/5 public void Put(int id, MassOrder values) { var bestellung = unitOfWork.FindObject <BestellErfassung.DomainObjects.Bestellung>(CriteriaOperator.Parse("Oid==?", id)); }