public void TestCreateNewVorgangFromFirma() { using (var db = new SteinbachEntities()) { var Fa = db.firmen.Where(X => X.id == 14).SingleOrDefault(); Vorgaenge vg = new Vorgaenge(db); SI_Vorgaenge vorgang1 = vg.CreateNewVorgang(Fa); SI_Vorgaenge vorgang2 = vg.CreateNewVorgang(Fa.id); Assert.AreEqual(vorgang1.firma, vorgang2.firma); Assert.AreEqual(vorgang1.firma.id, 14); } }
public bool AddToVorgang(SI_Vorgaenge Vorgang, SI_Belege NewBeleg) { if (Vorgang != null && NewBeleg != null) { if (Vorgang.firma == NewBeleg.firma) { NewBeleg.SI_Vorgaenge = Vorgang; ProcessBelegPositionen(Vorgang, NewBeleg); return(true); } return(false); } return(false); }
public SI_Vorgaenge CreateNewVorgang(firma Firma) { if (Firma == null) { throw new ArgumentNullException("Firma kann nicht null sein"); } if (Firma != null) { SI_Vorgaenge vorgang = new SI_Vorgaenge(); db.AddToSI_Vorgaenge(vorgang); vorgang.Datum = DateTime.Now; vorgang.firma = Firma; return(vorgang); } return(null); }
//public Vorgaenge() //{ //} private bool ProcessBelegPositionen(SI_Vorgaenge vorgang, SI_Belege beleg) { if (vorgang == null) { throw new ArgumentNullException("Vorgang", VorgangKannNichtNullSeinMessage); } if (beleg == null) { throw new ArgumentNullException("Beleg", BelegKannNichtNullSeinMessage); } if (vorgang != null && beleg != null && beleg.SI_BelegePositionen != null) { foreach (var item in beleg.SI_BelegePositionen) { var vPos = vorgang.SI_VorgaengePositionen.Where(n => n.id_Artikel == item.id_Artikel).SingleOrDefault(); if (vPos == null) { vPos = new SI_VorgaengePositionen(); vPos.SI_Vorgaenge = vorgang; vPos.id_Artikel = item.id_Artikel; vorgang.SI_VorgaengePositionen.Add(vPos); db.AddToSI_VorgaengePositionen(vPos); } switch (beleg.StammBelegarten.CalculateColumn) { case "ab": if (vPos.MengeAB.HasValue) { vPos.MengeAB += ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } else { vPos.MengeAB = ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } break; case "re": if (vPos.MengeRg.HasValue) { vPos.MengeRg += ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } else { vPos.MengeRg = ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } break; case "gs": if (vPos.MengeGS.HasValue) { vPos.MengeGS += ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } else { vPos.MengeGS = ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } break; case "ls": if (vPos.MengeLS.HasValue) { vPos.MengeLS += ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } else { vPos.MengeLS = ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } break; case "rls": if (vPos.MengeLS.HasValue) { vPos.MengeRLS += ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } else { vPos.MengeRLS = ((decimal)item.Menge * beleg.StammBelegarten.Wirkung); } break; default: break; } } return(true); } return(false); }