Example #1
0
        public async Task <IActionResult> ExcelFiltered([FromQuery] VoterParams voterParams)
        {
            var userId       = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            var userFromRepo = await _repo.GetUser(userId);

            var OrganizationId = userFromRepo.OrganizationId;
            var Organization   = await _repo.GetOrganization(OrganizationId ?? default(int));

            var VoterTypeId = Organization.VoterTypeId;
            // await Task.Yield ();
            string   sWebRootFolder = _hostingEnvironment.WebRootPath;
            string   sFileName      = @"demo.xlsx";
            string   URL            = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, sFileName);
            FileInfo file           = new FileInfo(Path.Combine(sWebRootFolder, sFileName));

            if (file.Exists)
            {
                file.Delete();
                file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
            }
            using (ExcelPackage package = new ExcelPackage(file)) {
                // add a new worksheet to the empty workbook
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Voters");
                var            voters    = await _repo.GetAllVotersByTypeFiltered(VoterTypeId, voterParams);

                var votersForExport = _mapper.Map <IEnumerable <VotersExportDto> > (voters);
                worksheet.Cells.LoadFromCollection(votersForExport, true);

                package.Save();  //Save the workbook.
            }
            Export EportObj = new Export();

            EportObj.URL = URL;
            return(Ok(EportObj));
        }
Example #2
0
        public async Task <IActionResult> GetReferenceVoters([FromQuery] VoterParams voterParams)
        {
            var userId        = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            var voterFromRepo = await _repo.GetReferenceVoters(userId, voterParams);

            var voterList = _mapper.Map <ICollection <VoterForReturnDto> > (voterFromRepo);

            Response.AddPagination(voterFromRepo.CurrentPage, voterFromRepo.PageSize, voterFromRepo.TotalCount, voterFromRepo.TotalPages);
            return(Ok(voterList));
        }
Example #3
0
        public async Task <PagedList <Voter> > GetReferenceVoters(int referenceId, VoterParams voterParamas)
        {
            var voters = _context.Voters.Where(v => v.ReferenceId == referenceId).Include(v => v.VotingYears).Include(v => v.VoterType).AsQueryable();

            if (voterParamas.code > 0)
            {
                voters = voters.Where(x => x.Code == voterParamas.code);
            }
            if (!string.IsNullOrEmpty(voterParamas.firstNameArabic))
            {
                voters = voters.Where(x => x.FirstNameArabic == (voterParamas.firstNameArabic).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.familyArabic))
            {
                voters = voters.Where(x => x.FamilyArabic == (voterParamas.familyArabic).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.fatherNameArabic))
            {
                voters = voters.Where(x => x.FatherNameArabic == (voterParamas.fatherNameArabic).Trim());
            }
            if (voterParamas.contacted != null)
            {
                voters = voters.Where(x => x.Contacted == voterParamas.contacted);
            }
            if (voterParamas.attend != null)
            {
                voters = voters.Where(x => x.Attend == voterParamas.attend);
            }
            if (voterParamas.abroad != null)
            {
                voters = voters.Where(x => x.Abroad == voterParamas.abroad);
            }
            if (voterParamas.voted != null)
            {
                if (voterParamas.voted == true)
                {
                    voters = voters.Where(x => (x.VotingYears.Any(year => year.Year == DateTime.Today.Year.ToString())));
                }
                else
                {
                    voters = voters.Where(x => x.VotingYears.Count == 0);
                }
            }
            return(await PagedList <Voter> .CreatAsync(voters, voterParamas.PageNumber, voterParamas.PageSize));
        }
Example #4
0
        public async Task <IActionResult> deleteUser(int userId)
        {
            var usersFromRepo = await _repo.GetUser(userId);

            var voterParams = new VoterParams();
            var Voters      = await _repo.GetReferenceVoters(userId, voterParams);

            foreach (Voter element in Voters)
            {
                element.ReferenceId = null;
            }
            _repo.Delete(usersFromRepo);
            if (await _repo.SaveAll())
            {
                return(NoContent());
            }
            return(BadRequest($"Failed To Delete User"));
        }
Example #5
0
        public async Task <IActionResult> GetVoters([FromQuery] VoterParams voterParams)
        {
            var userId       = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            var userFromRepo = await _repo.GetUser(userId);

            if (userFromRepo.OrganizationId > 0)
            {
                var orgFromRepo = await _repo.GetOrganization(userFromRepo.OrganizationId ?? default(int));

                voterParams.voterTypeId = orgFromRepo.VoterTypeId;
            }

            var voterFromRepo = await _repo.GetVoters(voterParams);

            var voterList = _mapper.Map <ICollection <VoterForReturnDto> > (voterFromRepo);

            Response.AddPagination(voterFromRepo.CurrentPage, voterFromRepo.PageSize, voterFromRepo.TotalCount, voterFromRepo.TotalPages);
            return(Ok(voterList));
        }
Example #6
0
        public async Task <PagedList <Voter> > GetVoters(VoterParams voterParamas)
        {
            var voters = _context.Voters.Include(v => v.VoterType).Include(v => v.VotingYears).Include(v => v.VoterType).AsQueryable();

            if (voterParamas.voterTypeId > 0)
            {
                voters = voters.Where(x => x.VoterTypeId == voterParamas.voterTypeId);
            }
            if (!string.IsNullOrEmpty(voterParamas.religion))
            {
                voters = voters.Where(x => x.Religion == (voterParamas.religion).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.politic))
            {
                voters = voters.Where(x => x.Politic == (voterParamas.politic).Trim());
            }
            if (voterParamas.code > 0)
            {
                voters = voters.Where(x => x.Code == voterParamas.code);
            }
            if (!string.IsNullOrEmpty(voterParamas.firstNameArabic))
            {
                voters = voters.Where(x => x.FirstNameArabic == (voterParamas.firstNameArabic).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.familyArabic))
            {
                voters = voters.Where(x => x.FamilyArabic == (voterParamas.familyArabic).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.fatherNameArabic))
            {
                voters = voters.Where(x => x.FatherNameArabic == (voterParamas.fatherNameArabic).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.subChapter))
            {
                voters = voters.Where(x => x.SubChapter == (voterParamas.subChapter).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.school))
            {
                voters = voters.Where(x => x.School.Contains((voterParamas.school).Trim()));
            }
            if (!string.IsNullOrEmpty(voterParamas.civilIdKadaa))
            {
                voters = voters.Where(x => x.CivilIdKadaa == (voterParamas.civilIdKadaa).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.civilIdMouhavaza))
            {
                voters = voters.Where(x => x.CivilIdMouhavaza == (voterParamas.civilIdMouhavaza).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.civilIdPlace))
            {
                voters = voters.Where(x => x.CivilIdPlace == (voterParamas.civilIdPlace).Trim());
            }
            if (!string.IsNullOrEmpty(voterParamas.civilIdRegion))
            {
                voters = voters.Where(x => x.CivilIdRegion == (voterParamas.civilIdRegion).Trim());
            }
            if (voterParamas.contacted != null)
            {
                voters = voters.Where(x => x.Contacted == voterParamas.contacted);
            }
            if (voterParamas.attend != null)
            {
                voters = voters.Where(x => x.Attend == voterParamas.attend);
            }
            if (voterParamas.abroad != null)
            {
                voters = voters.Where(x => x.Abroad == voterParamas.abroad);
            }
            if (voterParamas.referenceId > 0)
            {
                voters = voters.Where(x => x.ReferenceId == voterParamas.referenceId);
            }

            return(await PagedList <Voter> .CreatAsync(voters, voterParamas.PageNumber, voterParamas.PageSize));
        }