Beispiel #1
0
        public async Task <bool> CreateCompanyHoldingAsync(CompanyHolding companyHolding)
        {
            try
            {
                _context.CompaniesHoldings.Add(companyHolding);
                await _context.SaveChangesAsync();

                return(true);
            }
            catch (Exception)
            {
                //Error handle
                return(false);
            }
        }
Beispiel #2
0
        public async Task <bool> UpdateCompanyHoldingAsync(CompanyHolding companyHolding, int holding)
        {
            try
            {
                companyHolding.Holding = holding;
                await _context.SaveChangesAsync();

                return(true);
            }
            catch (Exception)
            {
                //Error handle
                return(false);
            }
        }
 private CompanyHoldingVM MapToViewModel(CompanyHolding companyHolding)
 {
     try
     {
         return(new CompanyHoldingVM()
         {
             CompanyID = companyHolding.CompanyID,
             Holding = companyHolding.Holding.ToString()
         });
     }
     catch (Exception)
     {
         //Error handle
         return(null);
     }
 }
Beispiel #4
0
        public static List <CompanyHolding> MapCompaniesHoldings(HtmlDocument doc)
        {
            int num       = 0;
            var tableData = GetAllTableResults(doc);
            int rows      = tableData.Count;
            List <CompanyHolding> holdings = new List <CompanyHolding>();

            while (num < rows)
            {
                new CompanyHolding {
                };
                String         stockName   = tableData[1 + num].InnerText.Substring(tableData[1 + num].InnerText.IndexOf('-') + 2, tableData[1 + num].InnerText.Length - tableData[1 + num].InnerText.IndexOf('-') - 2);
                CompanyHolding newHoldings = new CompanyHolding();
                newHoldings.Ticker             = tableData[1 + num].InnerText.Substring(0, tableData[1 + num].InnerText.IndexOf('-') - 1);
                newHoldings.StockName          = stockName.Replace("'", "");
                newHoldings.PercentOfPortfolio = Double.Parse(tableData[2 + num].InnerText);
                newHoldings.NumberOfShares     = Int32.Parse(tableData[3 + num].InnerText.Replace(",", ""));
                newHoldings.RecentActivity     = tableData[4 + num].InnerText;
                // newHoldings.RecentActivity = tableData[4 + num].InnerText;
                String[] Activity = tableData[4 + num].InnerText.Split(" ");

                if (Activity[0].Equals(" ") || Activity[0].Equals(""))
                {
                    newHoldings.RecentActivity   = "Same";
                    newHoldings.ChangePercentage = 0;
                }
                else if (Activity[0].Equals("Buy"))
                {
                    newHoldings.RecentActivity   = "Buy";
                    newHoldings.ChangePercentage = 0;
                }
                else
                {
                    newHoldings.RecentActivity   = Activity[0];
                    newHoldings.ChangePercentage = Double.Parse(Activity[1].TrimEnd('%'));
                }
                newHoldings.ReportedPrice = Double.Parse(tableData[5 + num].InnerText.Substring(1, tableData[5 + num].InnerText.Length - 1));
                newHoldings.Value         = Double.Parse(tableData[6 + num].InnerText.Substring(1, tableData[6 + num].InnerText.Length - 1));
                newHoldings.DateRecorded  = "";
                newHoldings.DatePulled    = "";
                num = num + 7;
                holdings.Add(newHoldings);
            }
            return(holdings);
        }
        // 1. Create new company holding if not exists
        // 2. Update company holding if already exists
        public async Task <bool> SaveCompanyHolding(CompanyHolding companyHolding)
        {
            try
            {
                var responseCompanyHolding = await _companyHoldingRepository.GetCompanyHoldingAsync(companyHolding.UserID, companyHolding.CompanyID);

                if (responseCompanyHolding == null)
                {
                    return(await _companyHoldingRepository.CreateCompanyHoldingAsync(companyHolding));
                }
                else
                {
                    return(await _companyHoldingRepository.UpdateCompanyHoldingAsync(responseCompanyHolding, companyHolding.Holding));
                }
            }
            catch (Exception)
            {
                //Error handle
                return(false);
            }
        }