Exemplo n.º 1
0
        public async Task <bool> CreatePosition(CreatePosition createPosition)
        {
            var loggedUser = await this.userRepository.GetByName(UserInfo.UserName);

            var company = this.companiesRepository.GetBydId(loggedUser.Id);

            try
            {
                var position = this.BuildPositionModel(createPosition);
                company.Positions.Add(position);

                await userRepository.Update(loggedUser);

                this.companiesRepository.Save();

                var addedPosition = this.positionsReadRepository.GetById(position.PositionID);

                addedPosition.PositionSkill = createPosition.RequiredSkills.Select(x => new PositionSkill()
                {
                    PositionId = addedPosition.PositionID, SkillId = x
                }).ToList();

                this.companiesRepository.Save();

                return(true);
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex.InnerException, JsonConvert.SerializeObject(createPosition));

                return(false);
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create(CreatePosition createPosition)
        {
            if (ModelState.IsValid)
            {
                await this.positionsApplicationService.CreatePosition(createPosition);
            }

            return(RedirectToAction("All", "Positions", new { companyId = UserInfo.UserName }));
        }
Exemplo n.º 3
0
 private Position BuildPositionModel(CreatePosition createPosition)
 {
     return(new Position
     {
         Description = createPosition.Description,
         LookingFor = createPosition.LookingFor,
         MinimumYearsOfExperience = createPosition.MinimumYearsOfExperience,
         Responsibilities = createPosition.Responsibilities,
         WhatWeOffer = createPosition.WhatWeOffer,
         PositionName = createPosition.PositionName
     });
 }