コード例 #1
0
        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));
        }
コード例 #2
0
        public async Task <Result <int> > Handle(CreateCarpoolCommand request, CancellationToken cancellationToken)
        {
            var id = _authenticatedUser.Username;

            CreatePlaceCommand placeDeparture = new CreatePlaceCommand {
                PlaceName   = request.DeparturePlaceName,
                ProvinceId  = request.DepartureProvinceId,
                DistrictId  = request.DepartureDistrictId,
                CommuneId   = request.DepartureCommuneId,
                PlaceTypeId = 24,
                Latitude    = request.DepartureLatitude,
                Longitude   = request.DepartureLongitude
            };
            var itemPlaceDeparture = _mapper.Map <Place>(placeDeparture);

            await _placeRepository.InsertAsync(itemPlaceDeparture);

            await _unitOfWork.Commit(cancellationToken);

            CreatePlaceCommand placeArrival = new CreatePlaceCommand
            {
                PlaceName   = request.ArrivalPlaceName,
                ProvinceId  = request.ArrivalProvinceId,
                DistrictId  = request.ArrivalDistrictId,
                CommuneId   = request.ArrivalCommuneId,
                PlaceTypeId = 24,
                Latitude    = request.ArrivalLatitude,
                Longitude   = request.ArrivalLongitude
            };
            var itemPlaceArrival = _mapper.Map <Place>(placeArrival);

            await _placeRepository.InsertAsync(itemPlaceArrival);

            await _unitOfWork.Commit(cancellationToken);

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

            item.PlaceDepartureId = itemPlaceDeparture.Id;
            item.PlaceArrivalId   = itemPlaceArrival.Id;
            item.UserName         = id;

            await _repository.InsertAsync(item);

            await _unitOfWork.Commit(cancellationToken);

            await _unitOfWork.Commit(cancellationToken);

            return(Result <int> .Success(item.Id));
        }
コード例 #3
0
        public async Task <Result <int> > Handle(CreateCompanyCommand 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);

            CultureInfo provider = CultureInfo.InvariantCulture;

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

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

            // item.DateOfIssue = DateOfIssue;
            item.PlaceId  = itemPlace.Id;
            item.UserName = id;

            await _repository.InsertAsync(item);

            await _unitOfWork.Commit(cancellationToken);


            if (request.Industries != null)
            {
                foreach (var _item in request.Industries)
                {
                    try
                    {
                        CompanyIndustry tmp = new CompanyIndustry {
                            IndustryId = _item, CompanyId = item.Id
                        };
                        await _companyIndustryRepository.InsertAsync(tmp);
                    }
                    catch
                    {
                    }
                }
            }

            return(Result <int> .Success(item.Id));
        }
コード例 #4
0
 public async Task <IActionResult> CreatePlace([FromBody] CreatePlaceCommand command)
 => Ok(await _mediator.Send(command));
コード例 #5
0
 public async Task <ActionResult <int> > Create(CreatePlaceCommand command)
 {
     return(await Mediator.Send(command));
 }
コード例 #6
0
 public async Task <IActionResult> Post(CreatePlaceCommand command)
 {
     return(Ok(await _mediator.Send(command)));
 }