private async Task <bool> AddEntity(TrainingPlanViewModel model,
                                            ICollection <TrainingPlanDistance> TrainingPlanDistances,
                                            IQueryable <Distance> regions)
        {
            bool isSaveSuccess = true;
            List <TrainingPlanDistance> TrainingPlanDistanceList = new List <TrainingPlanDistance>();

            foreach (var record in model.DistanceIds)
            {
                var currentRolePermission = regions.Any(a => a.Id == record);
                if (currentRolePermission)
                {
                    TrainingPlanDistance TrainingPlanDistance = new TrainingPlanDistance();
                    TrainingPlanDistanceList.Add(TrainingPlanDistance.ToEntity(record, model.Id, model.SessionUserId));
                }
            }

            if (TrainingPlanDistanceList.Count > 0)
            {
                await _context.TrainingPlanDistance.AddRangeAsync(TrainingPlanDistanceList);

                await _context.SaveChangesAsync();

                isSaveSuccess = true;
            }

            return(isSaveSuccess);
        }
        private async Task <bool> AddTrainingPlanDistanceWherePreviousExists(TrainingPlanViewModel model,
                                                                             ICollection <TrainingPlanDistance> TrainingPlanDistances,
                                                                             IQueryable <Distance> regions)
        {
            bool isSaveSuccess = true;
            List <TrainingPlanDistance> assignedTrainingPlanDistances = new List <TrainingPlanDistance>();

            foreach (var recordId in model.DistanceIds)
            {
                var currentRolePermission = regions.Where(a => a.Id == recordId).FirstOrDefault();
                if (currentRolePermission != null)
                {
                    if (!TrainingPlanDistances.Any(a => a.DistanceId == recordId))
                    {
                        // var currentUserRoleID = currentMenuRoles.First(a => a.Distance.RoleID == currentRolePermission.RoleID).RegionID;
                        var TrainingPlanDistanceRepo = new TrainingPlanDistance();
                        assignedTrainingPlanDistances.Add(TrainingPlanDistanceRepo.ToEntity(recordId, model.Id, model.SessionUserId));
                    }
                }
            }

            if (assignedTrainingPlanDistances.Count > 0)
            {
                await _context.TrainingPlanDistance.AddRangeAsync(assignedTrainingPlanDistances);

                await _context.SaveChangesAsync();

                isSaveSuccess = true;
            }

            return(isSaveSuccess);
        }