// GET: Candidates/Edit/5 public async Task <IActionResult> Edit(int?id) { if (await _electionService.VerifyElectionOpenAsync()) { return(RedirectToAction("Index")); } if (id == null) { return(NotFound()); } var candidate = await _candidateService.GetCandidates().FirstAsync(c => c.Id == id); var candidateViewModel = new CandidateCreateViewModel() { Id = candidate.Id, Name = candidate.Name, LastName = candidate.LastName, IsActive = candidate.IsActive, photoName = candidate.ProfilePhothoPath }; if (candidate == null) { return(NotFound()); } ViewData["PoliticPartyId"] = new SelectList(_politicPartyService.GetPoliticParties().Where(p => p.IsActive == true), "Id", "Name", candidate.PoliticPartyId); ViewData["PositionId"] = new SelectList((await _positionService.GetPositionsAsync()).Where(p => p.IsActive == true), "Id", "Name", candidate.PositionId); return(View(candidateViewModel)); }
public void CreateCandidate(IFormFile avatar, CandidateCreateViewModel candidateView) { if (avatar != null) { /*upload file*/ var storagePath = Path.Combine(_hostingEnvironment.WebRootPath, "images", avatar.FileName); var path = "/images/" + avatar.FileName; var stream = new FileStream(storagePath, FileMode.Create); avatar.CopyToAsync(stream); Candidate candidate = new Candidate() { Name = candidateView.Name, Phone = candidateView.Phone, VacancyID = candidateView.VacancyId, Avatar = path, }; _context.Candidates.Add(candidate); _context.SaveChanges(); } else { Candidate candidate = new Candidate() { Name = candidateView.Name, Phone = candidateView.Phone, VacancyID = candidateView.VacancyId, }; _context.Candidates.Add(candidate); _context.SaveChanges(); } }
public IActionResult Create(IFormFile avatar, CandidateCreateViewModel candidateView) { if (ModelState.IsValid) { _candidateService.CreateCandidate(avatar, candidateView); return(RedirectToAction(nameof(Index))); } return(RedirectToAction(nameof(Create))); }
public IActionResult Create(CandidateCreateViewModel model) { var objCandidate = mapper.Map <Candidates>(model); int result = canrepo.Create(objCandidate); if (result > 0) { return(RedirectToAction("index")); } return(View()); }
private string ProcessUploadedFile(CandidateCreateViewModel model) { string uniqueFileName = null; if (model.ProfilePhothoPath != null) { string uploadFolder = Path.Combine(_hostingEnvironment.WebRootPath, "Images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.ProfilePhothoPath.FileName; string filePath = Path.Combine(uploadFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.ProfilePhothoPath.CopyTo(fileStream); } } return(uniqueFileName); }
public async Task <IActionResult> Edit(int id, CandidateCreateViewModel model) { if (id != model.Id) { return(NotFound()); } if (ModelState.IsValid) { string uniqueFileName = ProcessUploadedFile(model); if (uniqueFileName == null) { uniqueFileName = model.photoName; } Candidate candidate = new Candidate { Id = model.Id, Name = model.Name, LastName = model.LastName, PoliticPartyId = model.PoliticPartyId, PositionId = model.PositionId, ProfilePhothoPath = uniqueFileName, IsActive = model.IsActive }; try { _candidateService.UpdateCandidate(candidate); //await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CandidateExists(candidate.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["PoliticPartyId"] = new SelectList(_politicPartyService.GetPoliticParties().Where(p => p.IsActive == true), "Id", "Name", model.PoliticPartyId); ViewData["PositionId"] = new SelectList((await _positionService.GetPositionsAsync()).Where(p => p.IsActive == true), "Id", "Name", model.PositionId); return(View(model)); }
public async Task <IActionResult> Create([Bind("Id,Name,LastName,PoliticPartyId,PositionId,ProfilePhothoPath,IsActive")] CandidateCreateViewModel model) { if (model.PoliticPartyId == 0) { ViewBag.Message = "Debe seleccionar un partido politico para crear o añadir un candidato."; return(View(model)); } if (model.PositionId == 0) { ViewBag.Message = "Debe seleccionar una posicion electiva para crear o añadir un candidato."; return(View(model)); } if (ModelState.IsValid) { //comentario string uniqueFileName = ProcessUploadedFile(model); if (uniqueFileName == null) { uniqueFileName = "Anonimo.png"; } Candidate candidate = new Candidate { Name = model.Name, LastName = model.LastName, PoliticPartyId = model.PoliticPartyId, PositionId = model.PositionId, ProfilePhothoPath = uniqueFileName, IsActive = model.IsActive }; _candidateService.InsertCandidate(candidate); //await _candidateService.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["PoliticPartyId"] = new SelectList(_politicPartyService.GetPoliticParties().Where(p => p.IsActive == true), "Id", "Name", model.PoliticPartyId); ViewData["PositionId"] = new SelectList((await _positionService.GetPositionsAsync()).Where(p => p.IsActive == true), "Id", "Name", model.PositionId); return(View(model)); }