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();
                }
            }
        }
示例#2
0
 public ActionResult CreateNewBestellung(MassOrder massOrder)
 {
     //CopyKundenAndArtikels(massOrder);
     return(null);
 }
示例#3
0
        // 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));
 }