コード例 #1
0
        public async Task <int> Salvar(T entidade)
        {
            if (entidade.Id == 0)
            {
                _dataset.Add(entidade);
            }

            else
            {
                var entidadeEncontrada = _dataset.ToList().FirstOrDefault((e) => e.Id.Equals(entidade.Id));
                _context.Entry(entidadeEncontrada).CurrentValues.SetValues(entidade);
            }

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                ex.Entries.SingleOrDefault().Reload();

                await _context.SaveChangesAsync();
            }

            return(entidade.Id);
        }