public IActionResult Post([FromBody] Celebrity celebrity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var celebrityRepository = new CelebrityRepository(); var duplicate = celebrityRepository .GetByLastNameAndBirthYear(celebrity.LastName, celebrity.BirthYear); if (duplicate == null) { return(Ok(celebrityRepository.Add(celebrity))); } return(BadRequest("Celebrity already exists.")); } catch (Exception e) { AppSettings.Logger.Error($"Unable to connect to the database at: {AppSettings.Logger}"); AppSettings.Logger.Error($"The error was: {e.Message}"); return(StatusCode(500)); } }
public IActionResult MarkDead([FromBody] Celebrity celebrity) { try { var celebrityRepository = new CelebrityRepository(); var appInfoRepository = new AppInfoRepository(); var numLumensToPay = appInfoRepository.GetAppInfo().LumensRequired; var winnersToBePaid = celebrityRepository.MarkDead(celebrity).ToList(); if (!winnersToBePaid.Any()) { return(Ok()); } foreach (var address in winnersToBePaid) { SendPayment( address, numLumensToPay.ToString(CultureInfo.InvariantCulture), "You won in DeathRaffle!"); } return(Ok()); } catch (Exception e) { AppSettings.Logger.Error($"Unable to connect to the database at: {AppSettings.Logger}"); AppSettings.Logger.Error($"The error was: {e.Message}"); return(StatusCode(500)); } }
public IActionResult Get(long id) { try { var ticketRepository = new TicketRepository(); var ticket = ticketRepository.GetById(id); if (ticket == null) { return(NotFound()); } var celebrityRepository = new CelebrityRepository(); var celebrity = celebrityRepository.GetById(ticket.CelebrityId); if (celebrity == null) { return(NotFound()); } return(Ok(new TicketSearchResult { TicketId = ticket.Id, PoolId = ticket.PoolId, PlayerAddress = ticket.PlayerAddress, Celebrity = celebrity })); } catch (Exception e) { AppSettings.Logger.Error($"Unable to connect to the database at: {AppSettings.Logger}"); AppSettings.Logger.Error($"The error was: {e.Message}"); return(StatusCode(500)); } }
public IActionResult Get(int id) { try { var celebrityRepository = new CelebrityRepository(); return(Ok(celebrityRepository.GetById(id))); } catch (Exception e) { AppSettings.Logger.Error($"Unable to connect to the database at: {AppSettings.Logger}"); AppSettings.Logger.Error($"The error was: {e.Message}"); return(StatusCode(500)); } }
public IActionResult Update([FromBody] Celebrity celebrity) { try { var celebrityRepository = new CelebrityRepository(); celebrityRepository.Update(celebrity); return(Ok()); } catch (Exception e) { AppSettings.Logger.Error($"Unable to connect to the database at: {AppSettings.Logger}"); AppSettings.Logger.Error($"The error was: {e.Message}"); return(StatusCode(500)); } }
public CelebrityModel Get(int id) { CelebrityModel celebrity; var celebrityRepository = new CelebrityRepository(); if (id > 0) { var celebrities = celebrityRepository.Retrieve(); celebrity = celebrities.FirstOrDefault(p => p.Id == id); } else { celebrity = celebrityRepository.Create(); } return(celebrity); }
public void Post([FromBody] CelebrityModel celebrity) { var celebrityRepository = new CelebrityRepository(); var newCelebrity = celebrityRepository.Save(celebrity); }
public List <CelebrityModel> Get() { var celebrityRepository = new CelebrityRepository(); return(celebrityRepository.Retrieve()); }
public void Put(int id, [FromBody] CelebrityModel celebrity) { var celebrityRepository = new CelebrityRepository(); var updatedProduct = celebrityRepository.Save(id, celebrity); }
public void Delete(int id) { var celebrityRepository = new CelebrityRepository(); celebrityRepository.Delete(id); }
private static void Main() { DatabaseUtils.ConfigureDatabase(); var celebrityRepository = new CelebrityRepository(); //var celebs = celebrityRepository.GetAll().Reverse(); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json")); client.DefaultRequestHeaders.Add("User-Agent", ".NET Foundation Repository Reporter"); var celebs = File.ReadLines("/home/joshua/Desktop/DeathRaffle/not_found.txt"); Console.WriteLine(celebs); foreach (var celeb in celebs) { if (string.IsNullOrEmpty(celeb)) { continue; } var item = celeb.Trim(); var stringTask = client.GetStringAsync($"https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles={item}"); var msg = stringTask.Result; Console.WriteLine(msg); if (msg.Contains("death_date={{") || msg.Contains("{{Death date and")) { var split = item.Split(" "); var entity = celebrityRepository .GetAll() .Where(p => p.LastName == split[1] && p.FirstName == split[0]) .Select(p => p) .First(); entity.Dead = true; celebrityRepository.Update(entity); Console.WriteLine($"{celeb} has been marked dead"); } else if (msg.Contains("\"-1\":")) { using (var writetext = new StreamWriter("/home/joshua/Desktop/DeathRaffle/not_found2.txt", true)) { writetext.WriteLine($"{celeb}"); writetext.WriteLine(); Console.WriteLine($"No record found for ID: {celeb}"); } } else if (msg.Contains("|death_date ") || msg.Contains("|death_date =\\n|")) { Console.WriteLine($"{celeb} is ALIVE!"); } else if (msg.Contains("{{Birth date") && !msg.Contains("death")) { Console.WriteLine($"{celeb} is ALIVE!"); } else if (msg.Contains("| birth_date ") && !msg.Contains("death_date={{")) { Console.WriteLine($"{celeb} is ALIVE!"); } else { using (var writetext = new StreamWriter("/home/joshua/Desktop/DeathRaffle/not_found2.txt", true)) { writetext.WriteLine($"{celeb}"); writetext.WriteLine(); Console.WriteLine($"Something else happened!?: {celeb}"); } } // var b = new BrowserSession(); // b.Get("http://www.deadoraliveinfo.com/dead.nsf/Search?OpenForm&x=nf"); // b.FormElements["Query"] = $"{celeb.FirstName} {celeb.LastName}"; // b.FormElements["Sex"] = "b"; // var response = b.Post("http://www.deadoraliveinfo.com/dead.nsf/44ed9b7d682bef2e8525706a0061508d!CreateDocument"); // if (response.Contains("No documents match your search criteria")) // { // Console.WriteLine($"No record found for ID: {celeb.Id} - {celeb.FirstName} {celeb.LastName}"); // using(var writetext = new StreamWriter("/var/www/not_found.txt", true)) // { // writetext.WriteLine($"No record found for ID: {celeb.Id} - {celeb.FirstName} {celeb.LastName}"); // writetext.WriteLine(); // } // } // else if (response.Contains("<img src=\"/images/alive-record.gif\"")) // { // Console.WriteLine($"{celeb.FirstName} {celeb.LastName} is alive!"); // celeb.Dead = false; // celebrityRepository.Update(celeb); // } // else if (response.Contains("<img src=\"/images/dead-record.gif\"")) // { // Console.WriteLine($"{celeb.FirstName} {celeb.LastName} is DEAD!"); // celeb.Dead = true; // celebrityRepository.Update(celeb); // } // else // { // Console.WriteLine(response); // } // // Console.WriteLine(""); // var doc = new HtmlDocument(); // try // { // var web = new HtmlWeb(); // doc = web.Load(url); // } // catch (Exception e) // { // Console.WriteLine("Web call timed out, continuing anyway."); // } // try // { // var deadNode = doc.DocumentNode // .Descendants("div") // .SingleOrDefault(d => d.Attributes.Contains("class") // && d.Attributes["class"].Value.Contains("row main-stats")); // // var isDead = deadNode != null && deadNode.InnerText.Contains("DEATH DATE"); // // if (deadNode != null && isDead == false) // { // var birthNode = doc.DocumentNode // .Descendants("div") // .First(d => d.Attributes.Contains("class") // && d.Attributes["class"].Value.Contains("stat box")); // // var birthFrom = birthNode.InnerText.IndexOf(",", StringComparison.Ordinal) + 2; // var birthTo = birthNode.InnerText.IndexOf(",", StringComparison.Ordinal) + 6; // var birthText = birthNode.InnerText.Substring(birthFrom, birthTo - birthFrom); // // var aboutNode = doc.DocumentNode // .Descendants("div") // .Single(d => d.Attributes.Contains("class") // && d.Attributes["class"].Value.Contains("bio col-sm-7 col-md-8 col-lg-6")); // // var aboutFrom = aboutNode.InnerText.IndexOf(".html\">", StringComparison.Ordinal) + // ".html\">".Length; // var aboutTo = aboutNode.InnerText.IndexOf("Before Fame", StringComparison.Ordinal); // var aboutText = aboutNode.InnerText.Substring(aboutFrom, aboutTo - aboutFrom) // .Replace("\n", string.Empty); // // var humanName = new FullNameParser(celeb.Name); // humanName.Parse(); // // celebrityRepository.Add(new Celebrity() // { // BirthYear = int.Parse(birthText), // Dead = false, // FirstName = humanName.FirstName, // LastName = humanName.LastName, // MiddleName = humanName.MiddleName, // Suffix = humanName.Suffix, // Country = celeb.Country.ToUpper(), // Description = aboutText // }); // Console.WriteLine($"Added {celeb.Name}"); // } // } // catch // { // Console.WriteLine($"{celeb.Name} NOT FOUND"); // } } }