public virtual async Task <long> AddAsync(TEntity obj)
        {
            try
            {
                _context.ChangeTracker.LazyLoadingEnabled       = false;
                _context.ChangeTracker.QueryTrackingBehavior    = QueryTrackingBehavior.NoTracking;
                _context.ChangeTracker.AutoDetectChangesEnabled = false;


                await _context.Set <TEntity>().AddAsync(obj);

                await _context.SaveChangesAsync();


                var keyName = _context.Model.FindEntityType(typeof(TEntity))
                              .FindPrimaryKey().Properties
                              .Select(x => x.Name).Single();

                return((long)obj.GetType().GetProperty(keyName).GetValue(obj, null));
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!_context.Set <TEntity>().Any())
                {
                    return(0);
                }
                else
                {
                    throw;
                }
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Create([Bind("ID,Pin,Type,CurrentValue")] GPIO gPIO)
        {
            if (ModelState.IsValid)
            {
                _context.Add(gPIO);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(gPIO));
        }
Esempio n. 3
0
        public async Task <IActionResult> Create([Bind("ID,Key,Type,Value,Description")] Setting setting)
        {
            if (ModelState.IsValid)
            {
                _context.Add(setting);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(setting));
        }
Esempio n. 4
0
 public async Task InsertUserAnswersAsync(List <UserAnswers> userAnswers)
 {
     if (userAnswers != null && userAnswers.Count > 0)
     {
         foreach (var singleAnswer in userAnswers)
         {
             var answerItem = _context.Answers.First(s => s.ID == singleAnswer.Answers.ID);
             if (answerItem != null)
             {
                 singleAnswer.Answers = answerItem;
                 _context.UserAnswers.Add(singleAnswer);
             }
         }
         await _context.SaveChangesAsync();
     }
 }