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)); }
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)); }
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)); }
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")); }
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)); }
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)); }