示例#1
0
        public async Task Name(DragonDal dragonDal)
        {
            var validator = new RegisterDragonValidator();
            var results   = validator.Validate(dragonDal);

            if (!results.IsValid)
            {
                _numberNameList++;
            }
            else
            {
                try
                {
                    await _context.Dragons.AddAsync(dragonDal);

                    await _context.SaveChangesAsync();

                    _numberNameList = -1;
                }
                catch (DbUpdateException ex) when(ex.InnerException is SqlException sqlException && sqlException.Number == SQL_EXCEPTION_DUPLICATE_KEY)
                {
                    _numberNameList++;
                }
            }
        }
示例#2
0
        public async Task CreateAsync()
        {
            var dragonDal = new DragonDal();

            List <string> AllName = GetName();

            dragonDal.Id = Guid.NewGuid();

            Random rand = new Random();

            dragonDal.Hp    = rand.Next(80, 100);
            dragonDal.HpMax = dragonDal.Hp;

            dragonDal.Date = DateTime.Now;

            while (_numberNameList != -1)
            {
                if (_numberNameList < AllName.Count)
                {
                    dragonDal.Name = AllName[0 + _numberNameList];
                    await Name(dragonDal);
                }
                else
                {
                    break; // максимум драконов создан
                }
            }
        }