protected override void Build(IRepository repository) { new SpecificationFactory(repository); new MaintenanceTypeFactory(repository); new MeasureUnitFactory(repository); var ts = new RepairObjectGroup { Name = "Транспортные средства" }; ts.AddSpecification(new GroupSpecification(SpecificationFactory.RegistrationNumber)); ts.AddSpecification(new GroupSpecification(SpecificationFactory.EngineVolume)); var cars = new RepairObjectGroup { Name = "Легковые автомобили" }; var engine_1_8 = new RepairObjectGroup { Name = "Объём двигателя от 1,8 л до 3,5 л" }; cars.AddChild(engine_1_8); ts.AddChild(cars); repository.Save(ts); repository.Save(cars); repository.Save(engine_1_8); //Интервал ТО-1 10 ткм, либо 1 раз в 2 года var Interval_TO1 = new MaintenanceInterval( engine_1_8, MaintenanceTypeFactory.TO1_Repair, TimePeriod.Year, 2, MeasureUnitFactory.Km, 10000 ); //Интервал ТО-2 20 ткм var Interval_TO2 = new MaintenanceInterval( engine_1_8, MaintenanceTypeFactory.TO2_Repair, MeasureUnitFactory.Km, 20000 ); repository.Save(Interval_TO1); repository.Save(Interval_TO2); Car = new RepairObject(engine_1_8, "999", DateTime.Now); repository.Save(Car); }
/// <summary> /// Интервал обслуживания по времени /// </summary> /// <param name="group"></param> /// <param name="maintenanceType"></param> /// <param name="timePeriod"></param> /// <param name="periodQuantity"></param> /// <param name="quantityInCycle"></param> public MaintenanceInterval( RepairObjectGroup group, MaintenanceType maintenanceType, TimePeriod timePeriod, int periodQuantity, int?quantityInCycle = null ) { IntervalType = MaintenanceIntervalType.ByTime; Group = group; TimePeriod = timePeriod; PeriodQuantity = periodQuantity; MaintenanceType = maintenanceType; QuantityInCycle = quantityInCycle; }
/// <summary> /// Интервал обслуживания по наработке /// </summary> /// <param name="group"></param> /// <param name="maintenanceType"></param> /// <param name="measureUnit"></param> /// <param name="minUsage"></param> /// <param name="maxUsage"></param> /// <param name="quantityInCycle"></param> public MaintenanceInterval( RepairObjectGroup group, MaintenanceType maintenanceType, MeasureUnit measureUnit, int minUsage, int?maxUsage = null, int?quantityInCycle = null ) { IntervalType = MaintenanceIntervalType.ByUsage; Group = group; MaintenanceType = maintenanceType; MeasureUnit = measureUnit; MinUsage = minUsage; QuantityInCycle = quantityInCycle; MaxUsage = maxUsage; }
/// <summary> /// Интервал обслуживания по наработке и по времени /// </summary> /// <param name="group"></param> /// <param name="maintenanceType"></param> /// <param name="measureUnit"></param> /// <param name="timePeriod"></param> /// <param name="periodQuantity"></param> /// <param name="minUsage"></param> /// <param name="maxUsage"></param> /// <param name="quantityInCycle"></param> public MaintenanceInterval( RepairObjectGroup group, MaintenanceType maintenanceType, TimePeriod timePeriod, int periodQuantity, MeasureUnit measureUnit, int minUsage, int?maxUsage = null, int?quantityInCycle = null ) { IntervalType = MaintenanceIntervalType.ByUsageAndTime; Group = group; MaintenanceType = maintenanceType; MeasureUnit = measureUnit; TimePeriod = timePeriod; PeriodQuantity = periodQuantity; MinUsage = minUsage; QuantityInCycle = quantityInCycle; MaxUsage = maxUsage; }
protected override void Build(IRepository repository) { new MaintenanceTypeFactory(repository); new SpecificationFactory(repository); new MeasureUnitFactory(repository); var eMotors = new RepairObjectGroup { Name = "Электродвигатели" }; var eMotorType = new RepairObjectGroup { Name = "ЭД синхронный с к.з. ротором" }; var eMotorModel = new RepairObjectGroup { Name = "1AN3R-355Z-6" }; eMotors.AddChild(eMotorType); eMotorType.AddChild(eMotorModel); var interval_T = new MaintenanceInterval( eMotorType, MaintenanceTypeFactory.T_Repair, MeasureUnitFactory.WorkHours, 8000, 8760, 12 ); var interval_C = new MaintenanceInterval( eMotorType, MaintenanceTypeFactory.C_Repair, MeasureUnitFactory.WorkHours, 42000, 43800, 2 ); var interval_K = new MaintenanceInterval( eMotorType, MaintenanceTypeFactory.K_Repair, MeasureUnitFactory.WorkHours, 130000, 131400, 1 ); repository.Save(interval_T); repository.Save(interval_C); repository.Save(interval_K); eMotors.AddSpecification(new GroupSpecification(SpecificationFactory.Power)); eMotors.AddSpecification(new GroupSpecification(SpecificationFactory.RPM)); repository.Save(eMotors); var eMotor = new RepairObject(eMotorModel, "К-401В", DateTime.Now) { FactoryNumber = "3452", InventoryNumber = "123456678" }; eMotor.AddSpecification(new ObjectSpecification(SpecificationFactory.Execution, "1")); ElectroMotor = eMotor; }