コード例 #1
0
        private FilterViewModel ExtractSkills(BllFilter filter)
        {
            int id        = filter != null ? filter.Id : 0;
            var allSkills = skillService.GetAll().Select(x => x.ToMvc()).ToList();

            if (filter != null && filter.Skills != null)
            {
                foreach (var skill in filter.Skills)
                {
                    UserSkillViewModel fsvm = allSkills.First(x => x.Skill.Id == skill.Key.Id);
                    fsvm.Level = skill.Value;
                }
            }

            FilterViewModel filterViewModel = new FilterViewModel
            {
                Id     = id,
                Skills = allSkills
            };

            return(filterViewModel);
        }
コード例 #2
0
        public async Task <IActionResult> CreateAsync(UserViewModel userVM)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                // email validation
                var is_email_exist = _context.Users.Any(u => u.Email == userVM.Email);

                if (is_email_exist)
                {
                    return(StatusCode(409));
                }
                userVM.SubmittedDate = DateTime.Now.AddHours(8);
                var user = _map.Map <User>(userVM);
                _context.Add(user);
                _context.SaveChanges();

                // save skill
                if (userVM.Skills != null)
                {
                    string[] skillId = null;
                    skillId = userVM.Skills.Split(",");
                    for (int i = 0; i < skillId.Length; i++)
                    {
                        UserSkillViewModel userskillVM = new UserSkillViewModel
                        {
                            UserId  = user.UserId,
                            SkillId = int.Parse(skillId[i])
                        };
                        _context.Add(_map.Map <UserSkills>(userskillVM));
                    }
                    _context.SaveChanges();
                }

                // will create folder where it stored the uploaded file.
                if (userVM.Filename == null || userVM.Filename.Length == 0)
                {
                    return(Content("file not selected"));
                }

                var path = Path.Combine("C:\\UploadFiles",
                                        user.UserId.ToString(), userVM.Filename.FileName);
                Directory.CreateDirectory(Path.GetDirectoryName(path));
                using (var stream = new FileStream(path, FileMode.Create))
                {
                    userVM.Filename.CopyTo(stream);
                }

                var builder = new ConfigurationBuilder()
                              .SetBasePath(Directory.GetCurrentDirectory())
                              .AddJsonFile("appsettings.json");

                // email the user_config.GetSection("AppSettings:Token").Value
                await _send.SendEmailAsync(userVM.FirstName, _configuration.GetSection("AdminEmailCredentials:SenderEmail").Value, userVM.Email,
                                           "Thank you for submitting your profile to Dev Partners. We will review your CV and contact you for current openings.", "Application received.");

                // email the admin
                await _send.SendEmailAsync("Admin", _configuration.GetSection("AdminEmailCredentials:SenderEmail").Value, _configuration["AdminEmailCredentials:ReceiverEmail"],
                                           "A new CV/profile has been uploaded to the Pooling System on " + userVM.SubmittedDate, "New application received on the Pooling System.");

                return(StatusCode(201));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }