internal MasterTableOperation(MasterTableArticle articles
                                      , MasterTableResourceSkill resourceSkill
                                      , MasterTableResourceTool resourceTool)
        {
            DUMP_TRUCK_WEDDING = new M_Operation
            {
                ArticleId       = articles.DUMP_TRUCK.Id,
                Name            = "Dump-Truck: Wedding",
                Duration        = 15,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 10
            };

            GLUE_TRUCK_BED = new M_Operation
            {
                ArticleId       = articles.DUMP_TRUCK.Id,
                Name            = "Glue Truck-Bed",
                Duration        = 10,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 20
            };

            // assemble Truck
            RACE_TRUCK_WEDDING = new M_Operation
            {
                ArticleId       = articles.RACE_TRUCK.Id,
                Name            = "Race-Truck: Wedding",
                Duration        = 15,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 10
            };

            GLUE_RACE_WING = new M_Operation
            {
                ArticleId       = articles.RACE_TRUCK.Id,
                Name            = "Glue Race Wing",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 20
            };

            // assemble chassie Dump-Truck
            DUMP_TRUCK_ASSEMBLE_LAMPS = new M_Operation
            {
                ArticleId       = articles.CHASSIS_TYPE_DUMP.Id,
                Name            = "Dump-Truck: Assemble Lamps",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 10
            };

            DUMP_TRUCK_MOUNT_ENGINE = new M_Operation
            {
                ArticleId       = articles.CHASSIS_TYPE_DUMP.Id,
                Name            = "Dump-Truck: Mount Engine to Cabin",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 20
            };

            // assemble chassie Race Truck
            RACE_TRUCK_ASSEMBLE_LAMPS = new M_Operation
            {
                ArticleId       = articles.CHASSIS_TYPE_RACE.Id,
                Name            = "Race-Truck: Assemble Lamps",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 10
            };

            RACE_TRUCK_MOUNT_ENGINE_EXTENSION = new M_Operation
            {
                ArticleId       = articles.CHASSIS_TYPE_RACE.Id,
                Name            = "Mount Engine Extension",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 20
            };

            RACE_TRUCK_MOUNT_ENGINE = new M_Operation
            {
                ArticleId       = articles.CHASSIS_TYPE_RACE.Id,
                Name            = "Race-Truck: Mount Engine to Cabin",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 30
            };

            // assemble Skeleton
            MOUNT_AXIS = new M_Operation
            {
                ArticleId       = articles.SKELETON.Id,
                Name            = "mount poles with wheels to Skeleton",
                Duration        = 10,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 10
            };

            SCREW_WHEELS = new M_Operation
            {
                ArticleId       = articles.SKELETON.Id,
                Name            = "Screw wheels onto poles",
                Duration        = 10,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 20
            };

            GLUE_SEMITRAILER = new M_Operation
            {
                ArticleId       = articles.SKELETON.Id,
                Name            = "Glue Semitrailer",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 30
            };

            // assemble Truck Bed
            GLUE_SIDEWALLS = new M_Operation
            {
                ArticleId       = articles.TRUCK_BED.Id,
                Name            = "Glue side walls and base plate together",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 10
            };

            MOUNT_HATCHBACK = new M_Operation
            {
                ArticleId       = articles.TRUCK_BED.Id,
                Name            = "Mount hatchback",
                Duration        = 5,
                ResourceSkillId = resourceSkill.ASSEMBLING.Id,
                ResourceToolId  = resourceTool.ASSEMBLY_SCREWDRIVER.Id,
                HierarchyNumber = 20
            };

            // assemble Race Wing
            RACE_WING_CUT = new M_Operation
            {
                ArticleId       = articles.RACE_WING.Id,
                Name            = "Race Wing: Cut shape",
                Duration        = 10,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_BIG.Id,
                HierarchyNumber = 10
            };

            RACE_WING_DRILL = new M_Operation
            {
                ArticleId       = articles.RACE_WING.Id,
                Name            = "Race Wing: Drill Mount Holes",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M6.Id,
                HierarchyNumber = 20
            };
            // Engine Race Extension
            RACE_EXTENSION_CUT = new M_Operation
            {
                ArticleId       = articles.ENGINE_RACE_EXTENSION.Id,
                Name            = "Engine Race Extension: Cut shape",
                Duration        = 10,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_BIG.Id,
                HierarchyNumber = 10
            };

            RACE_EXTENSION_DRILL = new M_Operation
            {
                ArticleId       = articles.ENGINE_RACE_EXTENSION.Id,
                Name            = "Engine Race Extension: Drill Mount Holes",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M6.Id,
                HierarchyNumber = 20
            };

            // side Walls for Truck-bed
            SIDEWALL_LONG_CUT = new M_Operation
            {
                ArticleId       = articles.SIDEWALL_LONG.Id,
                Name            = "Side wall long: Cut long side",
                Duration        = 10,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_SMALL.Id,
                HierarchyNumber = 10
            };

            SIDEWALL_LONG_DRILL = new M_Operation
            {
                ArticleId       = articles.SIDEWALL_LONG.Id,
                Name            = "Side wall long: Drill mount holes",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M6.Id,
                HierarchyNumber = 20
            };

            SIDEWALL_SHORT_CUT = new M_Operation
            {
                ArticleId       = articles.SIDEWALL_SHORT.Id,
                Name            = "Side wall short: Cut short side",
                Duration        = 5,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_SMALL.Id,
                HierarchyNumber = 10
            };

            SIDEWALL_SHORT_DRILL = new M_Operation
            {
                ArticleId       = articles.SIDEWALL_SHORT.Id,
                Name            = "Side wall short: Drill mount holes",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M6.Id,
                HierarchyNumber = 20
            };

            BASEPLATE_TRUCK_BED_CUT = new M_Operation
            {
                ArticleId       = articles.BASEPLATE_TRUCK_BED.Id,
                Name            = "Base plate Truck-Bed: Cut Base plate Truck-Bed",
                Duration        = 10,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_BIG.Id,
                HierarchyNumber = 10
            };

            BASEPLATE_TRUCK_BED_DRILL = new M_Operation
            {
                ArticleId       = articles.BASEPLATE_TRUCK_BED.Id,
                Name            = "Base plate Truck-Bed: Drill mount holes",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M6.Id,
                HierarchyNumber = 20
            };
            // Eengin Block
            ENGINE_BLOCK_CUT = new M_Operation
            {
                ArticleId       = articles.ENGINE_BLOCK.Id,
                Name            = "Engine-Block: Cut Engine-Block",
                Duration        = 10,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_BIG.Id,
                HierarchyNumber = 10
            };

            ENGINE_BLOCK_DRILL = new M_Operation
            {
                ArticleId       = articles.ENGINE_BLOCK.Id,
                Name            = "Engine-Block: Drill mount holes",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M6.Id,
                HierarchyNumber = 20
            };
            // cabin
            CABIN_CUT = new M_Operation
            {
                ArticleId       = articles.CABIN.Id,
                Name            = "Cabin: Cut Cabin",
                Duration        = 10,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_SMALL.Id,
                HierarchyNumber = 10
            };

            CABIN_DRILL = new M_Operation
            {
                ArticleId       = articles.CABIN.Id,
                Name            = "Cabin: Drill mount holes",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M4.Id,
                HierarchyNumber = 20
            };
            // Base Plate
            BASE_PLATE_CUT = new M_Operation
            {
                ArticleId       = articles.BASE_PLATE.Id,
                Name            = "Base plate: Cut Base plate",
                Duration        = 10,
                ResourceSkillId = resourceSkill.CUTTING.Id,
                ResourceToolId  = resourceTool.SAW_BLADE_BIG.Id,
                HierarchyNumber = 10
            };

            BASE_PLATE_DRILL = new M_Operation
            {
                ArticleId       = articles.BASE_PLATE.Id,
                Name            = "Base plate: drill holes for axis mount",
                Duration        = 5,
                ResourceSkillId = resourceSkill.DRILLING.Id,
                ResourceToolId  = resourceTool.DRILL_HEAD_M4.Id,
                HierarchyNumber = 20
            };
        }
Exemplo n.º 2
0
        internal M_ArticleBom[] Init(MasterDBContext context, MasterTableArticle articles, MasterTableOperation operations)
        {
            SKELETON_TO_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.SKELETON.Id, Name = "Skeleton", Quantity = 1,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.DUMP_TRUCK_WEDDING.Id
            };

            CHASSIS_TYPE_DUMP_TO_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.CHASSIS_TYPE_DUMP.Id, Name = "Chassis Type: Dump", Quantity = 1,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.DUMP_TRUCK_WEDDING.Id
            };

            GLUE_TO_DUMP_TRUCK_FOR_WEDDING = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 5,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.DUMP_TRUCK_WEDDING.Id
            };

            POLE_TO_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.POLE.Id, Name = "Pole", Quantity = 1,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.GLUE_TRUCK_BED.Id
            };

            TRUCK_BED_TO_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.TRUCK_BED.Id, Name = "Truck-Bed", Quantity = 1,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.GLUE_TRUCK_BED.Id
            };

            GLUE_TO_TO_DUMP_TRUCK_FOR_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 5,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.GLUE_TRUCK_BED.Id
            };

            PEGS_TO_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.PEGS.Id, Name = "Pegs", Quantity = 2,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.GLUE_TRUCK_BED.Id
            };

            BUTTON_TO_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.BUTTON.Id, Name = "Knopf", Quantity = 2,
                ArticleParentId = articles.DUMP_TRUCK.Id, OperationId = operations.GLUE_TRUCK_BED.Id
            };
            // new M_ArticleBom { ArticleChildId = articles.Single(predicate: a => a.Name == "User Manual").Id, Name = "User Manual", Quantity=1, ArticleParentId = articles.DUMP_TRUCK.Id },
            // new M_ArticleBom { ArticleChildId = articles.Single(predicate: a => a.Name == "Packing").Id, Name = "Packing", Quantity=1, ArticleParentId = articles.DUMP_TRUCK.Id },

            // Bom For Race Truck
            SKELETON_TO_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.SKELETON.Id, Name = "Skeleton", Quantity = 1,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.RACE_TRUCK_WEDDING.Id
            };

            CHASSIS_TO_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.CHASSIS_TYPE_RACE.Id, Name = "Chassis Type: Race", Quantity = 1,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.RACE_TRUCK_WEDDING.Id
            };

            POLE_TO_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.POLE.Id, Name = "Pole", Quantity = 1,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.GLUE_RACE_WING.Id
            };

            RACE_WING_TO_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.RACE_WING.Id, Name = "Race Wing", Quantity = 1,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.GLUE_RACE_WING.Id
            };

            GLUE_TO_RACE_TRUCK_FOR_WEDDING = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 5,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.RACE_TRUCK_WEDDING.Id
            };

            GLUE_TO_RACE_TRUCK_FOR_WING = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 5,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.GLUE_RACE_WING.Id
            };

            PEGS_TO_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.PEGS.Id, Name = "Pegs", Quantity = 2,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.GLUE_RACE_WING.Id
            };

            BUTTON_TO_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.BUTTON.Id, Name = "Knopf", Quantity = 2,
                ArticleParentId = articles.RACE_TRUCK.Id, OperationId = operations.GLUE_RACE_WING.Id
            };
            // new M_ArticleBom { ArticleChildId = articles.Single(predicate: a => a.Name == "User Manual").Id, Name = "User Manual", Quantity=1, ArticleParentId = articles.RACE_TRUCK.Id },
            // new M_ArticleBom { ArticleChildId = articles.Single(predicate: a => a.Name == "Packing").Id, Name = "Packing", Quantity=1, ArticleParentId = articles.RACE_TRUCK.Id },

            // Bom for Skeleton
            BASE_PLATE_TO_SKELETON = new M_ArticleBom
            {
                ArticleChildId  = articles.BASE_PLATE.Id, Name = "Base plate", Quantity = 1,
                ArticleParentId = articles.SKELETON.Id, OperationId = operations.MOUNT_AXIS.Id
            };

            POLE_TO_SKELETON = new M_ArticleBom
            {
                ArticleChildId  = articles.POLE.Id, Name = "Pole", Quantity = 2,
                ArticleParentId = articles.SKELETON.Id, OperationId = operations.MOUNT_AXIS.Id
            };

            WASHER_TO_SKELETON = new M_ArticleBom
            {
                ArticleChildId  = articles.WASHER.Id, Name = "Washer", Quantity = 4,
                ArticleParentId = articles.SKELETON.Id, OperationId = operations.SCREW_WHEELS.Id
            };

            WHEEL_TO_SKELETON = new M_ArticleBom
            {
                ArticleChildId  = articles.WHEEL.Id, Name = "Wheel", Quantity = 4,
                ArticleParentId = articles.SKELETON.Id, OperationId = operations.SCREW_WHEELS.Id
            };

            SEMITRAILER_TO_SKELETON = new M_ArticleBom
            {
                ArticleChildId  = articles.SEMITRAILER.Id, Name = "Semitrailer", Quantity = 1,
                ArticleParentId = articles.SKELETON.Id, OperationId = operations.GLUE_SEMITRAILER.Id
            };

            GLUE_TO_SKELETON = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 5,
                ArticleParentId = articles.SKELETON.Id, OperationId = operations.GLUE_SEMITRAILER.Id
            };

            // Bom For Chassis Dump
            CABIN_TO_CHASSIS_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.CABIN.Id, Name = "Cabin", Quantity = 1,
                ArticleParentId = articles.CHASSIS_TYPE_DUMP.Id,
                OperationId     = operations.DUMP_TRUCK_ASSEMBLE_LAMPS.Id
            };

            PEGS_TO_CHASSIS_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.PEGS.Id, Name = "Pegs", Quantity = 4,
                ArticleParentId = articles.CHASSIS_TYPE_DUMP.Id,
                OperationId     = operations.DUMP_TRUCK_ASSEMBLE_LAMPS.Id
            };

            BUTTON_TO_CHASSIS_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.BUTTON.Id, Name = "Knopf", Quantity = 2,
                ArticleParentId = articles.CHASSIS_TYPE_DUMP.Id,
                OperationId     = operations.DUMP_TRUCK_ASSEMBLE_LAMPS.Id
            };

            ENGINE_BLOCK_TO_CHASSIS_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.ENGINE_BLOCK.Id, Name = "Engine-Block", Quantity = 1,
                ArticleParentId = articles.CHASSIS_TYPE_DUMP.Id,
                OperationId     = operations.DUMP_TRUCK_MOUNT_ENGINE.Id
            };

            GLUE_TO_CHASSIS_DUMP_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 7,
                ArticleParentId = articles.CHASSIS_TYPE_DUMP.Id,
                OperationId     = operations.DUMP_TRUCK_MOUNT_ENGINE.Id
            };

            // Bom For Chassis Race
            CABIN_TO_CHASSIS_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.CABIN.Id, Name = "Cabin", Quantity = 1,
                ArticleParentId = articles.CHASSIS_TYPE_RACE.Id,
                OperationId     = operations.RACE_TRUCK_ASSEMBLE_LAMPS.Id
            };

            PEGS_TO_CHASSIS_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.PEGS.Id, Name = "Pegs", Quantity = 4,
                ArticleParentId = articles.CHASSIS_TYPE_RACE.Id,
                OperationId     = operations.RACE_TRUCK_ASSEMBLE_LAMPS.Id
            };

            BUTTON_TO_CHASSIS_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.BUTTON.Id, Name = "Knopf", Quantity = 2,
                ArticleParentId = articles.CHASSIS_TYPE_RACE.Id,
                OperationId     = operations.RACE_TRUCK_ASSEMBLE_LAMPS.Id
            };

            ENGINE_BLOCK_TO_CHASSIS_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.ENGINE_BLOCK.Id, Name = "Engine-Block", Quantity = 1,
                ArticleParentId = articles.CHASSIS_TYPE_RACE.Id,
                OperationId     = operations.RACE_TRUCK_MOUNT_ENGINE_EXTENSION.Id
            };

            ENGINE_RACE_EXTENSION_TO_CHASSIS_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.ENGINE_RACE_EXTENSION.Id, Name = "Engine Race Extension", Quantity = 1,
                ArticleParentId = articles.CHASSIS_TYPE_RACE.Id,
                OperationId     = operations.RACE_TRUCK_MOUNT_ENGINE_EXTENSION.Id
            };

            GLUE_TO_CHASSIS_RACE_TRUCK = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 7,
                ArticleParentId = articles.CHASSIS_TYPE_RACE.Id,
                OperationId     = operations.RACE_TRUCK_MOUNT_ENGINE.Id
            };

            // Bom for Truck-Bed
            SIDEWALL_LONG_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.SIDEWALL_LONG.Id, Name = "Side wall long", Quantity = 2,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.GLUE_SIDEWALLS.Id
            };

            SIDEWALL_SHORT_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.SIDEWALL_SHORT.Id, Name = "Side wall short", Quantity = 2,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.GLUE_SIDEWALLS.Id
            };

            BASE_PLATE_TRUCK_BED_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.BASEPLATE_TRUCK_BED.Id, Name = "Base plate Truck-Bed", Quantity = 1,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.GLUE_SIDEWALLS.Id
            };

            DUMP_JOINT_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.DUMP_JOINT.Id, Name = "Dump Joint", Quantity = 1,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.MOUNT_HATCHBACK.Id
            };

            PEGS_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.PEGS.Id, Name = "Pegs", Quantity = 10,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.MOUNT_HATCHBACK.Id
            };

            BUTTON_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.BUTTON.Id, Name = "Knopf", Quantity = 2,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.MOUNT_HATCHBACK.Id
            };

            GLUE_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.GLUE.Id, Name = "Glue", Quantity = 7,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.MOUNT_HATCHBACK.Id
            };

            POLE_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.POLE.Id, Name = "Pole", Quantity = 1,
                ArticleParentId = articles.TRUCK_BED.Id, OperationId = operations.MOUNT_HATCHBACK.Id
            };

            // Bom for some Assemblies
            TIMBER_PLATE_TO_SIDEWALL_LONG = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_PLATE.Id, Name = "Timber Plate 1,5m x 3,0m", Quantity = 1,
                ArticleParentId = articles.SIDEWALL_LONG.Id,
                OperationId     = operations.SIDEWALL_LONG_CUT.Id
            };

            TIMBER_PLATE_TO_SIDEWALL_SHORT = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_PLATE.Id, Name = "Timber Plate 1,5m x 3,0m", Quantity = 1,
                ArticleParentId = articles.SIDEWALL_SHORT.Id,
                OperationId     = operations.SIDEWALL_SHORT_CUT.Id
            };

            TIMBER_PLATE_TO_TRUCK_BED = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_PLATE.Id, Name = "Timber Plate 1,5m x 3,0m", Quantity = 1,
                ArticleParentId = articles.BASEPLATE_TRUCK_BED.Id,
                OperationId     = operations.BASEPLATE_TRUCK_BED_CUT.Id
            };

            TIMBER_PLATE_TO_BASE_PLATE = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_PLATE.Id, Name = "Timber Plate 1,5m x 3,0m", Quantity = 1,
                ArticleParentId = articles.BASE_PLATE.Id, OperationId = operations.BASE_PLATE_CUT.Id
            };

            TIMBER_PLATE_TO_RACE_WING = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_PLATE.Id, Name = "Timber Plate 1,5m x 3,0m", Quantity = 1,
                ArticleParentId = articles.RACE_WING.Id, OperationId = operations.RACE_WING_CUT.Id
            };

            TIMBER_BLOCK_TO_CABIN = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_BLOCK.Id, Name = "Timber Block 0,20m x 0,20m", Quantity = 1,
                ArticleParentId = articles.CABIN.Id, OperationId = operations.CABIN_CUT.Id
            };

            TIMBER_BLOCK_TO_ENGINE_BLOCK = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_BLOCK.Id, Name = "Timber Block 0,20m x 0,20m", Quantity = 1,
                ArticleParentId = articles.ENGINE_BLOCK.Id, OperationId = operations.ENGINE_BLOCK_CUT.Id
            };

            TIMBER_BLOCK_TO_RACE_EXTENSION = new M_ArticleBom
            {
                ArticleChildId  = articles.TIMBER_BLOCK.Id, Name = "Timber Block 0,20m x 0,20m", Quantity = 1,
                ArticleParentId = articles.ENGINE_RACE_EXTENSION.Id,
                OperationId     = operations.RACE_EXTENSION_CUT.Id
            };
            // !!! - Important NOTE - !!!
            // For Boms without Link to an Operation all Materials have to be ready to completed the operation assigned to the Article.
            var articleBom = new M_ArticleBom[]
            {
                // DUMP TRUCK
                CHASSIS_TYPE_DUMP_TO_DUMP_TRUCK,
                SKELETON_TO_DUMP_TRUCK,
                GLUE_TO_DUMP_TRUCK_FOR_WEDDING,
                POLE_TO_DUMP_TRUCK,
                TRUCK_BED_TO_DUMP_TRUCK,
                GLUE_TO_TO_DUMP_TRUCK_FOR_TRUCK_BED,
                PEGS_TO_DUMP_TRUCK,
                BUTTON_TO_DUMP_TRUCK,
                //RACE TRUCK
                SKELETON_TO_RACE_TRUCK,
                CHASSIS_TO_RACE_TRUCK,
                POLE_TO_RACE_TRUCK,
                RACE_WING_TO_RACE_TRUCK,
                GLUE_TO_RACE_TRUCK_FOR_WEDDING,
                GLUE_TO_RACE_TRUCK_FOR_WING,
                PEGS_TO_RACE_TRUCK,
                BUTTON_TO_RACE_TRUCK,
                // SKELETON
                BASE_PLATE_TO_SKELETON,
                POLE_TO_SKELETON,
                WASHER_TO_SKELETON,
                WHEEL_TO_SKELETON,
                SEMITRAILER_TO_SKELETON,
                GLUE_TO_SKELETON,
                // CHASSIS DUMP TRUCK
                CABIN_TO_CHASSIS_DUMP_TRUCK,
                PEGS_TO_CHASSIS_DUMP_TRUCK,
                BUTTON_TO_CHASSIS_DUMP_TRUCK,
                ENGINE_BLOCK_TO_CHASSIS_DUMP_TRUCK,
                GLUE_TO_CHASSIS_DUMP_TRUCK,
                // CHASSIS RACE TRUCK
                CABIN_TO_CHASSIS_RACE_TRUCK,
                PEGS_TO_CHASSIS_RACE_TRUCK,
                BUTTON_TO_CHASSIS_RACE_TRUCK,
                ENGINE_BLOCK_TO_CHASSIS_RACE_TRUCK,
                ENGINE_RACE_EXTENSION_TO_CHASSIS_RACE_TRUCK,
                GLUE_TO_CHASSIS_RACE_TRUCK,
                // TRUCK BED
                SIDEWALL_LONG_TO_TRUCK_BED,
                SIDEWALL_SHORT_TO_TRUCK_BED,
                BASE_PLATE_TRUCK_BED_TO_TRUCK_BED,
                DUMP_JOINT_TO_TRUCK_BED,
                PEGS_TO_TRUCK_BED,
                BUTTON_TO_TRUCK_BED,
                GLUE_TO_TRUCK_BED,
                POLE_TO_TRUCK_BED,
                //ASSEMBLIES
                TIMBER_PLATE_TO_SIDEWALL_LONG,
                TIMBER_PLATE_TO_SIDEWALL_SHORT,
                TIMBER_PLATE_TO_TRUCK_BED,
                TIMBER_PLATE_TO_BASE_PLATE,
                TIMBER_PLATE_TO_RACE_WING,
                TIMBER_BLOCK_TO_CABIN,
                TIMBER_BLOCK_TO_ENGINE_BLOCK,
                TIMBER_BLOCK_TO_RACE_EXTENSION
            };

            context.ArticleBoms.AddRange(entities: articleBom);
            context.SaveChanges();
            return(articleBom);
        }
        internal void Init(MasterDBContext context, MasterTableBusinessPartner businessPartner, MasterTableArticle article)
        {
            var artToBusinessPartner = new M_ArticleToBusinessPartner[]
            {
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.SKELETON.Id, PackSize = 10, Price = 20.00,
                    TimeToDelivery    = 2880
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.TRUCK_BED.Id, PackSize = 10, Price = 20.00,
                    TimeToDelivery    = 2880
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.CHASSIS_TYPE_DUMP.Id, PackSize = 10,
                    Price             = 20.00, TimeToDelivery = 2880
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.CHASSIS_TYPE_RACE.Id, PackSize = 10,
                    Price             = 25.00, TimeToDelivery = 2880
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.CABIN.Id, PackSize = 10, Price = 1.75,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.ENGINE_BLOCK.Id, PackSize = 10,
                    Price             = 0.40, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.ENGINE_RACE_EXTENSION.Id, PackSize = 10,
                    Price             = 1.00, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.SIDEWALL_LONG.Id, PackSize = 10,
                    Price             = 0.55, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.SIDEWALL_SHORT.Id, PackSize = 10,
                    Price             = 0.45, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.BASEPLATE_TRUCK_BED.Id, PackSize = 10,
                    Price             = 0.40, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.DUMP_JOINT.Id /*Kippgelenk*/,
                    PackSize          = 50, Price = 0.90, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.WHEEL.Id, PackSize = 150, Price = 0.35,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.BASE_PLATE.Id, PackSize = 10, Price = 0.80,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.SEMITRAILER.Id /*Aufleger*/, PackSize = 25,
                    Price             = 0.10, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.RACE_WING.Id, PackSize = 10, Price = 1.50,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.WASHER.Id, PackSize = 150, Price = 0.02,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.TIMBER_PLATE.Id,
                    PackSize          = 100, Price = 0.20, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.TIMBER_BLOCK.Id,
                    PackSize          = 100, Price = 0.20, TimeToDelivery = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.GLUE.Id, PackSize = 1000, Price = 0.01,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.PEGS.Id, PackSize = 200, Price = 0.01,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.POLE.Id, PackSize = 200, Price = 0.25,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.BUTTON.Id, PackSize = 500, Price = 0.05,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.PACKING.Id, PackSize = 50, Price = 2.50,
                    TimeToDelivery    = 1440
                },
                new M_ArticleToBusinessPartner
                {
                    BusinessPartnerId = businessPartner.KREDITOR_MATERIAL_WHOLSALE.Id,
                    ArticleId         = article.USER_MANUAL.Id, PackSize = 50,
                    Price             = 0.20, TimeToDelivery = 1440
                },
            };

            context.ArticleToBusinessPartners.AddRange(entities: artToBusinessPartner);
            context.SaveChanges();
        }
        internal MasterTableOperation(MasterTableArticle articles
                                      , MasterTableResourceCapability resourceCapability
                                      , bool distributeSetupsExponentially)
        {
            SawTools = new TEnumerator <M_ResourceCapability>(
                obj: resourceCapability.Capabilities.Single(x => x.Name.Equals(resourceCapability.CUTTING.Name)).ChildResourceCapabilities.ToArray()
                , expDistributed: distributeSetupsExponentially);

            DrillTools = new TEnumerator <M_ResourceCapability>(
                obj: resourceCapability.Capabilities.Single(x => x.Name.Equals(resourceCapability.DRILLING.Name)).ChildResourceCapabilities.ToArray()
                , expDistributed: distributeSetupsExponentially);

            AssemblyTools = new TEnumerator <M_ResourceCapability>(
                obj: resourceCapability.Capabilities.Single(x => x.Name.Equals(resourceCapability.ASSEMBLING.Name)).ChildResourceCapabilities.ToArray()
                , expDistributed: distributeSetupsExponentially);


            DUMP_TRUCK_WEDDING = new M_Operation
            {
                ArticleId            = articles.DUMP_TRUCK.Id,
                Name                 = "Dump-Truck: Wedding",
                Duration             = 15,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            GLUE_TRUCK_BED = new M_Operation
            {
                ArticleId            = articles.DUMP_TRUCK.Id,
                Name                 = "Glue Truck-Bed",
                Duration             = 10,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            // assemble Truck
            RACE_TRUCK_WEDDING = new M_Operation
            {
                ArticleId            = articles.RACE_TRUCK.Id,
                Name                 = "Race-Truck: Wedding",
                Duration             = 15,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            GLUE_RACE_WING = new M_Operation
            {
                ArticleId            = articles.RACE_TRUCK.Id,
                Name                 = "Glue Race Wing",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            // assemble chassie Dump-Truck
            DUMP_TRUCK_ASSEMBLE_LAMPS = new M_Operation
            {
                ArticleId            = articles.CHASSIS_TYPE_DUMP.Id,
                Name                 = "Dump-Truck: Assemble Lamps",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            DUMP_TRUCK_MOUNT_ENGINE = new M_Operation
            {
                ArticleId            = articles.CHASSIS_TYPE_DUMP.Id,
                Name                 = "Dump-Truck: Mount Engine to Cabin",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            // assemble chassie Race Truck
            RACE_TRUCK_ASSEMBLE_LAMPS = new M_Operation
            {
                ArticleId            = articles.CHASSIS_TYPE_RACE.Id,
                Name                 = "Race-Truck: Assemble Lamps",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            RACE_TRUCK_MOUNT_ENGINE_EXTENSION = new M_Operation
            {
                ArticleId            = articles.CHASSIS_TYPE_RACE.Id,
                Name                 = "Mount Engine Extension",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            RACE_TRUCK_MOUNT_ENGINE = new M_Operation
            {
                ArticleId            = articles.CHASSIS_TYPE_RACE.Id,
                Name                 = "Race-Truck: Mount Engine to Cabin",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 30
            };

            // assemble Skeleton
            MOUNT_AXIS = new M_Operation
            {
                ArticleId            = articles.SKELETON.Id,
                Name                 = "mount poles with wheels to Skeleton",
                Duration             = 10,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            SCREW_WHEELS = new M_Operation
            {
                ArticleId            = articles.SKELETON.Id,
                Name                 = "Screw wheels onto poles",
                Duration             = 10,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            GLUE_SEMITRAILER = new M_Operation
            {
                ArticleId            = articles.SKELETON.Id,
                Name                 = "Glue Semitrailer",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 30
            };

            // assemble Truck Bed
            GLUE_SIDEWALLS = new M_Operation
            {
                ArticleId            = articles.TRUCK_BED.Id,
                Name                 = "Glue side walls and base plate together",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            MOUNT_HATCHBACK = new M_Operation
            {
                ArticleId            = articles.TRUCK_BED.Id,
                Name                 = "Mount hatchback",
                Duration             = 5,
                ResourceCapabilityId = AssemblyTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            // assemble Race Wing
            RACE_WING_CUT = new M_Operation
            {
                ArticleId            = articles.RACE_WING.Id,
                Name                 = "Race Wing: Cut shape",
                Duration             = 10,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            RACE_WING_DRILL = new M_Operation
            {
                ArticleId            = articles.RACE_WING.Id,
                Name                 = "Race Wing: Drill Mount Holes",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };
            // Engine Race Extension
            RACE_EXTENSION_CUT = new M_Operation
            {
                ArticleId            = articles.ENGINE_RACE_EXTENSION.Id,
                Name                 = "Engine Race Extension: Cut shape",
                Duration             = 10,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            RACE_EXTENSION_DRILL = new M_Operation
            {
                ArticleId            = articles.ENGINE_RACE_EXTENSION.Id,
                Name                 = "Engine Race Extension: Drill Mount Holes",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            // side Walls for Truck-bed
            SIDEWALL_LONG_CUT = new M_Operation
            {
                ArticleId            = articles.SIDEWALL_LONG.Id,
                Name                 = "Side wall long: Cut long side",
                Duration             = 10,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            SIDEWALL_LONG_DRILL = new M_Operation
            {
                ArticleId            = articles.SIDEWALL_LONG.Id,
                Name                 = "Side wall long: Drill mount holes",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            SIDEWALL_SHORT_CUT = new M_Operation
            {
                ArticleId            = articles.SIDEWALL_SHORT.Id,
                Name                 = "Side wall short: Cut short side",
                Duration             = 5,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            SIDEWALL_SHORT_DRILL = new M_Operation
            {
                ArticleId            = articles.SIDEWALL_SHORT.Id,
                Name                 = "Side wall short: Drill mount holes",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };

            BASEPLATE_TRUCK_BED_CUT = new M_Operation
            {
                ArticleId            = articles.BASEPLATE_TRUCK_BED.Id,
                Name                 = "Base plate Truck-Bed: Cut Base plate Truck-Bed",
                Duration             = 10,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            BASEPLATE_TRUCK_BED_DRILL = new M_Operation
            {
                ArticleId            = articles.BASEPLATE_TRUCK_BED.Id,
                Name                 = "Base plate Truck-Bed: Drill mount holes",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };
            // Eengin Block
            ENGINE_BLOCK_CUT = new M_Operation
            {
                ArticleId            = articles.ENGINE_BLOCK.Id,
                Name                 = "Engine-Block: Cut Engine-Block",
                Duration             = 10,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            ENGINE_BLOCK_DRILL = new M_Operation
            {
                ArticleId            = articles.ENGINE_BLOCK.Id,
                Name                 = "Engine-Block: Drill mount holes",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };
            // cabin
            CABIN_CUT = new M_Operation
            {
                ArticleId            = articles.CABIN.Id,
                Name                 = "Cabin: Cut Cabin",
                Duration             = 10,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            CABIN_DRILL = new M_Operation
            {
                ArticleId            = articles.CABIN.Id,
                Name                 = "Cabin: Drill mount holes",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };
            // Base Plate
            BASE_PLATE_CUT = new M_Operation
            {
                ArticleId            = articles.BASE_PLATE.Id,
                Name                 = "Base plate: Cut Base plate",
                Duration             = 10,
                ResourceCapabilityId = SawTools.GetNext().Id,
                HierarchyNumber      = 10
            };

            BASE_PLATE_DRILL = new M_Operation
            {
                ArticleId            = articles.BASE_PLATE.Id,
                Name                 = "Base plate: drill holes for axis mount",
                Duration             = 5,
                ResourceCapabilityId = DrillTools.GetNext().Id,
                HierarchyNumber      = 20
            };
        }