public async Task <bool> IncrementVotesNumAsync(bool isVoteGood) { try { using (var context = new ElectoralDatabase()) { var vote = context.Votes.Single(); if (isVoteGood) { vote.Valid_Votes++; } else { vote.Bad_Votes++; } context.Entry(vote).State = System.Data.Entity.EntityState.Modified; await context.SaveChangesAsync(); return(true); } } catch { return(false); } }
public Candidate GetCandidate(string name) { try { using (var context = new ElectoralDatabase()) return(context.Candidates.First(p => p.Name.ToLower() == name.ToLower())); } catch { return(null); } }
public Candidate GetCandidate(int id) { try { using (var context = new ElectoralDatabase()) return(context.Candidates.First(p => p.Id == id)); } catch { return(null); } }
public Person GetPerson(string pesel) { try { using (var context = new ElectoralDatabase()) return(context.Persons.SingleOrDefault(p => p.Pesel == pesel)); } catch { return(null); } }
private async Task ValidateDatabaseAsync() { await new TaskFactory().StartNew(() => { using (var context = new ElectoralDatabase()) { if (!context.Database.Exists()) { MessageBox.Show("Database dont exist! Build project with new App.config", "ERROR", MessageBoxButton.OK, MessageBoxImage.Error); Application.Current.Dispatcher.Invoke(() => Application.Current.Shutdown()); } } }); ShowLoginPage(); }
public async Task <LoginService> GetSession(string pesel) { try { using (var context = new ElectoralDatabase()) { var service = await Task.Run(() => context.LoginServices.FirstOrDefault(p => p.pesel == pesel)); return(service); } } catch { return(null); } }
public async Task <bool> CreatePersonAsync(Person person) { try { using (var context = new ElectoralDatabase()) { context.Persons.Add(person); context.Entry(person).State = System.Data.Entity.EntityState.Added; await context.SaveChangesAsync(); return(true); } } catch { return(false); } }
public async Task <StatsNonDb> GetStatsAsync() { try { using (var context = new ElectoralDatabase()) { var stats = new StatsNonDb(); var parties = context.Parties; await Task.Run(() => { parties.ToList().ForEach(p => { stats.Parties.Add(new PartyStatsNonDb() { Id = p.Id, Name = p.Name, VotesNum = p.Candidates.SelectMany(d => d.Persons).Count() }); stats.Candidates.AddRange(p.Candidates.Select(d => new CandidateStatsNonDb() { PartyId = d.PartyId, Name = d.Name, VotesNum = d.Persons.Count })); }); var votes = context.Votes.First(); stats.UnvalidVotesNun = votes.Bad_Votes; stats.ValidVotesNum = votes.Valid_Votes; stats.WithoutLawTries = votes.WithoutLaw_TriesNum; }); return(stats); } } catch { return(null); } }
public async Task <int?> GetCurrentTimestamp() { try { using (var context = new ElectoralDatabase()) { var dateTime = await context.Database.SqlQuery <DateTime>("SELECT GETDATE();").FirstOrDefaultAsync(); if (dateTime == null) { return(null); } return((int?)(dateTime.Subtract(new DateTime(1970, 1, 1))).TotalSeconds); } } catch { return(null); } }
public async Task <bool> IncrementPersonWithLawTriedToVote() { try { using (var context = new ElectoralDatabase()) { var vote = context.Votes.Single(); vote.WithoutLaw_TriesNum++; context.Entry(vote).State = System.Data.Entity.EntityState.Modified; await context.SaveChangesAsync(); return(true); } } catch { return(false); } }
public async Task <bool> UpdateSessionAsync(string pesel, string key, int timestamp) { try { using (var context = new ElectoralDatabase()) { var service = context.LoginServices.FirstOrDefault(p => p.pesel == pesel); if (service == null) { var loginService = new LoginService() { guid = key, timestamp = timestamp, pesel = pesel }; context.LoginServices.Add(loginService); context.Entry(loginService).State = System.Data.Entity.EntityState.Added; } else { service.timestamp = timestamp; service.guid = key; context.Entry(service).State = System.Data.Entity.EntityState.Modified; } await context.SaveChangesAsync(); return(true); } } catch { return(false); } }