При переопределение метода ParseXML в db добавляется только последние значение. Цикл foreach не работает

Переопределение метода
public class SaveAlc : Parse
{
    public override void ParserXML(XNamespace x, XDocument z, string y, string a)
    {
        using (ApplicationContext db = new ApplicationContext())
        {
            if (xdoc == null)
            {
                return;
            }
            else
            {
                base.ParserXML(x, z, y, a);
                AlcDB alcDB = new AlcDB
                {
                    Quantity = (string)quantity,
                    InformF1RegId = (string)informF1RegId,
                    InformF2RegId = (string)informF2RegId,
                    FullName = (string)fullName,
                    AlcCode = (string)alcCode,
                    Capacity = (string)capacity,
                    AlcVolume = (string)alcVolume,
                    ProductVCode = (string)productVCode,
                    ShortName = (string)shortName,
                };
                db.AlcDB.Add(alcDB);
                db.SaveChanges();
            }
        }
    }
}

Сам метод ParseXML

        public virtual void ParserXML(XNamespace x, XDocument z, string y, string a)
    {
        foreach (XElement element in z.Elements(nNs + "Documents").Elements(nNs + "Document").Elements(nNs + y)
        .Elements(x + "Products").Elements(x + a))
        {
            quantity = element.Element(x + "Quantity");
            informF1RegId = element.Element(x + "InformF1RegId");
            informF2RegId = element.Element(x + "InformF2RegId");
            fullName = element.Element(x + "Product").Element(nPref + "FullName");
            alcCode = element.Element(x + "Product").Element(nPref + "AlcCode");
            capacity = element.Element(x + "Product").Element(nPref + "Capacity");
            alcVolume = element.Element(x + "Product").Element(nPref + "AlcVolume");
            productVCode = element.Element(x + "Product").Element(nPref + "ProductVCode");
            shortName = element
                .Element(x + "Product").Element(nPref + "Producer").Element(nOref + "UL")?.Element(nOref + "ShortName");
        }

Вызов метода

SaveAlc parse = new SaveAlc();
                parse.ParserXML(nRst, xdoc, "ReplyRests_v2", "StockPosition");

Ответы (0 шт):