Gremlin/Gremlin/MVVM/Models/CustomDescriptionModel.cs

59 lines
1.8 KiB
C#

using Gremlin.GremlinData.DBClasses;
using Gremlin.GremlinData.EntityClasses;
using Gremlin.MVVM.ViewModels;
using Gremlin.MVVM.Views;
using System;
using System.Collections.Generic;
namespace Gremlin.Models
{
public class CustomDescriptionModel
{
public static CustomDescription SearchForProducts(LineItem angebot, List<CustomDescription> customDescriptions)
{
List<CustomDescription> resultCustomDescriptions = customDescriptions.FindAll(customDescription => customDescription.ProductNumber == angebot.ProductNumber);
return resultCustomDescriptions.Find(customDescription => customDescription.OptionNumber == angebot.OptionNumber);
}
public static bool CreateNewCustomDescription(CustomDescriptionViewModel customDescriptionVM, LineItemViewModel lineItemVM)
{
if (lineItemVM.OptionNumber == null)
{
lineItemVM.OptionNumber = "(NULL)";
}
CustomDescription customDescription = new()
{
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())
{
gremlinContext.Add(customDescription);
gremlinContext.SaveChanges();
return true;
}
}
return false;
}
}
}