public async Task <Result <int> > Handle(CreateRecruitmentCommand request, CancellationToken cancellationToken)
        {
            var id = _authenticatedUser.Username;

            CreatePlaceCommand place = new CreatePlaceCommand {
                PlaceName = request.PlaceName, ProvinceId = request.ProvinceId, DistrictId = request.DistrictId, CommuneId = request.CommuneId, PlaceTypeId = 23, Latitude = request.Latitude, Longitude = request.Longitude
            };
            var itemPlace = _mapper.Map <Place>(place);

            await _placeRepository.InsertAsync(itemPlace);

            await _unitOfWork.Commit(cancellationToken);

            var company = await _companyRepository.GetByUserNameAsync(id);

            Throw.Exception.IfNull(company, "Company", "No Company Found");

            CultureInfo provider = CultureInfo.InvariantCulture;

            /* DateTime? ResumeApplyExpired = null;
             * try { ResumeApplyExpired = DateTime.ParseExact(request.ResumeApplyExpired, "dd/MM/yyyy", provider); } catch { }*/

            var item = _mapper.Map <Recruitment>(request);

            item.PlaceId   = itemPlace.Id;
            item.UserName  = id;
            item.CompanyId = company.Id;

            await _repository.InsertAsync(item);

            await _unitOfWork.Commit(cancellationToken);

            if (request.ListBenefit != null)
            {
                foreach (var _item in request.ListBenefit)
                {
                    try
                    {
                        RecruitmentBenefit tmp = new RecruitmentBenefit {
                            BenefitId = _item.BenefitId, Name = _item.Name, RecruitmentId = item.Id
                        };
                        await _recruitmentBenefitRepository.InsertAsync(tmp);
                    }
                    catch
                    {
                    }
                }
            }


            await _unitOfWork.Commit(cancellationToken);

            return(Result <int> .Success(item.Id));
        }
Ejemplo n.º 2
0
 public async Task UpdateAsync(RecruitmentBenefit item)
 {
     await _repository.UpdateAsync(item);
 }
Ejemplo n.º 3
0
        public async Task <int> InsertAsync(RecruitmentBenefit item)
        {
            await _repository.AddAsync(item);

            return(item.Id);
        }
Ejemplo n.º 4
0
 public async Task DeleteAsync(RecruitmentBenefit item)
 {
     await _repository.DeleteAsync(item);
 }
        public async Task <Result <int> > Handle(UpdateRecruitmentCommand command, CancellationToken cancellationToken)
        {
            var userName = _authenticatedUser.Username;
            var user     = await _userManager.FindByNameAsync(userName);

            var rolesList = await _userManager.GetRolesAsync(user).ConfigureAwait(false);

            var item = await _repository.GetByIdAsync(command.Id);

            if (item == null || !(rolesList.Contains("Admin") || rolesList.Contains("SuperAdmin") || userName == item.UserName))
            {
                return(Result <int> .Fail($"Lỗi!"));
            }
            else
            {
                CultureInfo provider = CultureInfo.InvariantCulture;

                var place = item.Place;
                place.PlaceName  = command.PlaceName ?? place.PlaceName;
                place.ProvinceId = command.ProvinceId ?? place.ProvinceId;
                place.DistrictId = command.DistrictId ?? place.DistrictId;
                place.Latitude   = command.Latitude ?? place.Latitude;
                place.Longitude  = command.Longitude ?? place.Longitude;



                var item_CompanyIndustries = item.RecruitmentBenefit;
                foreach (var item_ in item_CompanyIndustries)
                {
                    await _recruitmentBenefitRepository.DeleteAsync(item_);
                }

                if (command.ListBenefit != null)
                {
                    foreach (var _item in command.ListBenefit)
                    {
                        try
                        {
                            RecruitmentBenefit tmp = new RecruitmentBenefit {
                                BenefitId = _item.BenefitId, Name = _item.Name, RecruitmentId = item.Id
                            };
                            await _recruitmentBenefitRepository.InsertAsync(tmp);
                        }
                        catch
                        {
                        }
                    }
                }



                item.Name               = command.Name ?? item.Name;
                item.Description        = command.Description ?? item.Description;
                item.Image              = command.Image ?? item.Image;
                item.JobTypeId          = command.JobTypeId ?? item.JobTypeId;
                item.JobNameId          = command.JobNameId ?? item.JobNameId;
                item.JobPositionId      = command.JobPositionId ?? item.JobPositionId;
                item.SalaryId           = command.SalaryId ?? item.SalaryId;
                item.ExperienceId       = command.ExperienceId ?? item.ExperienceId;
                item.GenderId           = command.GenderId ?? item.GenderId;
                item.JobAgeId           = command.JobAgeId ?? item.JobAgeId;
                item.DegreeId           = command.DegreeId ?? item.DegreeId;
                item.OtherRequirement   = command.OtherRequirement ?? item.OtherRequirement;
                item.ResumeRequirement  = command.ResumeRequirement ?? item.ResumeRequirement;
                item.ResumeApplyExpired = command.ResumeApplyExpired ?? item.ResumeApplyExpired;
                item.NumberOfJob        = command.NumberOfJob >= 0 ? command.NumberOfJob : item.NumberOfJob;
                item.ContactName        = command.ContactName ?? item.ContactName;
                item.ContactEmail       = command.ContactEmail ?? item.ContactEmail;
                item.ContactPhone       = command.ContactPhone ?? item.ContactPhone;
                item.ContactAdress      = command.ContactAdress ?? item.ContactAdress;


                await _repository.UpdateAsync(item);

                await _unitOfWork.Commit(cancellationToken);

                return(Result <int> .Success(item.Id));
            }
        }