public VarlikResult Save(UserTransactionLogDto userCoinTransactionLogDto) { if (userCoinTransactionLogDto == null) { var result = new VarlikResult(); result.Status = ResultStatus.MissingRequiredParamater; return(result); } var saveResult = _userCoinTransactionLogOperation.Save(userCoinTransactionLogDto); if (saveResult.IsSuccess) { var listR = GetLastTwoTransactionsByIdCoinType(userCoinTransactionLogDto.IdCoinType); if (listR.IsSuccess && listR.Data.Count >= 2) { PriceDto priceDto = new PriceDto(); priceDto.IdCoinType = userCoinTransactionLogDto.IdCoinType; priceDto.CoinUnitPrice = listR.Data[0].CoinUnitPrice; if (listR.Data[0].CoinUnitPrice > listR.Data[1].CoinUnitPrice) { priceDto.IsIncreasing = true; } else { priceDto.IsIncreasing = false; } CoinPricePublisher coinPricePublisher = new CoinPricePublisher(); coinPricePublisher.PublishPrice(priceDto); } } return(saveResult); }
public VarlikResult <List <UserTransactionLogDto> > GetAll(long idUser, int limit, int offset) { var result = new VarlikResult <List <UserTransactionLogDto> >(); using (var ctx = new VarlikContext()) { var fromEntity = new UserTransactionLogDto().FromEntity().Expand(); result.Data = ctx.UserCoinTransactionLog .AsExpandable() .Where(l => l.IdUser == idUser) .OrderBy(l => l.Id) .Take(limit) .Skip(offset) .Select(fromEntity) .ToList(); result.Success(); } return(result); }
public VarlikResult Save(UserTransactionLogDto userCoinTransactionLogDto) { var result = new VarlikResult(); using (var ctx = new VarlikContext()) { var entity = userCoinTransactionLogDto.ToEntity(userCoinTransactionLogDto); var persistent = ctx.UserCoinTransactionLog.Add(entity); try { ctx.SaveChanges(); result.Success(); result.ObjectId = persistent.Id; } catch (Exception e) { Log.Error("Save", e); } } return(result); }
public VarlikResult <List <UserTransactionLogDto> > GetLastTwoTransactionsByIdCoinType(string idCoinType) { var result = new VarlikResult <List <UserTransactionLogDto> >(); using (var ctx = new VarlikContext()) { var fromEntity = new UserTransactionLogDto().FromEntity().Expand(); result.Data = ctx.UserCoinTransactionLog .AsExpandable() .Where(l => l.IdCoinType == idCoinType) .OrderByDescending(l => l.RequestedDate) .Take(2) .Skip(0) .Select(fromEntity) .ToList(); result.Success(); } return(result); }
public VarlikResult Save([FromBody] UserTransactionLogDto userCoinTransactionLogDto) { return(_userCoinTransactionLogManager.Save(userCoinTransactionLogDto)); }