public async Task <OperationResult> Create(int id, string userid, PromotionEnum type, DateTime start, DateTime end) { if (await IsPromotionExists(userid, type)) { return(OperationResult.FailureResult("Promotion failure contact with support !")); } var promo = new Promotion { Id = id, UserId = userid, Type = type, StartTime = start, EndTime = end }; return(await _promotionRepository.AddAsync(promo)); }
private async Task <bool> IsPromotionExists(string userId, PromotionEnum promotion) { return(await _promotionRepository.Set().AsNoTracking().AnyAsync(x => (x.UserId == userId) && (x.Type == promotion))); }