コード例 #1
0
        private async Task <bool> AddEntity(TimeTrialResultViewModel model,
                                            ICollection <TimeTrialResult> containerEntityList,
                                            IQueryable <Member> referralEntityList)
        {
            bool isSaveSuccess = true;
            List <TimeTrialResult> TimeTrialResultList = new List <TimeTrialResult>();

            foreach (var record in model.MemberIds)
            {
                var currentReferralEntity = referralEntityList.Any(a => a.Id == record);
                if (currentReferralEntity)
                {
                    int ageGroupId = await CalculateAge(referralEntityList.FirstOrDefault(), model.TimeTrialDistanceId);

                    TimeTrialResult TimeTrialResult = new TimeTrialResult();
                    TimeTrialResultList.Add(TimeTrialResult.ToEntity(record, model.TimeTrialDistanceId, model.TimeTaken, model.Position, ageGroupId, model.SessionUserId));
                }
            }

            if (TimeTrialResultList.Count > 0)
            {
                await _context.TimeTrialResult.AddRangeAsync(TimeTrialResultList);

                await _context.SaveChangesAsync();

                isSaveSuccess = true;
            }

            return(isSaveSuccess);
        }
コード例 #2
0
        private async Task <bool> AddTimeTrialResultWherePreviousExists(TimeTrialResultViewModel model,
                                                                        ICollection <TimeTrialResult> TimeTrialResults,
                                                                        IQueryable <Member> members)
        {
            bool isSaveSuccess = true;
            List <TimeTrialResult> assignedTimeTrialResults = new List <TimeTrialResult>();

            foreach (var recordId in model.MemberIds)
            {
                var currentMember = members.Where(a => a.Id == recordId).FirstOrDefault();
                if (currentMember != null)
                {
                    if (!TimeTrialResults.Any(a => a.MemberId == recordId))
                    {
                        int ageGroupId = await CalculateAge(currentMember, model.TimeTrialDistanceId);

                        var TimeTrialResultRepo = new TimeTrialResult();
                        assignedTimeTrialResults.Add(TimeTrialResultRepo.ToEntity(recordId, model.TimeTrialDistanceId, model.TimeTaken, model.Position, ageGroupId, model.SessionUserId));
                    }
                }
            }

            if (assignedTimeTrialResults.Count > 0)
            {
                await _context.TimeTrialResult.AddRangeAsync(assignedTimeTrialResults);

                await _context.SaveChangesAsync();

                isSaveSuccess = true;
            }

            return(isSaveSuccess);
        }
コード例 #3
0
 public static TimeTrialResult ToEntity(this TimeTrialResult entity, int referralId, int containerId, TimeSpan timeTaken, int?position, int ageGroupId, string sessionUserID)
 {
     if (entity.Id > 0)
     {
         entity.UpdatedUserId    = sessionUserID;
         entity.UpdatedTimestamp = DateTime.Now;
     }
     else
     {
         entity.TimeTrialDistanceId = containerId;
         entity.MemberId            = referralId;
         entity.Position            = position;
         entity.TimeTaken           = timeTaken;
         entity.CreatedUserId       = sessionUserID;
     }
     return(entity);
 }
コード例 #4
0
        private async Task <SaveResult> EditEntityAsync(TimeTrialResultViewModel model, TimeTrialResult record, IQueryable <Member> referralEntityList)
        {
            int ageGroupId = await CalculateAge(referralEntityList.FirstOrDefault(), model.TimeTrialDistanceId);

            var saveResult          = new SaveResult();
            var editTimeTrialResult = await _context.TimeTrialResult.FindAsync(record.Id);

            editTimeTrialResult.ToEntity(record.MemberId, model.TimeTrialDistanceId, model.TimeTaken, model.Position, ageGroupId, model.SessionUserId);

            _context.Update(editTimeTrialResult);
            await _context.SaveChangesAsync();

            saveResult.IsSuccess = true;
            return(saveResult);
        }