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); }
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); } }
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); } }