Пример #1
0
        private bool EditStoreData(BewegungsArt bewegungsart, lagerliste_addremove lar)
        {
            //int result = 0;
            //int ba = (bewegungsart == BewegungsArt.Zugang ? 1 : -1);


            //int menge = (int)lar.anzahl * ba;

            //if (lar.type == "Verkauf")
            //{
            //    //result += addValue(menge, txtAnzahlKauf);
            //    //result += addValue(menge, txtAnzahlLager);
            //    return AddStockItemEntry(menge, txtAnzahlLager, txtAnzahlKauf);
            //}
            //else if (lar.type == "Kommissionsware")
            //{
            //    //result += addValue(menge, txtAnzahlLager);
            //    //result += addValue(menge, txtAnzahlKomm);
            //    return AddStockItemEntry(menge, txtAnzahlLager, txtAnzahlKomm);
            //}

            //if (result > 0)
            //{
            //    return false;
            //}

            return(true);
        }
Пример #2
0
        public bool Lagerbuchung(int Quelllager, int Ziellager, int WirkungQuelllager, int WirkungZiellager, int Bewegungsmenge, int id_Artikel,
                                 string BewegungsArt, int id_Projekt, int id_BelegPosition, int id_Firma)
        {
            try
            {
                bool resQ = false;
                bool resZ = false;

                var lb = new lagerliste_addremove();

                lb.isConfirmed           = 0;
                lb.created               = DateTime.Now;
                lb.id_Quelllager         = Quelllager;
                lb.id_Ziellager          = Ziellager;
                lb.id_lagerliste         = id_Artikel;
                lb.anzahl                = Bewegungsmenge;
                lb.addtype               = BewegungsArt;
                lb.id_projekt            = id_Projekt;
                lb.id_BelegPosition      = id_BelegPosition;
                lb.id_Firma              = id_Firma;
                lb.Quelllager_BestandAlt = GetBestandLagerort(id_Artikel, Quelllager);
                lb.Ziellager_BestandAlt  = GetBestandLagerort(id_Artikel, Ziellager);
                db.AddTolagerliste_addremove(lb);
                // db.SaveChanges();
                if (WirkungQuelllager != 0)
                {
                    resQ = Lagerbuchung(Quelllager, id_Artikel, Bewegungsmenge * WirkungQuelllager);
                }
                else
                {
                    resQ = true;
                }

                resZ = Lagerbuchung(Ziellager, id_Artikel, Bewegungsmenge * WirkungZiellager);

                if (resQ == true && resZ == true)
                {
                    lb.isConfirmed = -1;
                    // db.SaveChanges();
                }

                lb.Quelllager_BestandNeu = GetBestandLagerort(id_Artikel, Quelllager);
                lb.Ziellager_BestandNeu  = GetBestandLagerort(id_Artikel, Ziellager);

                // db.SaveChanges();
                return(true);
            }

            catch (Exception ex)
            {
                CommonTools.Tools.ErrorMethods.HandleStandardError(ex, "Lagerbuchung  fehlgeschlagen.");

                return(false);
            }
        }
Пример #3
0
        public LagerbuchungResult Lagerbuchung(SI_Belege Beleg)
        {
            bool posError = false;
            var  bw       = (StammBewegungsarten)Beleg.StammBelegarten.StammBewegungsarten;

            if (bw.Lagerbuchung == 0)
            {
                return(LagerbuchungResult.BelegartNichtBuchbar);
            }



            foreach (var item in Beleg.SI_BelegePositionen)
            {
                try
                {
                    if ((int)item.Handelsware != 1)
                    {
                        bool resQ     = false;
                        bool resZ     = false;
                        var  belegart = db.StammBelegarten.Where(n => n.id == Beleg.Belegart).SingleOrDefault();
                        var  lb       = new lagerliste_addremove();

                        lb.id_user = Session.User.id;

                        lb.isConfirmed   = 0;
                        lb.created       = DateTime.Now;
                        lb.id_Quelllager = Beleg.id_Quelllager;
                        lb.id_Ziellager  = Beleg.id_Ziellager;
                        lb.id_lagerliste = item.id_Artikel;
                        // lb.bemerkung = item.SI_Belege.Bemerkung;
                        lb.anzahl                = (int)item.Menge;
                        lb.addtype               = bw.id;
                        lb.id_projekt            = Beleg.id_Projekt ?? 0;
                        lb.id_BelegPosition      = item.id;
                        lb.id_Firma              = Beleg.id_Firma;
                        lb.Quelllager_BestandAlt = GetBestandLagerort((int)item.id_Artikel, (int)Beleg.id_Quelllager);
                        lb.Ziellager_BestandAlt  = GetBestandLagerort((int)item.id_Artikel, (int)Beleg.id_Ziellager);
                        db.AddTolagerliste_addremove(lb);
                        if (bw.WirkungQuelllager != 0)
                        {
                            resQ = Lagerbuchung((int)Beleg.id_Quelllager, (int)item.id_Artikel, (int)item.Menge * (int)bw.WirkungQuelllager);
                        }
                        else
                        {
                            resQ = true;
                        }
                        // Änderung Wirkung Belegart
                        resZ = Lagerbuchung((int)Beleg.id_Ziellager, (int)item.id_Artikel, (int)item.Menge * (int)bw.WirkungZiellager);

                        if (resQ == true && resZ == true)
                        {
                            lb.isConfirmed  = -1;
                            item.istGebucht = 1;
                            // db.SaveChanges();
                        }

                        lb.Quelllager_BestandNeu = GetBestandLagerort((int)item.id_Artikel, (int)Beleg.id_Quelllager);
                        lb.Ziellager_BestandNeu  = GetBestandLagerort((int)item.id_Artikel, (int)Beleg.id_Ziellager);

                        // db.SaveChanges();
                    }
                }


                catch (Exception ex)
                {
                    CommonTools.Tools.ErrorMethods.HandleStandardError(ex, "Lagerbuchung  fehlgeschlagen.");
                    posError = true;
                }
            }
            if (posError)
            {
                return(LagerbuchungResult.PositionsbuchungFehlgeschlagen);
            }
            else
            {
                return(LagerbuchungResult.BuchungOK);
            }
        }