Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }