diff --git a/Gremlin/GremlinData/SeedFiles/M8414AA.Quo b/Gremlin/GremlinData/SeedFiles/M8414AA.Quo new file mode 100644 index 0000000..49d3839 Binary files /dev/null and b/Gremlin/GremlinData/SeedFiles/M8414AA.Quo differ diff --git a/Gremlin/MVVM/Models/ContactModel.cs b/Gremlin/MVVM/Models/ContactModel.cs index 6993f1a..d522d5c 100644 --- a/Gremlin/MVVM/Models/ContactModel.cs +++ b/Gremlin/MVVM/Models/ContactModel.cs @@ -8,23 +8,27 @@ namespace Gremlin.MVVM.Models { public static ContactViewModel ConvertContactToContactVM(Contact contact) { - ContactViewModel contactVM = new(); - - contactVM.ContactID = contact.ContactId; - contactVM.Gender = (Enums.Gender)contact.Gender; - contactVM.LastName = contact.LastName; - contactVM.FirstName = contact.FirstName; - contactVM.EMail = contact.EMail; - if (contact.Account != null) { - contactVM.AccountName = contact.Account.AccountName; - contactVM.AccountStreet = contact.Account.Street; - contactVM.AccountZIP = contact.Account.ZIP; - contactVM.AccountCity = contact.Account.City; + ContactViewModel contactVM = new() + { + ContactID = contact.ContactId, + Gender = (Enums.Gender)contact.Gender, + LastName = contact.LastName, + FirstName = contact.FirstName, + EMail = contact.EMail, + AccountName = contact.Account.AccountName, + AccountStreet = contact.Account.Street, + AccountZIP = contact.Account.ZIP, + AccountCity = contact.Account.City + }; + return contactVM; + } + else + { + ErrorHandler.ShowErrorMessage($"Kontakt {contact.LastName} hat keinen Account!"); + return null; } - - return contactVM; } public static ContactViewModel ConvertObjectToContactVM(object selectedItem) diff --git a/Gremlin/MVVM/Models/CustomDescriptionModel.cs b/Gremlin/MVVM/Models/CustomDescriptionModel.cs index cb4f68a..a6b726e 100644 --- a/Gremlin/MVVM/Models/CustomDescriptionModel.cs +++ b/Gremlin/MVVM/Models/CustomDescriptionModel.cs @@ -26,24 +26,28 @@ namespace Gremlin.Models using (GremlinContext gremlinContext = new()) { - customDescription.AccountId = 1; - customDescription.ProductNumber = lineItemVM.ProductNumber; - customDescription.OptionNumber = lineItemVM.OptionNumber; - customDescription.DescriptionText = customDescriptionVM.DescriptionText; - customDescription.Heading = customDescriptionVM.Heading; - customDescription.DataCreationDate = DateTime.Now; - customDescription.DataModificationDate = DateTime.Now; - customDescription.DataValidFrom = DateTime.Now; - customDescription.DataValidUntil = DateTime.MaxValue; - customDescription.DataVersionNumber = 1; - customDescription.DataModificationByUser = "Gremlin"; - customDescription.DataStatus = "Active"; - customDescription.Notes = "Description has to be edited manually!"; - - CheckNewCustomDescription checkNewCustomDescription = new(lineItemVM, customDescriptionVM); - if (checkNewCustomDescription.ShowDialog() == true) + AccountId = 1, + ProductNumber = lineItemVM.ProductNumber, + OptionNumber = lineItemVM.OptionNumber, + DescriptionText = customDescriptionVM.DescriptionText, + Heading = customDescriptionVM.Heading, + DataCreationDate = DateTime.Now, + DataModificationDate = DateTime.Now, + DataValidFrom = DateTime.Now, + DataValidUntil = DateTime.MaxValue, + DataVersionNumber = 1, + DataModificationByUser = "Gremlin", + DataStatus = "Active", + Notes = "Description has to be edited manually!" + }; + + CheckNewCustomDescription checkNewCustomDescription = new(lineItemVM, customDescriptionVM); + if (checkNewCustomDescription.ShowDialog() == true) + { + customDescription.Heading = checkNewCustomDescription.CustomDescriptionVM.Heading; + + using (GremlinContext gremlinContext = new()) { - customDescription.Heading = checkNewCustomDescription.CustomDescriptionVM.Heading; gremlinContext.Add(customDescription); gremlinContext.SaveChanges(); return true; diff --git a/Gremlin/MVVM/Models/LineItemModel.cs b/Gremlin/MVVM/Models/LineItemModel.cs index 89aeb3c..4799925 100644 --- a/Gremlin/MVVM/Models/LineItemModel.cs +++ b/Gremlin/MVVM/Models/LineItemModel.cs @@ -24,17 +24,18 @@ namespace Gremlin.MVVM.Models public static LineItem ConvertToLineItem(LineItemViewModel lineItemViewModel) { - LineItem lineItem = new(); - - lineItem.ProductNumber = lineItemViewModel.ProductNumber; - lineItem.OptionNumber = lineItemViewModel.OptionNumber; - lineItem.ProductLine = lineItemViewModel.ProductLine; - lineItem.ListPrice = lineItemViewModel.ListPrice; - lineItem.SapShortDescription = lineItemViewModel.SapShortDescription; - lineItem.TotalDiscount = lineItemViewModel.TotalDiscount; - lineItem.Total = lineItemViewModel.CalcTotalNet; - lineItem.DataModificationByUser = "Gremlin"; - lineItem.DataStatus = "Active"; + LineItem lineItem = new() + { + ProductNumber = lineItemViewModel.ProductNumber, + OptionNumber = lineItemViewModel.OptionNumber, + ProductLine = lineItemViewModel.ProductLine, + ListPrice = lineItemViewModel.ListPrice, + SapShortDescription = lineItemViewModel.SapShortDescription, + TotalDiscount = lineItemViewModel.TotalDiscount, + Total = lineItemViewModel.CalcTotalNet, + DataModificationByUser = "Gremlin", + DataStatus = "Active" + }; return lineItem; } @@ -87,15 +88,17 @@ namespace Gremlin.MVVM.Models } //Dateiinhalt in Klasse schreiben - LineItemViewModel lineItem = new(); - lineItem.Position = ushort.Parse(lineItemString[0]); - lineItem.ProductNumber = lineItemString[1]; - lineItem.OptionNumber = lineItemString[2]; - lineItem.ProductLine = lineItemString[3]; - lineItem.SapShortDescription = lineItemString[4]; - lineItem.Amount = ushort.Parse(lineItemString[5]); - lineItem.ListPrice = decimal.Parse(lineItemString[6]); - lineItem.TotalDiscount = decimal.Parse(lineItemString[9]); + LineItemViewModel lineItem = new() + { + Position = ushort.Parse(lineItemString[0]), + ProductNumber = lineItemString[1], + OptionNumber = lineItemString[2], + ProductLine = lineItemString[3], + SapShortDescription = lineItemString[4], + Amount = ushort.Parse(lineItemString[5]), + ListPrice = decimal.Parse(lineItemString[6]), + TotalDiscount = decimal.Parse(lineItemString[9]) + }; //Preise einlesen //lineItem.NetPrice = decimal.Parse(lineItemString[10]); diff --git a/Gremlin/MVVM/Models/QuoteModel.cs b/Gremlin/MVVM/Models/QuoteModel.cs index 89fabf8..1e7c4ea 100644 --- a/Gremlin/MVVM/Models/QuoteModel.cs +++ b/Gremlin/MVVM/Models/QuoteModel.cs @@ -9,22 +9,23 @@ namespace Gremlin.MVVM.Models { public static bool WriteToDB(QuoteViewModel quoteVM) { - Quote quote = new(); - - quote.ContactId = quoteVM.Recipient.ContactID; - quote.QuotationNumber = quoteVM.QuoteNumber; - quote.QuotationDate = DateTime.Now; - quote.ValidUntil = DateTime.Now.AddDays(quoteVM.Validity); - quote.TotalListprice = quoteVM.TotalListprice; - //quote.TotalDiscount = - quote.TotalNet = quoteVM.TotalNet; - quote.VAT = Convert.ToSingle(quoteVM.VAT); - quote.TotalGross = quoteVM.TotalGross; - quote.QuoteContains3PP = quoteVM.QuoteContains3PP; - quote.QuoteContainsRB = quoteVM.QuoteContainsRB; - quote.DataModificationByUser = "Gremlin"; - quote.LineItems = LineItemModel.ConvertToLineItems(quoteVM.LineItemsVM); - quote.DataStatus = "Active"; + Quote quote = new() + { + ContactId = quoteVM.Recipient.ContactID, + QuotationNumber = quoteVM.QuoteNumber, + QuotationDate = DateTime.Now, + ValidUntil = DateTime.Now.AddDays(quoteVM.Validity), + TotalListprice = quoteVM.TotalListprice, + //quote.TotalDiscount = + TotalNet = quoteVM.TotalNet, + VAT = Convert.ToSingle(quoteVM.VAT), + TotalGross = quoteVM.TotalGross, + QuoteContains3PP = quoteVM.QuoteContains3PP, + QuoteContainsRB = quoteVM.QuoteContainsRB, + DataModificationByUser = "Gremlin", + LineItems = LineItemModel.ConvertToLineItems(quoteVM.LineItemsVM), + DataStatus = "Active" + }; try {