Ejemplo n.º 1
0
        public async Task <Result <SkillsDTO> > GetUserSkills(string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(Result <SkillsDTO> .CreateFailed(
                           HttpStatusCode.NotFound, "User not found"));
            }

            var expiriences = await _context.Experiences.Where(x => x.User == user).ToListAsync();

            var educations = await _context.Educations.Where(x => x.User == user).ToListAsync();

            var personalSkills = await _context.PersonalSkills.Where(x => x.User == user).ToListAsync();

            var a = Result <SkillsDTO> .CreateSuccessful(
                new SkillsDTO(
                    ExperienceDTO.ToExperienceDTOList(expiriences),
                    EducationDTO.ToEducationDTOList(educations),
                    PersonalSkillDTO.ToPersonalSkillDTOList(personalSkills)
                    ));

            return(a);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> SaveExpiriance(PersonalSkillDTO personalSkill)
        {
            try
            {
                var userId = User.Claims.Where(x => x.Type == "id").FirstOrDefault().Value;
                var result = await _userService.SavePersonalSkill(userId, personalSkill);

                if (!result.IsSuccess())
                {
                    return(result.ToErrorResponse());
                }
                return(Ok(result.Data));
            }
            catch (Exception)
            {
                return(BadRequest("Σφάλμα, Επικοινωνήστε με τον διαχειριστή"));
            }
        }
Ejemplo n.º 3
0
        public async Task <Result <PersonalSkillDTO> > SavePersonalSkill(string userId, PersonalSkillDTO personalSkillDTO)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(Result <PersonalSkillDTO> .CreateFailed(
                           HttpStatusCode.NotFound, "User not found"));
            }

            var personalSkill = await _context.PersonalSkills.Where(x => x.User == user && x.Id == personalSkillDTO.Id).FirstOrDefaultAsync();

            if (personalSkill != null)
            {
                personalSkill.Update(personalSkillDTO);
                await _knnService.RemoveSkill(personalSkill, user);
            }
            else
            {
                personalSkill = new PersonalSkill();
                personalSkill.Update(personalSkillDTO);
                personalSkill.User = user;
                await _context.PersonalSkills.AddAsync(personalSkill);
            }

            await _knnService.ManageSkill(personalSkill, user);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception)
            {
                return(Result <PersonalSkillDTO> .CreateFailed(
                           HttpStatusCode.NotFound, "Error Changes are not saved"));;
            }

            return(Result <PersonalSkillDTO> .CreateSuccessful(new PersonalSkillDTO(personalSkill)));
        }
Ejemplo n.º 4
0
 public void Update(PersonalSkillDTO personalSkill)
 {
     Title       = personalSkill.Title;
     Description = personalSkill.Description;
     IsPublic    = personalSkill.IsPublic;
 }