public IActionResult ViewOffer(Guid id) { RecrutationModel offer = _context.Recrutation.Include(o => o.Notes).Include(s => s.StatusChangeses) .FirstOrDefault(x => x.ID == id); return(View(offer)); }
public IActionResult Edit(Guid id) { RecrutationModel offer = _context.Recrutation.Include(o => o.Notes).FirstOrDefault(x => x.ID == id); ViewBag.Usr = offer.UserID; ViewBag.Stat = Statuses; return(View(offer)); }
public IActionResult ChangeStatus(Guid id, string selectedStatus) { RecrutationModel offer = _context.Recrutation.FirstOrDefault(x => x.ID == id); if (offer != null && offer.Status != selectedStatus) { ChangeStatusLog(offer.ID, selectedStatus, offer.Status); offer.Status = selectedStatus; _context.Recrutation.Update(offer); _context.SaveChanges(); } return(RedirectToAction("Index")); }
public IActionResult DeleteOffer(Guid id) { RecrutationModel model = _context.Recrutation.FirstOrDefault(x => x.ID == id); if (model != null) { _context.Recrutation.Remove(model); _context.SaveChanges(); TempData["Info"] = "Oferta usunięta."; return(RedirectToAction("Archives", "Manager")); } TempData["Info"] = "Nie ma takiej oferty."; return(RedirectToAction("Archives", "Manager")); }
public IActionResult Add(RecrutationModel model) { if (ModelState.IsValid) { var result = _context.Recrutation.Add(model); _context.SaveChanges(); ChangeStatusLog(result.Entity.ID, model.Status); return(RedirectToAction("Index")); } ViewBag.Stat = Statuses; return(View(model)); }
public IActionResult FromArchiveToManager(Guid id) { RecrutationModel model = _context.Recrutation.FirstOrDefault(x => x.ID == id); if (model != null) { model.Archives = false; _context.Recrutation.Update(model); _context.SaveChanges(); TempData["Info"] = "Oferta przywrócona."; return(RedirectToAction("Archives")); } TempData["Info"] = "Nie ma takiej oferty"; return(RedirectToAction("Archives")); }
public IActionResult AddToArchive(Guid id) { RecrutationModel model = _context.Recrutation.FirstOrDefault(x => x.ID == id); if (model != null) { model.Archives = true; _context.Recrutation.Update(model); _context.SaveChanges(); TempData["Info"] = "Oferta zarchiwizowana."; return(RedirectToAction("Index")); } TempData["Error"] = "Nie ma takiej oferty"; return(RedirectToAction("Index")); }
public IActionResult Edit(RecrutationModel model) { if (ModelState.IsValid) { var oldStatus = _context.Recrutation.AsNoTracking().FirstOrDefault(x => x.ID == model.ID); if (oldStatus != null) { ChangeStatusLog(model.ID, model.Status, oldStatus.Status); } _context.Recrutation.Update(model); _context.SaveChanges(); } else { ViewBag.Stat = Statuses; return(View(model)); } return(RedirectToAction("Index")); }
public IActionResult Search(string text) { if (!String.IsNullOrEmpty(text)) { text = text.ToLower(); var uid = _usermanager.GetUserId(User); List <RecrutationModel> userOffers = _context.Recrutation.Where(x => x.UserID == uid && (x.JobTitle.ToLower().Contains(text) || x.JobDescription.ToLower().Contains(text) || x.Company.ToLower().Contains(text))).ToList(); List <RecrutationModel> Offers = new List <RecrutationModel>(); if (userOffers.Any()) { foreach (var item in userOffers) { RecrutationModel offer = _context.Recrutation.Include(o => o.Notes) .FirstOrDefault(x => x.ID == item.ID); Offers.Add(offer); } Statuses.Insert(0, new SelectListItem { Value = "Wszystko", Text = "Pokaż wszystko" }); ViewBag.Stat = Statuses; return(View("Index", Offers)); } TempData["Info"] = "Brak wyników wyszukiwania"; return(RedirectToAction("Index")); } TempData["Info"] = "Wpisz coś jak chcesz przeszukać ogłoszenia :)"; return(RedirectToAction("Index")); }
public IActionResult Options(FileUpload imported) { List <string> stats = _context.DbStatuses.Select(s => s.Text).ToList(); if (imported.File == null || Path.GetExtension(imported.File.FileName) != ".xlsx") { ViewBag.Stats = stats; TempData["Error"] = "Błędny format pliku. System obsługuje tylko .xlsx (Excel 2007+)."; return(View()); } try { using (ExcelPackage package = new ExcelPackage(imported.File.OpenReadStream())) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; int rowCount = worksheet.Dimension.Rows; var uid = _usermanager.GetUserId(User); int count = 0; for (int row = 2; row <= rowCount; row++) // row = 1 -> header { // data validation DateTime d; if (!DateTime.TryParse(worksheet.Cells[row, 4].Value.ToString(), out d)) { d = DateTime.Today; } // insert into DB var model = new RecrutationModel(); model.JobTitle = worksheet.Cells[row, 1].Value.ToString(); model.Company = worksheet.Cells[row, 2].Value.ToString(); model.Status = stats.Contains(worksheet.Cells[row, 3].Value.ToString().Trim()) ? worksheet.Cells[row, 3].Value.ToString().Trim() : stats[0]; model.ApplicationDate = d; model.Source = worksheet.Cells[row, 5].Value.ToString(); model.JobDescription = worksheet.Cells[row, 6].Value.ToString(); model.UserID = uid; var result = _context.Recrutation.Add(model); _context.SaveChanges(); count++; ChangeStatusLog(result.Entity.ID, result.Entity.Status); if (worksheet.Cells[row, 7].Value != null) { var n = new NotesModel(); n.Text = worksheet.Cells[row, 7].Value.ToString(); n.OfferID = result.Entity.ID; _context.Notes.Add(n); _context.SaveChanges(); } } TempData["Info"] = $"Załadowano rekordów: {count}."; } } catch (Exception ex) { ViewBag.Stats = stats; TempData["Error"] = $"Błąd: {ex.Message}"; return(View()); } ViewBag.Stats = stats; return(View()); }