public async Task <OperationResult> CreatePortfolio(string name, int userId) { var portfolio = new Core.Entities.Finance.Portfolio() { Name = name, UserId = userId }; var containsSameNamePortfolio = await _financeData.EfContext.Portfolios.AnyAsync(p => p.Name == name && p.UserId == userId); if (containsSameNamePortfolio) { return(new OperationResult() { IsSuccess = false, Message = "Порфель с таким именем у Вас уже существует" }); } await _financeData.EfContext.Portfolios.AddAsync(portfolio); await _financeData.EfContext.SaveChangesAsync(); return(new OperationResult() { IsSuccess = true, Message = $"Портфель {name} создан успешно" }); }
private OperationResult CommonValidate(int portfolioId, int userId, Core.Entities.Finance.Portfolio portfolio) { var validationResult = CommonValidate <int>(portfolioId, userId, portfolio); if (validationResult == null) { return(null); } return(new OperationResult() { Message = validationResult.Message, IsSuccess = validationResult.IsSuccess }); }
private OperationResult <TResult> CommonValidate <TResult>(int portfolioId, int userId, Core.Entities.Finance.Portfolio portfolio) { if (portfolio == null) { return(new OperationResult <TResult>() { IsSuccess = false, Message = $"Портфель с id={portfolioId} не найден" }); } if (portfolio.UserId != userId) { return(new OperationResult <TResult>() { IsSuccess = false, Message = $"Портфель с id={portfolioId} вам не принадлежит" }); } return(null); }
private static bool CommonValidate(int price, int amount, AssetType assetType, Core.Entities.Finance.Portfolio portfolio, out string message) { if (assetType == null) { message = "Тип актива не найден"; return(false); } if (portfolio == null) { message = "Портфель не найден"; return(false); } if (price < 0 || amount <= 0) { message = "Некорректные данные"; return(false); } message = ""; return(true); }