public static BulkUploadHistoryViewModel GetHistoryFileUrl(this List <BulkUploadHistoryViewModel> model, UserContext.UserContextInfo userContext, ProviderPortalEntities db, int bulkUploadId)
        {
            var url = (from bulk in db.BulkUploads
                       where bulk.BulkUploadId == bulkUploadId
                       select bulk).FirstOrDefault();


            if ((userContext.IsOrganisation() && url.UserOrganisationId != userContext.ItemId.Value) ||
                (userContext.IsProvider() && url.UserProviderId != userContext.ItemId.Value))
            {
                return(null);
            }

            BulkUploadHistoryViewModel filteredModel = null;

            if (url != null)
            {
                filteredModel = new BulkUploadHistoryViewModel
                {
                    FileName    = url.FileName,
                    DownloadUrl = url.FilePath
                };
            }

            return(filteredModel);
        }
        public static void Populate(this BulkUploadViewModel model, UserContext.UserContextInfo userContext, ProviderPortalEntities db, Constants.BulkUpload_DataType dataType)
        {
            var providers = LoadProviders(userContext, db, true, userContext.IsOrganisation());

            model.UserCntxName = userContext.ContextName;

            if (userContext.IsProvider())
            {
                model.ProviderViewModel = LoadProviderInformation(providers.FirstOrDefault(), dataType);
            }
            else if (userContext.IsOrganisation())
            {
                model.OrganisationViewModel = LoadOrganisationProviderInfo(providers, dataType);
            }
        }
        public static AddEditApprenticeshipViewModel Populate(this AddEditApprenticeshipViewModel model,
                                                              ProviderPortalEntities db)
        {
            // Create new apprenticeship
            if (model == null)
            {
                model = new AddEditApprenticeshipViewModel();
            }
            model.RecordStatusId = (int)Constants.RecordStatus.Pending;

            UserContext.UserContextInfo uc = UserContext.GetUserContext();
            if (uc.IsProvider())
            {
                Provider provider = db.Providers.Find(uc.ItemId);
                if (provider != null)
                {
                    model.DisplayNotPublishedBanner = !provider.ApprenticeshipContract;
                }
            }

            return(model);
        }
예제 #4
0
        public static List <int> GetPermittedBulkUploadProviders(ProviderPortalEntities db, UserContext.UserContextInfo userContext, Constants.BulkUpload_DataType dataType)
        {
            var permittedBulkUploadProviders = new List <int>();

            var providerPermission     = (dataType == Constants.BulkUpload_DataType.CourseData ? Permission.PermissionName.CanBulkUploadProviderFiles : Permission.PermissionName.CanBulkUploadProviderApprenticeshipFiles);
            var organisationPermission = (dataType == Constants.BulkUpload_DataType.CourseData ? Permission.PermissionName.CanBulkUploadOrganisationFiles : Permission.PermissionName.CanBulkUploadOrganisationApprenticeshipFiles);

            if (userContext.IsProvider() && Permission.HasPermission(false, true, providerPermission))
            {
                permittedBulkUploadProviders.Add(userContext.ItemId.Value);
            }
            else if (userContext.IsOrganisation() && Permission.HasPermission(false, true, organisationPermission))
            {
                permittedBulkUploadProviders =
                    db.OrganisationProviders.Where(
                        o =>
                        o.OrganisationId.Equals(userContext.ItemId.Value) &&
                        o.CanOrganisationEditProvider &&
                        o.IsAccepted && !o.IsRejected)
                    .Select(o => o.ProviderId).ToList();
            }

            return(permittedBulkUploadProviders);
        }
        public static void Populate(this BulkUploadHistoryDetailViewModel model, UserContext.UserContextInfo userContext, ProviderPortalEntities db, int bulkUploadId)
        {
            var history = (from bulk in db.BulkUploads
                           where bulk.BulkUploadId == bulkUploadId
                           select bulk).FirstOrDefault();

            if (history == null)
            {
                model.AccessDenied = true;
                return;
            }
            if ((userContext.IsOrganisation() && history.UserOrganisationId != userContext.ItemId.Value) ||
                (userContext.IsProvider() && history.UserProviderId != userContext.ItemId.Value))
            {
                model.AccessDenied = true;
                return;
            }

            var currentStatus = history.BulkUploadStatusHistories.OrderByDescending(x => x.CreatedDateTimeUtc).FirstOrDefault();

            if (currentStatus == null)
            {
                model.AccessDenied = true;
                return;
            }

            model.BulkUploadId = bulkUploadId;

            model.FileName = history.FileName;

            if (history.FileContentType != null)
            {
                model.FileContentType = (Constants.FileContentType)Enum.Parse(typeof(Constants.FileContentType), history.FileContentType.ToString());
            }

            model.UserName = db.AspNetUsers.FirstOrDefault(x => x.Id.ToString() == currentStatus.LoggedInUserId).Name;

            model.UploadedDateTime = currentStatus.CreatedDateTimeUtc.ToLocalTime().ToString(Constants.ConfigSettings.ShortDateTimeFormat);

            model.UploadStatusText = currentStatus.BulkUploadStatu.BulkUploadStatusText;

            model.ExistingCourseCount = history.ExistingCourses ?? 0;

            model.TotalCourseCount = history.NewCourses ?? 0;

            model.InvalidCourseCount = history.InvalidCourses ?? 0;

            model.ExistingVenueCount = history.ExistingVenues ?? 0;

            model.TotalVenueCount = history.NewVenues ?? 0;

            model.InvalidVenueCount = history.InvalidVenues ?? 0;

            model.ExistingOpportunityCount = history.ExistingOpportunities ?? 0;

            model.TotalOpportunityCount = history.NewOpportunities ?? 0;

            model.InvalidOpportunityCount = history.InvalidOpportunities ?? 0;

            model.ExistingApprenticeshipCount = history.ExistingApprenticeships ?? 0;

            model.TotalApprenticeshipCount = history.NewApprenticeships ?? 0;

            model.InvalidApprenticeshipCount = history.InvalidApprenticeships ?? 0;

            model.ExistingLocationCount = history.ExistingLocations ?? 0;

            model.TotalLocationCount = history.NewLocations ?? 0;

            model.InvalidLocationCount = history.InvalidLocations ?? 0;

            model.ExistingDeliveryLocationCount = history.ExistingDeliveryLocations ?? 0;

            model.TotalDeliveryLocationCount = history.NewDeliveryLocations ?? 0;

            model.InvalidDeliveryLocationCount = history.InvalidDeliveryLocations ?? 0;


            model.UploadStatus = (Constants.BulkUploadStatus)Enum.Parse(typeof(Constants.BulkUploadStatus), currentStatus.BulkUploadStatu.BulkUploadStatusName);

            model.ErrorSummary = new BulkUploadHistoryErrorSummary
            {
                UploadSummaryDetails = new List <BulkUploadHistoryDetailItemsViewModel>()
            };

            if (history.FileContentType != null)
            {
                model.FileContentType = (Constants.FileContentType)Enum.Parse(typeof(Constants.FileContentType), history.FileContentType.ToString());
            }

            foreach (var item in db.BulkUploadExceptionItems.Where(x => x.BulkUploadId == bulkUploadId))
            {
                var bulkUploadHistoryDetailItemsViewModel = new BulkUploadHistoryDetailItemsViewModel
                {
                    ColumnName        = item.ColumnName,
                    RowId             = item.LineNumber,
                    ActualColumnValue = item.ColumnValue,
                    Provider          = item.ProviderId.HasValue ? item.ProviderId.ToString() : string.Empty,
                    Details           = item.Details,
                    ErrorType         = (Constants.BulkUpload_Validation_ErrorType)Enum.Parse(typeof(Constants.BulkUpload_Validation_ErrorType), item.BulkUploadErrorType.BulkUploadErrorTypeName),
                    SectionName       = (Constants.BulkUpload_SectionName)item.BulkUploadSectionId
                };
                model.ErrorSummary.UploadSummaryDetails.Add(bulkUploadHistoryDetailItemsViewModel);
            }
        }
        private void WriteOpportunityRow(CsvWriter csvWriter, Provider provider, CourseInstance instance, string startDate)
        {
            csvWriter.WriteField <string>(CommonHelper.GetSafeString(instance.CourseId));
            LoadVenueName(csvWriter, instance);
            csvWriter.WriteField <string>(CommonHelper.GetSafeString(instance.ProviderOwnCourseInstanceRef));
            csvWriter.WriteField <string>(instance.StudyMode == null ? string.Empty : instance.StudyMode.BulkUploadRef);
            csvWriter.WriteField <string>(instance.AttendanceType == null ? string.Empty : instance.AttendanceType.BulkUploadRef);
            csvWriter.WriteField <string>(instance.AttendancePattern == null ? string.Empty : instance.AttendancePattern.BulkUploadRef);
            csvWriter.WriteField <string>(CommonHelper.GetSafeString(instance.DurationUnit));
            csvWriter.WriteField <string>(instance.DurationUnit1 == null ? string.Empty : instance.DurationUnit1.BulkUploadRef);
            csvWriter.WriteField <string>(CommonHelper.GetSafeString(instance.DurationAsText));
            csvWriter.WriteField <string>(startDate);
            csvWriter.WriteField <string>(CommonHelper.GetSafeDateString(instance.EndDate));
            csvWriter.WriteField <string>(instance.StartDateDescription);
            csvWriter.WriteField <string>(instance.TimeTable);
            csvWriter.WriteField <string>(CommonHelper.GetSafeString(instance.Price));
            csvWriter.WriteField <string>(instance.PriceAsText);
            csvWriter.WriteField <string>(instance.LanguageOfInstruction);
            csvWriter.WriteField <string>(instance.LanguageOfAssessment);
            csvWriter.WriteField <string>(CommonHelper.GetSafeString(instance.PlacesAvailable));
            csvWriter.WriteField <string>(CommonHelper.GetSafeDateString(instance.ApplyFromDate));
            csvWriter.WriteField <string>(CommonHelper.GetSafeDateString(instance.ApplyUntilDate));
            csvWriter.WriteField <string>(instance.ApplyUntilText);
            csvWriter.WriteField(instance.CanApplyAllYear ? "Y" : string.Empty);
            csvWriter.WriteField <string>(instance.EnquiryTo);
            csvWriter.WriteField <string>(instance.ApplyTo);
            csvWriter.WriteField <string>(instance.Url);
            csvWriter.WriteField <string>(instance.A10FundingCode == null ? string.Empty : GetA10String(instance.A10FundingCode));

            var offeredBy = CommonHelper.GetSafeString(instance.OfferedByOrganisationId);

            offeredBy = offeredBy == "0" ? "" : offeredBy;

            var displayedBy = CommonHelper.GetSafeString(instance.DisplayedByOrganisationId);

            displayedBy = displayedBy == "0" ? "" : displayedBy;

            if (offeredBy != displayedBy)
            {
                if (_userContext.IsOrganisation())
                {
                    if (offeredBy == String.Empty && displayedBy == _userContext.ItemId.ToString())
                    {
                        offeredBy = provider.ProviderId.ToString();
                    }
                    if (displayedBy == String.Empty && offeredBy == _userContext.ItemId.ToString())
                    {
                        displayedBy = provider.ProviderId.ToString();
                    }
                }
                if (_userContext.IsProvider())
                {
                    if (offeredBy != String.Empty && offeredBy != _userContext.ItemId.ToString() && displayedBy == String.Empty)
                    {
                        displayedBy = provider.ProviderId.ToString();
                    }
                    if (displayedBy != String.Empty && displayedBy != _userContext.ItemId.ToString() && offeredBy == String.Empty)
                    {
                        offeredBy = provider.ProviderId.ToString();
                    }
                }
            }

            csvWriter.WriteField <string>(offeredBy);
            csvWriter.WriteField <string>(displayedBy);
            csvWriter.WriteField <string>(instance.BothOfferedByDisplayBySearched ? "Y" : string.Empty);
        }