public IActionResult AddNewSkill(JobSeekerDto jobSeeker) { jobSeeker.Skills.Add(""); if (jobSeeker.Id != null) { return(View("EditJobSeeker", jobSeeker)); } return(View("AddJobSeeker", jobSeeker)); }
public async Task <IActionResult> EditJobSeeker(JobSeekerDto jobSeeker) { if (ModelState.IsValid && jobSeeker.UserId == int.Parse(User.Identity.Name)) { await jobSeekerFacade.EditInfoAsync(jobSeeker); return(RedirectToAction("Index", "Home")); } throw new ArgumentException(); }
public async Task <IActionResult> AddJobSeeker(JobSeekerDto jobSeeker) { if (ModelState.IsValid) { await jobSeekerFacade.RegisterAsync(jobSeeker); return(RedirectToAction("Login", "User")); } throw new ArgumentException(); }
public async Task RegisterAsync(JobSeekerDto jobSeekerDto) { var jobSeeker = mapper.Map <JobSeeker>(jobSeekerDto); jobSeekerService.RegisterJobSeeker(jobSeeker); await unitOfWork.SaveChangesAsync(); var user = await userService.GetByIdAsync(jobSeeker.UserId.Value); user.JobSeekerId = jobSeeker.Id; await unitOfWork.SaveChangesAsync(); jobSeekerDto.Id = jobSeeker.Id; // this helps with unit tests }
private void btnEditSeeker_Click(object sender, RoutedEventArgs e) { JobSeekerDto item = dgJobSeeker.SelectedItem as JobSeekerDto; if (item == null) { MessageBox.Show("Выберите запись для редактирования", "Редактирование соискателей"); } AddJobSeekerWindow window = new AddJobSeekerWindow(); window.Load(item); window.ShowDialog(); btnRefresh_Click(sender, e); }
public void JobSeekerFacadeTest() { var unit = new UnitOfWork(GetInMemoryOptions()); Seeder.Seed(unit); var userService = new UserService(unit, new UserQueryObject(unit)); var jobSeekerService = new JobSeekerService(unit); var jobSeekerFacade = new JobSeekerFacade(unit, mapper, jobSeekerService, userService); var s = new JobSeekerDto() { Name = "Lol" }; jobSeekerFacade.RegisterAsync(s).Wait(); Assert.NotNull(s.Id); Assert.NotNull(jobSeekerService.GetJobSeeker(s.Id ?? -1).Result); s.Id = null; s.Name = "new lol"; // Null ID get var excp1 = Assert.Throws <AggregateException>(() => jobSeekerFacade.GetInfoAsync(s).Wait()); Assert.Contains("JobSeekerDto.Id can't be null!", excp1.Message); // Null ID edit/update var excp2 = Assert.Throws <AggregateException>(() => jobSeekerFacade.EditInfoAsync(mapper.Map <JobSeekerDto>(s)).Wait()); Assert.Contains("Attempted to update or delete an entity that does not exist in the store.", excp2.Message); // Addition with conflicting ID // This invalidates the database var id1 = unit.JobSeekerRepository.GetById(1); Assert.NotNull(id1); // makes sure company with id 1 is already in database var excp = Assert.Throws <AggregateException>(() => jobSeekerFacade.RegisterAsync(new JobSeekerDto() { Id = 1 }).Wait()); Assert.Contains("The instance of entity type 'JobSeeker' cannot be tracked " + "because another instance with the same key value for {'Id'} is already being tracked.", excp.Message); unit.Dispose(); }
private void btnDeleteSeeker_Click(object sender, RoutedEventArgs e) { JobSeekerDto item = dgJobSeeker.SelectedItem as JobSeekerDto; if (item == null) { MessageBox.Show("Выберите запись для удаления", "Удаление соискателей"); } MessageBoxResult result = MessageBox.Show("Удалить соискателя: " + item.FirstName + " " + item.SecondName + "?", "Удаление соискателей", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (result != MessageBoxResult.Yes) { return; } ProcessFactory.GetSeekerProcess().Delete(item.SeekerID); btnRefresh_Click(sender, e); }
public static JobSeeker Convert(JobSeekerDto seekerDto) { if (seekerDto == null) { return(null); } JobSeeker seeker = new JobSeeker(); seeker.SeekerID = seekerDto.SeekerID; seeker.FirstName = seekerDto.FirstName; seeker.SecondName = seekerDto.SecondName; seeker.ThirdName = seekerDto.ThirdName; seeker.Qualification = seekerDto.Qualification; seeker.AssumedSalary = seekerDto.AssumedSalary; seeker.Misc = seekerDto.Misc; seeker.WorkID = seekerDto.Work.WorkID; return(seeker); }
// // JOBSEEKER // public static JobSeekerDto Convert(JobSeeker seeker) { if (seeker == null) { return(null); } JobSeekerDto seekerDto = new JobSeekerDto(); seekerDto.SeekerID = seeker.SeekerID; seekerDto.FirstName = seeker.FirstName; seekerDto.SecondName = seeker.SecondName; seekerDto.ThirdName = seeker.ThirdName; seekerDto.Qualification = seeker.Qualification; seekerDto.AssumedSalary = seeker.AssumedSalary; seekerDto.Misc = seeker.Misc; seekerDto.Work = Convert(DaoFactory.GetTypeOfWorkDao().Get(seeker.WorkID)); return(seekerDto); }
private void btnSave_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(tbFirstName.Text)) { MessageBox.Show("Имя не должно быть пустым", "Проверка"); return; } if (string.IsNullOrEmpty(tbSecondName.Text)) { MessageBox.Show("Фамилия не должна быть пустой", "Проверка"); return; } decimal salary; decimal.TryParse(tbAssumedSalary.Text, out salary); JobSeekerDto jobSeeker = new JobSeekerDto(); jobSeeker.FirstName = tbFirstName.Text; jobSeeker.SecondName = tbSecondName.Text; jobSeeker.ThirdName = tbThirdName.Text; jobSeeker.Qualification = tbQualification.Text; jobSeeker.AssumedSalary = salary; jobSeeker.Misc = tbMisc.Text; jobSeeker.Work = cbTypeOfWork.SelectedItem as TypeOfWorkDto; IJobSeekerProcess seekerProcess = ProcessFactory.GetSeekerProcess(); if (_seekerid == 0) { seekerProcess.Add(jobSeeker); } else { jobSeeker.SeekerID = _seekerid; seekerProcess.Update(jobSeeker); } Close(); }
public void Load(JobSeekerDto jobSeeker) { if (jobSeeker == null) { return; } _seekerid = jobSeeker.SeekerID; tbFirstName.Text = jobSeeker.FirstName; tbSecondName.Text = jobSeeker.SecondName; if (string.IsNullOrEmpty(jobSeeker.ThirdName) == false) { tbThirdName.Text = jobSeeker.ThirdName; } if (string.IsNullOrEmpty(jobSeeker.Qualification) == false) { tbQualification.Text = jobSeeker.Qualification; } if (jobSeeker.AssumedSalary.HasValue) { tbAssumedSalary.Text = jobSeeker.AssumedSalary.ToString(); } if (string.IsNullOrEmpty(jobSeeker.Misc) == false) { tbMisc.Text = jobSeeker.Misc; } if (jobSeeker.Work != null) { foreach (TypeOfWorkDto workDto in Works) { if (jobSeeker.Work.WorkID == workDto.WorkID) { this.cbTypeOfWork.SelectedItem = workDto; break; } } } }
public async Task EditInfoAsync(JobSeekerDto jobSeekerDto) { jobSeekerService.UpdateJobSeeker(mapper.Map <JobSeeker>(jobSeekerDto)); await unitOfWork.SaveChangesAsync(); }
public async Task <JobSeekerDto> GetInfoAsync(JobSeekerDto jobSeekerDto) { return(mapper.Map <JobSeeker, JobSeekerDto>(await jobSeekerService.GetJobSeeker( jobSeekerDto.Id ?? throw new NullReferenceException("JobSeekerDto.Id can't be null!")))); }
public void Update(JobSeekerDto seekerDto) { seekerDao.Update(DtoConverter.Convert(seekerDto)); }
public void Add(JobSeekerDto seekerDto) { seekerDao.Add(DtoConverter.Convert(seekerDto)); }
public void fillExcelByType(IEnumerable <object> grid, string status, FileInfo xlsxFile) { try { if (grid != null) { ExcelPackage pck = new ExcelPackage(xlsxFile); var excel = pck.Workbook.Worksheets.Add(status); int x = 1; int y = 1; CultureInfo cultureInfo = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name); Thread.CurrentThread.CurrentCulture = cultureInfo; cultureInfo.NumberFormat.NumberDecimalSeparator = "."; // Первая строка (шапка таблицы) – жирным стилем. excel.Cells["A1:Z1"].Style.Font.Bold = true; // Выравнивание текста в ячейках – по левому краю. excel.Cells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Left; // Устанавливает формат ячеек. excel.Cells.Style.Numberformat.Format = "General"; Object dtObj = new Object(); switch (status) { case "JobSeeker": dtObj = new JobSeekerDto(); break; case "TypeOfWork": dtObj = new TypeOfWorkDto(); break; case "Employer": dtObj = new EmployerDto(); break; case "Position": dtObj = new PositionDto(); break; case "Deal": dtObj = new DealDto(); break; } // Генерация шапки таблицы foreach (var prop in dtObj.GetType().GetProperties()) { excel.Cells[y, x].Value = prop.Name.Trim(); x++; } // Генерация строк-записей таблицы. foreach (var item in grid) { y++; Object itemObj = item; x = 1; foreach (var prop in itemObj.GetType().GetProperties()) { object t = prop.GetValue(itemObj, null); object val; if (t == null) { val = ""; } else { val = t.ToString(); if (t is TypeOfWorkDto) { val = ((TypeOfWorkDto)t).Name; } if (t is JobSeekerDto) { val = ((JobSeekerDto)t).FullName; } if (t is EmployerDto) { val = ((EmployerDto)t).Name; } if (t is PositionDto) { val = ((PositionDto)t).PositionName; } } excel.Cells[y, x].Value = val; x++; } } excel.Cells.AutoFitColumns(); pck.Save(); } else { MessageBox.Show("Данные не загружены!"); } } catch (Exception exception) { MessageBox.Show(exception.ToString(), "ERROR"); throw new Exception(); } }