public async Task <ActionResult> AddCompany(Company model) { string message; using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://cloud-sse.iexapis.com"); var response = await client.GetAsync($"/stable/stock/{model.Symbol}/quote?token=pk_f7b30f305a8c4aef8eaec49711a8344e"); var stringResult = await response.Content.ReadAsStringAsync(); //var rawShare = JsonConvert.DeserializeObject<Bought>(stringResult); List <Company> companies = db.Companies.ToList(); List <string> symbols = new List <string>(); foreach (Company company in companies) { symbols.Add(company.Symbol); } if (!symbols.Contains(model.Symbol.ToUpper()) && !stringResult.Contains("Unknown")) { Company newCompany = new Company { Symbol = model.Symbol.ToUpper(), Name = model.Name }; db.Companies.Add(newCompany); db.SaveChanges(); message = "New company has been added!"; return(Ok(new { message })); } } message = "This company does not exist in this stock market!"; return(BadRequest(new { message })); }
public async Task <Object> DeleteAccount(UserModel model) { string userId = User.Claims.First(c => c.Type == "Id").Value; List <ApplicationUser> users = db.ApplicationUsers.Where(au => au.Id == userId).ToList(); if (users.Count() > 0) { Feedback feedback = new Feedback { Reason = model.Feedback }; db.Feedbacks.Add(feedback); ApplicationUser user = users[0]; List <Bought> boughts = db.Boughts.Where(b => b.AspNetUserId == userId).ToList(); foreach (Bought share in boughts) { db.Boughts.Remove(share); } List <Sold> solds = db.Solds.Where(b => b.AspNetUserId == userId).ToList(); foreach (Sold share in solds) { db.Solds.Remove(share); } db.ApplicationUsers.Remove(user); db.SaveChanges(); await signInManager.SignOutAsync(); string message = "We're sorry to see you go!"; return(Ok(new { message })); } else { return(BadRequest(new { message = "Failed. Please try again." })); } }