private async Task <bool> AddEntity(RaceResultViewModel model, ICollection <RaceResult> containerEntityList, IQueryable <Member> referralEntityList) { bool isSaveSuccess = true; List <RaceResult> RaceResultList = new List <RaceResult>(); foreach (var record in model.MemberIds) { var currentReferralEntity = referralEntityList.Any(a => a.Id == record); if (currentReferralEntity) { int ageGroupId = await CalculateAge(referralEntityList.FirstOrDefault(), model.RaceDistanceId); RaceResult RaceResult = new RaceResult(); RaceResultList.Add(RaceResult.ToEntity(record, model.RaceDistanceId, model.TimeTaken, model.Position, ageGroupId, model.SessionUserId)); } } if (RaceResultList.Count > 0) { await _context.RaceResult.AddRangeAsync(RaceResultList); await _context.SaveChangesAsync(); isSaveSuccess = true; } return(isSaveSuccess); }
private async Task <bool> AddRaceResultWherePreviousExists(RaceResultViewModel model, ICollection <RaceResult> RaceResults, IQueryable <Member> members) { bool isSaveSuccess = true; List <RaceResult> assignedRaceResults = new List <RaceResult>(); foreach (var recordId in model.MemberIds) { var currentMember = members.Where(a => a.Id == recordId).FirstOrDefault(); if (currentMember != null) { if (!RaceResults.Any(a => a.MemberId == recordId)) { int ageGroupId = await CalculateAge(currentMember, model.RaceDistanceId); var raceResultRepo = new RaceResult(); assignedRaceResults.Add(raceResultRepo.ToEntity(recordId, model.RaceDistanceId, model.TimeTaken, model.Position, ageGroupId, model.SessionUserId)); } } } if (assignedRaceResults.Count > 0) { await _context.RaceResult.AddRangeAsync(assignedRaceResults); await _context.SaveChangesAsync(); isSaveSuccess = true; } return(isSaveSuccess); }