Exemplo n.º 1
0
        public async Task <int> CreateQualificationRouteMappingAsync(QualificationRouteMappingViewModel viewModel)
        {
            var qualificationRouteMapping   = _mapper.Map <QualificationRouteMappingViewModel, QualificationRouteMapping>(viewModel);
            var qualificationRouteMappingId = await _repository.CreateAsync(qualificationRouteMapping);

            return(qualificationRouteMappingId);
        }
Exemplo n.º 2
0
        private async Task <string> CreateOrUpdateQualificationRouteMappingAsync(ProviderVenueQualificationDto providerVenueQualification,
                                                                                 int qualificationId)
        {
            var invalidRouteNames = new List <string>();

            foreach (var routeName in providerVenueQualification.Routes)
            {
                var route = await _routePathService.GetRouteSummaryByNameAsync(routeName);

                if (route == null)
                {
                    invalidRouteNames.Add($"{routeName}");
                    continue;
                }

                var routeMapping =
                    await _qualificationRouteMappingService.GetQualificationRouteMappingAsync(route.Id,
                                                                                              qualificationId);

                if (routeMapping == null)
                {
                    var qualificationRouteMappingViewModel = new QualificationRouteMappingViewModel
                    {
                        RouteId         = route.Id,
                        QualificationId = qualificationId,
                        Source          = Source
                    };

                    await _qualificationRouteMappingService.CreateQualificationRouteMappingAsync(
                        qualificationRouteMappingViewModel);
                }
            }

            if (invalidRouteNames.Any())
            {
                var sb = new StringBuilder($"Data Error: Route{(invalidRouteNames.Count > 1 ? "s" : "")} ");

                for (var i = 0; i < invalidRouteNames.Count; i++)
                {
                    sb.Append($"{(i > 0 ? ", " : "")}'{invalidRouteNames[i]}'");
                }

                sb.Append($" not found in existing Routes. UkPrn: {providerVenueQualification.UkPrn}, postcode: {providerVenueQualification.VenuePostcode}, LAR Id: {providerVenueQualification.LarId}");

                return(sb.ToString());
            }

            return(null);
        }