コード例 #1
0
        public async Task <FuncionarioModel> UpdateFuncionario(FuncionarioModel funcionarioModel)
        {
            var funcionarioDataModel = await Funcionario.FindAsync(funcionarioModel.Id);

            if (funcionarioDataModel != null)
            {
                Entry(funcionarioDataModel).State = EntityState.Detached;
                funcionarioDataModel = _mapper.Map <FuncionarioDataModel>(funcionarioModel);
                Funcionario.Update(funcionarioDataModel);

                var funcionarioHabiliade = await FuncionarioHabilidade.ToListAsync();

                var funcionarioHabiliadeFiltrado = funcionarioHabiliade.Where(x => x.Funcionario != null && x.Funcionario.Id == funcionarioDataModel.Id);

                FuncionarioHabilidade.RemoveRange(funcionarioHabiliadeFiltrado);

                foreach (var e in funcionarioModel.Habilidades)
                {
                    var habilidadeDataModel = await Habilidade.FindAsync(e.Id);

                    AdicionarFuncionarioHabilidade(funcionarioDataModel, habilidadeDataModel);
                }

                await SaveChangesAsync();

                return(funcionarioModel);
            }
            else
            {
                throw new EntityNotFoundException("Entidade não encontrada!");
            }
        }
コード例 #2
0
        public async Task <FuncionarioModel> InsertFuncionarioAsync(FuncionarioModel funcionarioModel)
        {
            var funcionarioDataModel = _mapper.Map <FuncionarioDataModel>(funcionarioModel);
            await Funcionario.AddAsync(funcionarioDataModel);

            await SaveChangesAsync();

            funcionarioModel.Id = funcionarioDataModel.Id;

            var funcionarioHabilidadeList = new List <FuncionarioHabilidadeDataModel>();

            foreach (var e in funcionarioModel.Habilidades)
            {
                var habilidadeDataModel = await Habilidade.FindAsync(e.Id);

                AdicionarFuncionarioHabilidade(funcionarioDataModel, habilidadeDataModel);
            }

            await SaveChangesAsync();

            return(funcionarioModel);
        }