private async Task <ReferralCodeList> GetRecords(DateTime?startDate = null, DateTime?endDate = null, bool?allRecord = false, int?status = null) { List <ReferralCode> dbRec = new List <ReferralCode>(); if (!startDate.HasValue || !endDate.HasValue) { dbRec = await _context.ReferralCode.Where(d => (allRecord.Value || (!allRecord.Value && d.CreatedBy == _userHandler.User.Id)) && (status == null || (status != null && (status.Value == -1 || status.Value == (int)d.ReferralCodeStatus)))).Include(s => s.User).OrderByDescending(m => m.ModifiedOn).Take(1000).ToListAsync(); } else { dbRec = await _context.ReferralCode.Where(d => (allRecord.Value || (!allRecord.Value && d.CreatedBy == _userHandler.User.Id)) && d.CreatedOn.HasValue && d.CreatedOn.Value.Date >= startDate.Value.Date && d.CreatedOn.Value.Date <= endDate.Value.Date && (status == null || (status != null && (status.Value == -1 || status.Value == (int)d.ReferralCodeStatus)))).Include(s => s.User).OrderByDescending(m => m.ModifiedOn).ToListAsync(); } ReferralCodeList recList = new ReferralCodeList { UserHandler = _userHandler, Records = _mapper.Map <List <ReferralCode>, List <ReferralCodeModel> >(dbRec) }; return(recList); }
public IActionResult GenerateCode(int quantity) { ReferralCodeList codeList = new ReferralCodeList(); List <ReferralCodeModel> records = new List <ReferralCodeModel>(); for (int i = 0; i < quantity; i++) { var code = new ReferralCode { PINCode = _codeGenerator.GeneratePINCode(), SecutiryCode = _codeGenerator.GenerateSecurityCode(), ReferralCodeStatus = Enums.ReferralCodeStatus.Open }; code.ReferralCode_Id = $"{code.PINCode}-{code.SecutiryCode}"; _context.ReferralCode.Add(code); var affected = _context.SaveChanges(); if (affected != 0) { records.Add(_mapper.Map <ReferralCodeModel>(code)); } } codeList.Records = records; return(PartialView("_GenerateCode", codeList)); }