Пример #1
0
        private static void CreateProcessUnitHistoryLoad(ProductionData data)
        {
            var puHistory =
                data.ProcessUnitToFactoryHistory.All().Include(x => x.Factory.Plant).Where(x => x.ActivationDate == new DateTime(2017, 1, 1)).ToList();

            var date    = new DateTime(1977, 1, 1);
            var records = new List <ProcessUnitToFactoryHistory>();

            for (int i = 0; i < 480; i++)
            {
                foreach (var historyRecord in puHistory)
                {
                    var newRecord = new ProcessUnitToFactoryHistory()
                    {
                        ProcessUnitId        = historyRecord.ProcessUnitId,
                        ActivationDate       = date,
                        ProcessUnitShortName = historyRecord.ProcessUnitShortName,
                        ProcessUnitFullName  = historyRecord.ProcessUnitFullName,
                        FactoryId            = historyRecord.FactoryId,
                        FactoryShortName     = historyRecord.FactoryShortName,
                        FactoryFullName      = historyRecord.FactoryFullName,
                        PlantId        = historyRecord.PlantId,
                        PlantShortName = historyRecord.PlantShortName,
                        PlantFullName  = historyRecord.PlantFullName,
                    };

                    records.Add(newRecord);
                }

                date = date.AddMonths(1);
            }

            data.ProcessUnitToFactoryHistory.BulkInsert(records, "Load Test");
            data.SaveChanges("Load Test");
        }
Пример #2
0
        private static void TransferHo1AndHo3(ProductionData data)
        {
            var processUnits = data.ProcessUnits.All().Where(x => x.ShortName == "ХО-1" || x.ShortName == "ХО-3").ToList();
            var newFactory   = data.Factories.All().Include(x => x.Plant).FirstOrDefault(x => x.Id == 4);

            if (processUnits.Any() && newFactory != null)
            {
                var activationData = new DateTime(2017, 2, 1);
                foreach (var processUnit in processUnits)
                {
                    using (
                        var transaction = new TransactionScope(TransactionScopeOption.Required,
                                                               DefaultTransactionOptions.Instance.TransactionOptions))
                    {
                        processUnit.FactoryId = 4;
                        data.ProcessUnitToFactoryHistory.Add(new ProcessUnitToFactoryHistory()
                        {
                            ProcessUnitId        = processUnit.Id,
                            ProcessUnitShortName = processUnit.ShortName,
                            ProcessUnitFullName  = processUnit.FullName,
                            FactoryId            = newFactory.Id,
                            FactoryShortName     = newFactory.ShortName,
                            FactoryFullName      = newFactory.FullName,
                            PlantId        = newFactory.Plant.Id,
                            PlantShortName = newFactory.Plant.ShortName,
                            PlantFullName  = newFactory.Plant.FullName,
                            ActivationDate = activationData
                        });
                        data.SaveChanges("ProcessUnit Transfer");
                        transaction.Complete();
                    }
                }
            }
        }