Ejemplo n.º 1
0
        // 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());
            }
        }
Ejemplo n.º 2
0
        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");
            }
        }