public IActionResult SubmitResume(int resumeId) { Resume resume = _resumeService.GetResumeById(resumeId); resume.Status = ResumeStatuses.Submitted; _resumeService.UpdateResume(resume); return(RedirectToAction(nameof(HomeController.Index), "Home")); }
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)); }
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); }
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")); }