예제 #1
0
        public async Task InitMachines()
        {
            var defaultMachines = _initRepository.GetDefaultMachines();

            using (var trans = _unitOfWork.BeginTransaction())
            {
                var userMachines = await _machineRepository.GetTracking(await _machineRepository.GetIdByUser(_userContext.UserId));

                var sameMachines = userMachines.Join(defaultMachines,
                                                     m => m.Name.ToLower(),
                                                     m => m.Name.ToLower(),
                                                     (m, _) => m);

                _machineRepository.DeleteRange(sameMachines);

                await _unitOfWork.SaveChangesAsync();

                await _initRepository.AddDefaultMachines(_userContext.UserId);
                await CommitTransaction(trans);
            }
        }