Ejemplo n.º 1
0
        public string BestellAbsenden(int Oid)
        {
            List <BestellungSummen> bestellungSummenList = BestellSummen(Oid);
            //var xpCBestellungSummen = unitOfWork.GetObjects(unitOfWork.GetClassInfo(typeof(BestellungSummen)), CriteriaOperator.Parse("Lieferbar==false"), null, 100, false, false);

            var xpCBestellungSummen = bestellungSummenList;
            //bestellungSummenList = unitOfWork.GetObjects(unitOfWork.GetClassInfo(typeof(BestellungSummen)), CriteriaOperator.Parse("Lieferbar==false"), null, 100, false, false);
            string response = "";

            if (bestellungSummenList.Count != 0)
            {
                var newbestellungSummenList = bestellungSummenList.Where(i => i.Lieferbar == false);

                decimal count = newbestellungSummenList.Count();
                if (count == 0)
                {
                    MassBestellung   _massbestellung;
                    BestellAuftraege _bestellauftrag;

                    SQLConnection _sqlconnection = unitOfWork.FindObject <SQLConnection>(CriteriaOperator.Parse("Oid==?", 1));
                    if (_sqlconnection.Mitarbeiter != 0)
                    {
                        var bestellung = unitOfWork.FindObject <Bestellung>(CriteriaOperator.Parse("Oid==? AND Fertig == true AND Status == false", Oid));
                        if (bestellung != null)
                        {
                            var bestellArtikels = unitOfWork.GetObjects(unitOfWork.GetClassInfo(typeof(BestellArtikel)), CriteriaOperator.Parse("Bestellung ==? AND Bestellung.Status == false", bestellung.Oid), null, 100, false, false);
                            foreach (BestellArtikel bestellArtikel in bestellArtikels)
                            {
                                _massbestellung             = new MassBestellung(unitOfWork);
                                _massbestellung.mboid       = bestellArtikel.mboid;
                                _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();
                                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(response = "Bestellungen erfolgreich abgesendet");
                        }
                        else
                        {
                            return(response = "No Bistell to send");
                        }
                        response = "No Bistell to send";
                    }
                    else
                    {
                        return(response = "Bitte tragen Sie unter 'Einstellungen' einen Mitarbeiter ein");
                    }
                    var bestellungen = unitOfWork.GetObjects(unitOfWork.GetClassInfo(typeof(Bestellung)), CriteriaOperator.Parse("Fertig == true AND Status == false"), null, 10, false, false);

                    return(response = "Bestellungen erfolgreich abgesendet");
                }
                else
                {
                    return(response = "Nicht alle Artikel sind lieferbar! Bitte ändern Sie die Stückzahlen");
                }
            }
            else
            {
                return(response = "Es wurde keine Bestellung versendet");
            }
        }
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");
            }
        }
        public IHttpActionResult Get(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);
            var bestellArtikels = new XPCollection <BestellArtikel>(unitOfWork, CriteriaOperator.Parse("Bestellung==?", bestellung));

            foreach (BestellArtikel bestellArtikel in bestellArtikels)
            {
                Artikelstamm _artikelstamm = unitOfWork.FindObject <Artikelstamm>(CriteriaOperator.Parse("Oid==?", bestellArtikel.Artikel.Oid));
                //ArtikelLieferbar artikelLieferbar = unitOfWork.FindObject<ArtikelLieferbar>(CriteriaOperator.Parse("Artikel.Oid==?", _artikelstamm.Oid));
                //_artikelstamm.Stueckzahl = artikelLieferbar.StueckzahlLieferbar;

                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);
                MassBestellung   _massbestellung;
                BestellAuftraege _bestellauftrag;
                SQLConnection    _sqlconnection = unitOfWork.FindObject <SQLConnection>(CriteriaOperator.Parse("Oid==?", 1));
                if (_sqlconnection.Mitarbeiter != 0)
                {
                    if (bestellung.Fertig == true && bestellung.Status == false)
                    {
                        int newQty = 0;
                        foreach (BestellArtikel bestellArtikel in bestellArtikels)
                        {
                            _massbestellung             = new MassBestellung(externalUow);
                            _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 = _sqlconnection.Mitarbeiter.ToString();
                            _massbestellung.Datum       = DateTime.Now.Date;
                            bestellArtikel.mboid        = _sqlconnection.Mitarbeiter + DateTime.Now.ToString("ddMMyyyy") + bestellArtikel.BestellKunden.Bestellung.Oid.ToString() + bestellArtikel.BestellKunden.KDNr;
                            _massbestellung.Save();
                            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;

                            //update available quantity
                            //newQty = bestellArtikel.Artikel.Bestand - Convert.ToInt32(bestellArtikel.Stueckzahl);
                            //bestellArtikel.Artikel.Bestand = newQty;
                            //bestellArtikel.Artikel.Save();
                            externalUow.CommitChanges();
                            unitOfWork.CommitChanges();
                        }
                        bestellung.Fertig = true;
                        unitOfWork.CommitChanges();
                        return(Json("Bestellungen erfolgreich abgesendet"));
                    }
                    else
                    {
                        return(Json("No Bistell to send"));
                    }
                }
                else
                {
                    return(Json("Bitte tragen Sie unter 'Einstellungen' einen Mitarbeiter ein"));
                }
            }
            else
            {
                return(Json("Es wurde keine Bestellung versendet"));
            }
        }