public async Task <GenericPager <StateDto> > GetAllStates(string filterBy, int page, int recordsByPage) { var information = new GenericPager <StateDto>(); information.ActualPage = page; information.RecordsByPage = recordsByPage; if (string.IsNullOrEmpty(filterBy)) { information.Results = await ( from s in _context.States join c in _context.Countries on s.CountryId equals c.Id select new StateDto { StateName = s.StateName, StateId = s.Id, CountryId = c.Id, CountryName = c.CountryName }) .Skip((page - 1) * recordsByPage) .Take(recordsByPage) .ToListAsync(); information.TotalRecords = _context.States.Count(); information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } else { information.Results = await ( from s in _context.States join c in _context.Countries on s.CountryId equals c.Id where s.StateName.Contains(filterBy) select new StateDto { StateName = s.StateName, StateId = s.Id, CountryId = c.Id, CountryName = c.CountryName }) .ToListAsync(); information.TotalRecords = information.Results.Count(); information.Results = information.Results.Skip((page - 1) * recordsByPage).Take(recordsByPage).ToList(); // para la paginacion information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } return(information); }
public async Task <GenericPager <PoliticalPartyDto> > GetAllPoliticalParties(string filterBy, int page, int recordsByPage) { var information = new GenericPager <PoliticalPartyDto>(); information.ActualPage = page; information.RecordsByPage = recordsByPage; if (string.IsNullOrEmpty(filterBy)) { information.Results = await _context.PoliticalParties .Skip((page - 1) *recordsByPage) .Take(recordsByPage) .Select(p => new PoliticalPartyDto { Abreviation = p.Abreviation, Id = p.Id, PoliticalPartyName = p.PoliticalPartyName, ImageUrl = p.ImageUrl }) .ToListAsync(); information.TotalRecords = _context.PoliticalParties.Count(); information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } else { information.Results = await _context.PoliticalParties .Skip((page - 1) *recordsByPage) .Take(recordsByPage) .Where(u => u.Abreviation.Contains(filterBy) || u.PoliticalPartyName.Contains(filterBy)) .Select(p => new PoliticalPartyDto { Abreviation = p.Abreviation, Id = p.Id, PoliticalPartyName = p.PoliticalPartyName, ImageUrl = p.ImageUrl }) .ToListAsync(); information.TotalRecords = information.Results.Count(); information.Results = information.Results.Skip((page - 1) * recordsByPage).Take(recordsByPage).ToList(); // para la paginacion information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } return(information); }
public async Task <GenericPager <OptionDto> > GetAllOptions(string filterBy, int page, int recordsByPage) { var information = new GenericPager <OptionDto>(); information.ActualPage = page; information.RecordsByPage = recordsByPage; if (string.IsNullOrEmpty(filterBy)) { information.Results = await _context.Options .Skip((page - 1) *recordsByPage) .Take(recordsByPage) .Select(o => new OptionDto { OptionDescription = o.OptionDescription, OptionName = o.OptionName, Id = o.Id }) .ToListAsync(); information.TotalRecords = _context.Options.Count(); information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } else { information.Results = await _context.Options .Skip((page - 1) *recordsByPage) .Take(recordsByPage) .Where(o => (o.OptionName.Contains(filterBy) || o.OptionDescription.Contains(filterBy))) .Select(o => new OptionDto { OptionDescription = o.OptionDescription, OptionName = o.OptionName, Id = o.Id }) .ToListAsync(); information.TotalRecords = information.Results.Count(); information.Results = information.Results.Skip((page - 1) * recordsByPage).Take(recordsByPage).ToList(); // para la paginacion information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } return(information); }
public async Task <GenericPager <CandidateDto> > GetAllCandidates(string filterBy, int page, int recordsByPage) { var information = new GenericPager <CandidateDto>(); information.ActualPage = page; information.RecordsByPage = recordsByPage; if (string.IsNullOrEmpty(filterBy)) { information.Results = await ( from c in _context.Candidates join p in _context.PoliticalParties on c.PoliticalPartyId equals p.Id where c.Status == true select new CandidateDto { FirstName = c.FirstName, Surname = c.Surname, LastName = c.LastName, MiddleName = c.MiddleName, PoliticalPartyId = c.PoliticalPartyId, PoliticalPartyName = p.PoliticalPartyName, Id = c.Id, }) .Skip((page - 1) * recordsByPage) .Take(recordsByPage) .ToListAsync(); information.TotalRecords = _context.Candidates.Count(); information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } else { information.Results = await ( from c in _context.Candidates join p in _context.PoliticalParties on c.PoliticalPartyId equals p.Id where c.FirstName.Contains(filterBy) || c.LastName.Contains(filterBy) || c.MiddleName.Contains(filterBy) || c.Surname.Contains(filterBy) && c.Status == true select new CandidateDto { FirstName = c.FirstName, Surname = c.Surname, LastName = c.LastName, MiddleName = c.MiddleName, PoliticalPartyId = c.PoliticalPartyId, PoliticalPartyName = p.PoliticalPartyName, Id = c.Id, }) .ToListAsync(); information.TotalRecords = information.Results.Count(); information.Results = information.Results.Skip((page - 1) * recordsByPage).Take(recordsByPage).ToList(); // para la paginacion information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } return(information); }
public async Task <GenericPager <VotationDto> > GetAllVotation(string filterBy, int page, int recordsByPage) { var information = new GenericPager <VotationDto>(); information.ActualPage = page; information.RecordsByPage = recordsByPage; if (string.IsNullOrEmpty(filterBy)) { information.Results = await(from v in _context.Votations join t in _context.VotationTypes on v.VotationTypeId equals t.Id join c in _context.Cities on v.CityId equals c.Id select new VotationDto { Id = v.Id, VotationDescription = v.VotationDescription, VotationTypeId = t.Id, VotationTypeName = t.VotationTypeName, VotationEndDate = v.VotationEndDate, VotationStartDate = v.VotationStartDate, VotationStatus = v.VotationStatus, CityId = c.Id, CityName = c.CityName }) .Skip((page - 1) * recordsByPage) .Take(recordsByPage) .ToListAsync(); information.TotalRecords = _context.Votations.Count(); information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } else { information.Results = await(from v in _context.Votations join t in _context.VotationTypes on v.VotationTypeId equals t.Id join c in _context.Cities on v.CityId equals c.Id where v.VotationDescription.Contains(filterBy) select new VotationDto { Id = v.Id, VotationDescription = v.VotationDescription, VotationTypeId = t.Id, VotationTypeName = t.VotationTypeName, VotationEndDate = v.VotationEndDate, VotationStartDate = v.VotationStartDate, VotationStatus = v.VotationStatus, CityId = c.Id, CityName = c.CityName }) .Skip((page - 1) * recordsByPage) .Take(recordsByPage) .ToListAsync(); information.TotalRecords = information.Results.Count(); information.Results = information.Results.Skip((page - 1) * recordsByPage).Take(recordsByPage).ToList(); // para la paginacion information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } // para agregar los candidatos a cada votacion de la lista if (information.Results != null || information.Results.Count == 0) { for (int i = 0; i < information.Results.Count; i++) { information.Results[i].Candidates = (from vd in _context.VotationDetail join c in _context.Candidates on vd.CandidateId equals c.Id join p in _context.PoliticalParties on c.PoliticalPartyId equals p.Id where vd.VotationId == information.Results[i].Id select new CandidateDto { FirstName = c.FirstName, Surname = c.Surname, LastName = c.LastName, MiddleName = c.MiddleName, PoliticalPartyId = c.PoliticalPartyId, PoliticalPartyName = p.PoliticalPartyName, Id = c.Id, PoliticalPartyImageUrl = p.ImageUrl }).ToList(); } } return(information); }
public async Task <GenericPager <UserDto> > GetAllUser(string filterBy, int page, int recordsByPage) { var information = new GenericPager <UserDto>(); information.ActualPage = page; information.RecordsByPage = recordsByPage; if (string.IsNullOrEmpty(filterBy)) { information.Results = await _context.Users .Skip((page - 1) *recordsByPage) .Take(recordsByPage) .Where(u => u.Status == true) .Select(u => new UserDto { Email = u.Email, Names = u.Names, Identification = u.Identification, LastNames = u.LastNames, Status = u.Status, Id = u.Id }) .ToListAsync(); information.TotalRecords = _context.Users.Count(); information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } else { information.Results = await _context.Users .Skip((page - 1) *recordsByPage) .Take(recordsByPage) .Where(u => (u.Names.Contains(filterBy) || u.LastNames.Contains(filterBy) || u.Identification.Contains(filterBy)) && u.Status == true) .Select(u => new UserDto { Email = u.Email, Names = u.Names, Identification = u.Identification, LastNames = u.LastNames, Status = u.Status, Id = u.Id }) .ToListAsync(); information.TotalRecords = information.Results.Count(); information.Results = information.Results.Skip((page - 1) * recordsByPage).Take(recordsByPage).ToList(); // para la paginacion information.TotalPages = information.TotalRecords != 0 ? (int)Math.Ceiling((double)information.TotalRecords / recordsByPage) : 0; information.Next = page < information.TotalPages; information.Previous = page > 1; } return(information); }