Exemple #1
0
        public IActionResult SubmitResume(int resumeId)
        {
            Resume resume = _resumeService.GetResumeById(resumeId);

            resume.Status = ResumeStatuses.Submitted;
            _resumeService.UpdateResume(resume);

            return(RedirectToAction(nameof(HomeController.Index), "Home"));
        }
Exemple #2
0
        public ActionResult Edit(int id, ResumeViewModel viewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(viewModel));
                }

                var mapper     = new MapperConfiguration(cfg => cfg.CreateMap <ResumeViewModel, ResumeDTO>()).CreateMapper();
                var resumeView = mapper.Map(viewModel, resumeService.GetResume(id));
                // ViewBag.CategoryId = new SelectList(categoryService.GetCategories(), "CategoryId", "CategoryName", resumeView.CategoryId);
                // ViewBag.EmployeeId = new SelectList(employeeService.GetEmployees(), "EmployeeId", "EmployeeLastName", resumeView.EmployeeId);

                resumeService.UpdateResume(resumeView);


                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
            }

            return(View(viewModel));
        }
Exemple #3
0
        public ActionResult PersonalData(int managerId, ResumeModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            int userId = User.Identity.GetUserId <int>();

            model.ManagerId = managerId;
            // проверяем, владелец ли резюме шлет запрос на его изменение
            if (!_managerService.IsOwnedBy(userId, managerId))
            {
                return(View("~/Views/Shared/Error.cshtml"));
            }

            if (model.Id == null)
            {
                _resumeService.CreateResume(model);
            }
            else
            {
                _resumeService.UpdateResume(model);
            }

            ViewBag.ManagerId = managerId;
            ViewBag.Success   = "Изменения сохранены";
            return(View(model));
        }
        public void UpdateResume_CalledUpdateMethod()
        {
            //Arrange
            _resumeRepository.Setup(x => x.GetOne(It.IsAny <Func <Resume, bool> >()))
            .Returns(new Resume()
            {
            });

            _resumeRepository.Setup(x => x.Update(It.IsAny <Resume>()));

            //Act
            _resumeService.UpdateResume(1, new ResumeDTO());

            //Assert
            _resumeRepository.Verify(x => x.Update(It.IsAny <Resume>()), Times.Once);
        }
 // PUT: api/Resume/5
 public void Put(int id, [FromBody] ResumeDTO resumeDTO)
 {
     _resumeService.UpdateResume(id, resumeDTO);
 }
Exemple #6
0
        public async Task <IActionResult> CreateTestAccounts()
        {
            //Define the web request params
            string apiUrl        = "https://sheets.googleapis.com/v4/spreadsheets/";
            string spreadsheetId = "1BK50eogFUI8z1Vmy6gzXRsjTbcywNo8YRgpRKya3qWo";
            string sheetRange    = "A2:Z";
            string apiKey        = "AIzaSyD6MYQCVZdN93XIL--ekM0SPOyQeY6fkPU";
            string requestUrl    = apiUrl + spreadsheetId + "/values/" + sheetRange + "?key=" + apiKey;

            //create request
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(requestUrl);

            using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse())
            {
                //read the response stream
                StreamReader reader     = new StreamReader(webResponse.GetResponseStream());
                var          jsonString = reader.ReadToEnd();

                //parse the response stream
                JObject deserealizedJson       = JsonConvert.DeserializeObject(jsonString) as JObject;
                IEnumerable <JToken> tableRows = deserealizedJson.GetSheetRow(2);

                //verify that the trainer does not exist
                string          trainerEmail = tableRows.FirstOrDefault().GetElementValue(0);
                ApplicationUser trainer      = await _userManager.FindByEmailAsync(trainerEmail);

                if (trainer == null)
                {
                    //create default trainer
                    trainer = new ApplicationUser()
                    {
                        UserName = trainerEmail, Email = trainerEmail
                    };
                    IdentityResult trainerCreationResult = await _userManager.CreateAsync(trainer, PasswordGenerator.Generate(6, 0));

                    if (trainerCreationResult.Succeeded)
                    {
                        foreach (JToken row in tableRows)
                        {
                            string sheetRowEmail = row.GetElementValue(7);

                            //check if the email is already present in the system
                            ApplicationUser dbUser = await _userManager.FindByEmailAsync(sheetRowEmail);

                            if (dbUser == null)
                            {
                                //pick values from the spreadsheet for the new user
                                ApplicationUser user = new ApplicationUser()
                                {
                                    UserName = sheetRowEmail, Email = sheetRowEmail
                                };

                                var result = await _userManager.CreateAsync(user, row.GetElementValue(12));

                                if (result.Succeeded)
                                {
                                    //add to the role Students
                                    var currentUser = await _userManager.FindByNameAsync(user.UserName);

                                    await _userManager.AddToRoleAsync(currentUser, ProfilerRoles.Student);

                                    //add user info
                                    //TODO: parse the number
                                    UserInfo userInfo = new UserInfo
                                    {
                                        UserId      = currentUser.Id,
                                        EnName      = row.GetElementValue(1),
                                        EnSurname   = row.GetElementValue(2),
                                        RuSurname   = row.GetElementValue(3),
                                        RuName      = row.GetElementValue(4),
                                        DateOfBirth = ParseDateTimeToBLRStandard(row.GetElementValue(6)),
                                        Email       = row.GetElementValue(7),
                                        Phone       = row.GetElementValue(8)
                                    };

                                    await _userInfoService.AddUserInfoAsync(userInfo);

                                    //bind userInfo to applicationUser
                                    currentUser.UserInfo = userInfo;

                                    //save changes to the database to assign id to userinfo
                                    await _db.SaveChangesAsync();

                                    //pick the created userInfo
                                    UserInfo userInfoCreated = _userInfoService.GetUserInfo(currentUser.Email);

                                    //TODO: verify datetime
                                    Student student = new Student
                                    {
                                        TrainerId        = trainer.Id,
                                        UserInfoId       = userInfoCreated.Id,
                                        DateOfGraduation = ParseDateTimeToBLRStandard(row.GetElementValue(9)),
                                        GraduationMark   = Convert.ToInt32(row.GetElementValue(11))
                                    };

                                    await _studentService.AddOrUpdateStudentAsync(student);

                                    //save changes to assign id to the student
                                    await _db.SaveChangesAsync();

                                    //pick the stream
                                    Model.Models.Stream stream = _streamService.GetStreamByShortName(row.GetElementValue(10));

                                    if (stream != null)
                                    {
                                        //bind stream to the student
                                        await _studentService.AddStream(student, stream);
                                    }

                                    //create resume
                                    _resumeService.CreateResumeForStudent(student.Id);
                                    await _db.SaveChangesAsync();

                                    //change resume
                                    Resume resume = _resumeService.GetResumeByStudentId(student.Id);
                                    resume.CurrentStep = Convert.ToInt32(row.GetElementValue(13));
                                    _resumeService.UpdateResume(resume);

                                    //save changes
                                    await _db.SaveChangesAsync();
                                }
                            }
                        }
                    }
                }
                else
                {
                    ErrorViewModel evm = new ErrorViewModel
                    {
                        RequestId = "Something went wrong"
                    };
                    return(View("Error", evm));
                }
            }

            return(RedirectToAction("Index", "Home"));
        }