public bool AddNewPersonJob(EmploymentsViewModel eVM, long Id) { try { Person p = personUnityOfWork.PersonRepo.GetById(Id); personUnityOfWork.PersonRepo.Attach(ref p); Job j = new Job { CompanyName = eVM.CompanyName, Description = eVM.Description, EndDate = eVM.EndDate, Person = p, Position = eVM.Position, StartDate = eVM.StartDate }; p.Jobs = p.Jobs ?? new List <Job>(); p.Jobs.Add(j); personUnityOfWork.JobRepo.Add(j); personUnityOfWork.PersonRepo.Update(p); personUnityOfWork.UnityOfWork.SaveChanges(); return(true); } catch (Exception) { throw; } finally { personUnityOfWork.UnityOfWork.Dispose(); } }
public async Task <ActionResult> Create() { var tracker = (Guid)Session["@Tracker"]; var primary = await _context.Employements.FirstOrDefaultAsync(it => it.Applicant.Tracker == tracker && it.IsPrimary); if (primary == null) { return(View()); } var previous = await _context.Employements.FirstOrDefaultAsync(it => it.Applicant.Tracker == tracker && !it.IsPrimary); if (previous == null) { return(View()); } var viewModel = new EmploymentsViewModel { Primary = _mapper.Map <EmploymentViewModel>(primary), Previous = _mapper.Map <EmploymentViewModel>(previous) }; return(View(viewModel)); }
public async Task <ActionResult> Create(EmploymentsViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var tracker = (Guid)Session["@Tracker"]; var applicant = await _context.Applicant.FirstOrDefaultAsync(it => it.Tracker == tracker); var existingPrimary = await _context.Employements.FirstOrDefaultAsync(it => it.Applicant.Tracker == tracker && it.IsPrimary); if (existingPrimary != null) { _mapper.Map(viewModel.Primary, existingPrimary); _context.Entry(existingPrimary).State = EntityState.Modified; } else { var primary = _mapper.Map <Employement>(viewModel.Primary); primary.Applicant = applicant; primary.IsPrimary = true; _context.Employements.Add(primary); } var existingPrevious = await _context.Employements.FirstOrDefaultAsync(it => it.Applicant.Tracker == tracker && !it.IsPrimary); if (existingPrevious != null) { _mapper.Map(viewModel.Previous, existingPrevious); _context.Entry(existingPrevious).State = EntityState.Modified; } else { var previous = _mapper.Map <Employement>(viewModel.Previous); previous.Applicant = applicant; previous.IsPrimary = false; _context.Employements.Add(previous); } await _context.SaveChangesAsync(); return(RedirectToAction("Create", "Vehicle")); }
public ActionResult AddJob(EmploymentsViewModel cVM) { if (ModelState.IsValid) { //Person p = Session["Person"] as Person; if (hrServices.AddNewPersonJob(cVM, cVM.Id)) { ViewBag.Message = "Pomyślnie dodano miejsce zatrudnienia"; return(RedirectToAction("DisplaySuccessOfAddWorker")); } else { ModelState.AddModelError("", "Nieznany blad"); return(View("DisplaySuccessOfAddWorker")); } } else { } return(View()); }