Ejemplo n.º 1
0
        // [AbpAuthorize(PermissionNames.Pages_Group6_Recruitment_Create)]
        public async Task <RecruitmentDto> UpdateRecruitmentAsync(UpdateRecruitmentDto input)
        {
            var recruitment = await _recruitmentRepo.GetAsync(input.Id);

            ObjectMapper.Map(input, recruitment);
            List <ExpertiseRecruitment> List_expertiseRecruitments = _expertiseRecruitmentRepo.GetAll()
                                                                     .Where(er => er.RecruitmentId == input.Id).ToList();

            foreach (ExpertiseRecruitment temp in List_expertiseRecruitments)
            {
                System.Diagnostics.Debug.WriteLine("[INFO]\t" + temp.Id + "\n");
                await _expertiseRecruitmentRepo.DeleteAsync(temp);
            }
            foreach (ExpertiseDto ept in input.Expertises)
            {
                Expertise expertise = await _expertiseRepo.FirstOrDefaultAsync(e => e.Id == ept.Id);

                if (expertise != null)
                {
                    ExpertiseRecruitment er = new ExpertiseRecruitment
                    {
                        Expertise     = expertise,
                        ExpertiseId   = expertise.Id,
                        Recruitment   = recruitment,
                        RecruitmentId = recruitment.Id
                    };
                    await _expertiseRecruitmentRepo.InsertAsync(er);
                }
            }
            var savedRecruitment = await _recruitmentRepo.UpdateAsync(recruitment);

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <RecruitmentDto>(savedRecruitment));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Update(UpdateRecruitmentDto input)
        {
            try
            {
                var result = await _recruitmentAppService.UpdateRecruitmentAsync(input);

                return(Ok(result));
            }
            catch
            {
                return(NotFound());
            }
        }