Пример #1
0
        // 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));
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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());
        }
Пример #5
0
        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);
        }
Пример #6
0
        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));
        }
Пример #7
0
        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));
        }