private void SaveNewItem(Match item, Types itemType, BaseTypes itemBaseType) { ItemDB newItem = new ItemDB(); newItem.Name = item.Groups["name"].Value; if (item.Groups["level"].Value != "") { newItem.Level = byte.Parse(item.Groups["level"].Value); } string baseType = itemBaseType.BaseTypeToString(); newItem.BaseType = _context.BaseTypes.SingleOrDefault(i => i.Name == baseType); string type = itemType.TypeToString(); newItem.Type = _context.Types.SingleOrDefault(i => i.Name == type); bool isItemInDb = _context.ItemsDB.Select(i => i.Name).Contains(newItem.Name); if (!isItemInDb) { try { _context.ItemsDB.Add(newItem); LogNewItem(newItem); } catch (Exception e) { LogError(e); } } }