public bool Lagerbuchung(int Quelllager, int Ziellager, int WirkungQuelllager, int WirkungZiellager, int Bewegungsmenge, int id_Artikel, string BewegungsArt, int id_Projekt, SI_BelegePositionen BelegPosition) { 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.SI_BelegePositionen = BelegPosition; 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); } }