public bool Insert(EquipamentoViewModel entity)
        {
            try
            {
                ICodigoInfravermelhoService codigoInfravermelhoService = new CodigoInfravermelhoService(_context);

                var equip = SetEntity(entity.EquipamentoModel);

                _context.Add(equip);
                int inserted = _context.SaveChanges();
                _context.Entry(equip).Reload();
                int id            = equip.Id;
                var codigosEntity = new List <CodigoInfravermelhoModel>();
                if (inserted == 1)
                {
                    entity.Codigos.ForEach(c => codigosEntity.Add(new CodigoInfravermelhoModel {
                        Codigo = c.Codigo, IdEquipamento = equip.Id, IdOperacao = c.IdOperacao
                    }));
                    codigoInfravermelhoService.AddAll(codigosEntity);
                }
                return(Convert.ToBoolean(inserted));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public UsuarioViewModel Insert(UsuarioViewModel entity)
        {
            var usuario = GetByCpf(entity.UsuarioModel.Cpf);

            if (usuario != null)
            {
                throw new ServiceException("Já existe um cpf cadastrado no sistema.");
            }

            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    entity.UsuarioModel.TipoUsuarioId = entity.TipoUsuarioModel.Id;

                    var usuarioAdd = SetEntity(entity.UsuarioModel);
                    _context.Add(usuarioAdd);
                    _context.SaveChanges();
                    _context.Entry(usuarioAdd).State = EntityState.Detached;
                    entity.UsuarioModel.Id           = usuarioAdd.Id;

                    IUsuarioOrganizacaoService usuarioOrgService = new UsuarioOrganizacaoService(_context);

                    usuarioOrgService.Insert
                    (
                        new UsuarioOrganizacaoModel
                    {
                        Id            = entity.OrganizacaoModel.Id,
                        OrganizacaoId = entity.OrganizacaoModel.Id,
                        UsuarioId     = entity.UsuarioModel.Id
                    }
                    );
                    _context.SaveChanges();
                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e;
                }
            }
            return(entity);
        }