public async Task <IActionResult> AddTabacoToWorkStock(AddTabacoToWorkStock details) { //добавить вылезающие ошибки при вводе некоректной инфи AppUser user = await userManager.FindByNameAsync(User.Identity.Name); Company companyUser = userCompanyRepository.CompanyToUser(user.Id); CompanyStock companyStock = companyStockRepository.DisplayCompanyStock(companyUser) .Where(p => p.Id == details.SelectedCompanyStock).FirstOrDefault(); if (companyStock.TabacoCount > details.CountTabacoPack) { companyStock.TabacoCount -= details.CountTabacoPack; companyStockRepository.EditCompanyStock(companyStock); workStockRepository.AddWorkStock(new WorkStock { Company = companyStock.Company, NameTabaco = companyStock.TabacoName, TabacoWeigh = details.TabacoWeigth, Data = DateTime.Now, HookahMaster = User.Identity.Name, CountTabacoPack = details.CountTabacoPack, BundleTabacoWeigh = companyStock.TabacoBundleWeigh }); } return(RedirectToAction("ShowWorkStock", "Display")); }
public async Task <IActionResult> EditWorkStock(EditWorkStockView details) { AppUser user = await userManager.FindByNameAsync(User.Identity.Name); Company companyUser = userCompanyRepository.CompanyToUser(user.Id); WorkStock workStock = workStockRepository.DisplayWorkStock(companyUser).Where(p => p.Id == details.SelectedWorkStock). FirstOrDefault(); Tabaco tabaco = tabacosRepository.Tabacos.Where(x => x.Id == details.TabacoId).FirstOrDefault(); CompanyStock companyStock = companyStockRepository.DisplayCompanyStock(companyUser) .Where(p => string.Equals(p.TabacoName, workStock.NameTabaco) && p.TabacoBundleWeigh == workStock.BundleTabacoWeigh) .FirstOrDefault(); CompanyStock newCompanyStock = companyStockRepository.DisplayCompanyStock(companyUser).Where(p => string.Equals(p.TabacoName, tabaco.Name) && p.TabacoBundleWeigh == tabaco.NominalWeigth).FirstOrDefault(); if (workStock != null && companyStock != null && newCompanyStock != null) { workStockRepository.DeleteWorkStock(workStock); workStockRepository.AddWorkStock(new WorkStock { Company = companyUser, NameTabaco = tabaco.Name, BundleTabacoWeigh = tabaco.NominalWeigth, CountTabacoPack = details.CountTabacoPack, TabacoWeigh = details.TabacoWeigth, Data = DateTime.Now, HookahMaster = User.Identity.Name }); companyStock.TabacoCount = companyStock.TabacoCount + workStock.CountTabacoPack; companyStockRepository.EditCompanyStock(companyStock); newCompanyStock.TabacoCount -= details.CountTabacoPack; companyStockRepository.EditCompanyStock(newCompanyStock); } return(RedirectToAction("ShowWorkStock", "Display")); }
public static void Execute() { using (var client = new HttpClient()) { var gaResponse = client.GetAsync(GlobalConfig.TickerURL); var response = gaResponse.Result.Content.ReadAsStringAsync(); string result = response.Result; var rows = result.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries) .Skip(1) .ToList(); var companies = new List <CompanyStock>(); foreach (var row in rows) { //Console.WriteLine(row); var columns = Utilities.SplitCSV(row); var companyStock = new CompanyStock() { CompanyName = columns[0], StockCode = (columns[1].Split(':')[0] ?? string.Empty).Replace("\"", ""), Market = columns[1].Split(':')[1], ISINCode = columns[2], HPShortName = columns[3], }; companies.Add(companyStock); } var stockCodes = companies.Select(c => c.StockCode).ToList(); CreateStockCodeSheet(stockCodes); } }
public RedirectToRouteResult GetStockPriceByCompanyID(int companyId) { Company company = db.Companies.Find(companyId); if (company.CompanyStocks.Where(x => x.stockTime.Value.Date == DateTime.Now.Date).Any()) { return(RedirectToAction("Index")); } HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseURL + "stock/" + company.companySymbol + "/quote"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = client.GetAsync("").Result; if (response.IsSuccessStatusCode) { string strResponse = response.Content.ReadAsStringAsync().Result; string strOpenPrice = ""; int index = strResponse.IndexOf(",\"openTime\"") - 1; for (; Char.IsDigit(strResponse[index]) || strResponse[index] == '.'; index--) { strOpenPrice = strResponse[index] + strOpenPrice; } decimal openPrice; if (!Decimal.TryParse(strOpenPrice, out openPrice)) { openPrice = -1; } CompanyStock stockOpenPrice = new CompanyStock(); stockOpenPrice.companyId = companyId; stockOpenPrice.stockTime = DateTime.Now; stockOpenPrice.stockPrice = openPrice; stockOpenPrice.isOpen = true; db.CompanyStocks.Add(stockOpenPrice); db.Entry(stockOpenPrice).State = EntityState.Added; db.SaveChanges(); } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); } client.Dispose(); return(RedirectToAction("Details", new { id = companyId })); }
public async Task <IActionResult> EditStock(EditStockView det) { AppUser user = await userManager.FindByNameAsync(User.Identity.Name); Company company = userCompanyRepository.CompanyToUser(user.Id); Tabaco tabaco = tabacosRepository.Tabacos.Where(p => p.Id == det.TabacoId).FirstOrDefault(); CompanyStock companyStock = companyStockRepository.DisplayCompanyStock(company) .Where(p => p.Id == det.SelectedCompanyStock).FirstOrDefault(); if (companyStock != null && tabaco != null) { companyStock.TabacoName = tabaco.Name; companyStock.TabacoBundleWeigh = tabaco.NominalWeigth; companyStock.TabacoCount = det.CountTabacoPack; companyStockRepository.EditCompanyStock(companyStock); } return(RedirectToAction("ShowStock", "Display")); }
public async Task <IActionResult> WriteOff(AddTabacoToWorkStock det) { AppUser user = await userManager.FindByNameAsync(User.Identity.Name); Company company = userCompanyRepository.CompanyToUser(user.Id); CompanyStock companyStock = companyStockRepository.DisplayCompanyStock(company) .Where(p => p.Id == det.SelectedCompanyStock).FirstOrDefault(); workStockRepository.AddWorkStock(new WorkStock { Company = company, NameTabaco = companyStock.TabacoName, TabacoWeigh = -det.TabacoWeigth, Data = DateTime.Now, HookahMaster = User.Identity.Name }); return(RedirectToAction("ShowWorkStock", "Display")); }
public async Task <IActionResult> RegistCompany(ViewRegistrCompany details) { Company company = new Company { Name = details.CompanyName }; companyRepository.Add(company); CompanyStock companyStock = new CompanyStock { Company = company, TabacoName = details.TabacoNameSt, TabacoBundleWeigh = details.TabacoBundleWeithSt, TabacoCount = details.TabacoCountSt }; companyStockRepository.AddCompStock(companyStock); WorkStock workStock = new WorkStock { Company = company, NameTabaco = details.WSTabacoName, TabacoWeigh = details.WSTabacoWeigth, HookahMaster = User.Identity.Name }; workStockRepository.AddWorkStock(workStock); AppUser appUser = await userManager.FindByNameAsync(details.UserName); if (appUser != null) { UserCompany userCompany = new UserCompany { Company = company, UserId = appUser.Id }; userCompanyRepository.AddUserCompany(userCompany); } return(RedirectToAction("RegisterUser", "Account")); }
public async Task <IActionResult> AddTabacoToStock(ViewAddTabacoToStockList details) { AppUser user = await userManager.FindByNameAsync(User.Identity.Name); Company companyUser = userCompanyRepository.CompanyToUser(user.Id); List <CompanyStock> data = new List <CompanyStock>(); if (details != null) { foreach (ViewAddTabacoToStock det in details.tabacoToStocks) { Tabaco tabaco = tabacosRepository.Tabacos.Where(p => p.Id == det.TabacoId).FirstOrDefault(); CompanyStock repitCompStock = companyStockRepository.DisplayCompanyStock(companyUser).Where( p => String.Equals(p.TabacoName, tabaco.Name, StringComparison.OrdinalIgnoreCase) && p.TabacoBundleWeigh == tabaco.NominalWeigth).FirstOrDefault(); if (repitCompStock != null) { repitCompStock.TabacoCount += det.TabacoCount; companyStockRepository.EditCompanyStock(repitCompStock); } else { if (tabaco.Name != null) { data.Add(new CompanyStock { TabacoName = tabaco.Name, TabacoBundleWeigh = tabaco.NominalWeigth, TabacoCount = det.TabacoCount, Company = companyUser, }); } } } companyStockRepository.AddCompStocks(data); } return(RedirectToAction("ShowStock", "Display")); }
/// <summary> /// CrossCheck was created to test for duplicate tickers. /// </summary> public static void CrossCheck() { List <string> rows = null; using (var client = new HttpClient()) { string url = GlobalConfig.TickerURL; var gaResponse = client.GetAsync(url); var response = gaResponse.Result.Content.ReadAsStringAsync(); rows = response.Result.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries) .Skip(1) .ToList(); } var companies = new List <CompanyStock>(); foreach (var row in rows) { //Console.WriteLine(row); var columns = Utilities.SplitCSV(row); var companyStock = new CompanyStock() { CompanyName = columns[0], StockCode = (columns[1].Split(':')[0] ?? string.Empty).Replace("\"", "").ToUpper(), Market = columns[1].Split(':')[1], ISINCode = columns[2], HPShortName = columns[3], }; companies.Add(companyStock); } var stockCodesSGX = companies.Select(c => c.StockCode).ToList(); rows = null; using (var client = new HttpClient()) { string url = GlobalConfig.XtraTickerURL; var gaResponse = client.GetAsync(url); var response = gaResponse.Result.Content.ReadAsStringAsync(); rows = response.Result.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries) .Skip(1) .ToList(); } companies = new List <CompanyStock>(); foreach (var row in rows) { //Console.WriteLine(row); var columns = Utilities.SplitCSV(row); var companyStock = new CompanyStock() { CompanyName = columns[2], StockCode = (columns[1] ?? string.Empty).Replace("\"", "").ToUpper(), Market = columns[0] }; companies.Add(companyStock); } foreach (var item in companies) { if (stockCodesSGX.Contains(item.StockCode)) { Console.WriteLine(item.StockCode); } } }