public static ResultsPair <LocalCoins.Portfolio> UpdatePortfolio(int portfolioId, string portfolioName, Types.PortfolioDisplayType displayType, bool isDefault) { try { using (PegasunDBContext db = new PegasunDBContext()) { Portfolios portfolio = db.Portfolios.FirstOrDefault(x => x.PortfolioId == portfolioId); if (portfolio != null) { portfolio.Name = portfolioName.Clean(new[] { Types.CleanInputType.AZ09CommonCharsSM }); portfolio.DisplayType = (short)displayType; portfolio.IsDefault = isDefault; db.Update(portfolio); db.SaveChanges(); } return(ResultsPair.Create(ResultsItem.Success("Successfully updated portfolio name."), portfolio.Adapt <LocalCoins.Portfolio>())); } } catch (Exception ex) { Utilities.LogException(new[] { "UpdatePortfolio", $"portfolioId:{portfolioId},portfolioName:{portfolioName}" }, ex); return(ResultsPair.CreateError <LocalCoins.Portfolio>($"Unable to update portfolio. {ex.Message}")); } }
public static async Task <ResultsItem> UpdateUserCoinAsync(LocalCoins.CryptoCoin coin) { try { using (PegasunDBContext db = new PegasunDBContext()) { Coins serviceCoin = db.Coins.FirstOrDefault(x => x.CoinId == coin.CoinId); if (serviceCoin == null) { return(ResultsItem.Error("This coin was not found.")); } serviceCoin.Shares = coin.Shares; serviceCoin.CoinCurrency = (short)coin.CoinCurrency; serviceCoin.PricePerUnit = coin.PricePerUnit; serviceCoin.TotalPricePaidUsd = coin.TotalPricePaidUSD; serviceCoin.Exchange = (short)coin.Exchange; serviceCoin.OrderType = (short)coin.OrderType; serviceCoin.OrderDate = coin.OrderDate; serviceCoin.SoldCoinCurrency = (short)coin.SoldCoinCurrency; serviceCoin.SoldPricePerUnit = coin.SoldPricePerUnit; serviceCoin.TotalSoldPricePaidUsd = coin.TotalSoldPricePaidUSD; db.Update(serviceCoin); await db.SaveChangesAsync(); } return(ResultsItem.Success("Successfully updated coin.")); } catch (Exception ex) { Utilities.LogException(new[] { "UpdateUserCoinAsync", $"coinId:{coin.CoinId},portfolioId:{coin.PortfolioId}" }, ex); return(ResultsItem.Error($"Unable to updated coin. {ex.Message}")); } }