private void TransformProviderSection(CsvWriter csvWriter, Provider provider) { if (_userContext.IsOrganisation()) { csvWriter.WriteField <string>("ProviderId"); csvWriter.WriteField <string>(provider.ProviderId.ToString()); csvWriter.NextRecord(); } csvWriter.WriteField <string>("Providers"); csvWriter.NextRecord(); csvWriter.WriteField <string>("PROVIDER_NAME"); csvWriter.WriteField <string>("PROVIDER_ALIAS"); csvWriter.WriteField <string>("ADMIN_ADDRESS_1"); csvWriter.WriteField <string>("ADMIN_ADDRESS_2"); csvWriter.WriteField <string>("ADMIN_TOWN"); csvWriter.WriteField <string>("ADMIN_COUNTY"); csvWriter.WriteField <string>("ADMIN_POSTCODE"); csvWriter.WriteField <string>("ADMIN_EMAIL"); csvWriter.WriteField <string>("ADMIN_WEBSITE"); csvWriter.WriteField <string>("ADMIN_PHONE"); csvWriter.WriteField <string>("ADMIN_FAX"); //The Marketing Information field appears in the Apprentceships file but not the Courses file if (_dataType == Constants.BulkUpload_DataType.ApprenticeshipData) { csvWriter.WriteField <string>("GENERIC_APPRENTICESHIP_INFO*"); } csvWriter.NextRecord(); csvWriter.WriteField <string>(provider.ProviderName); csvWriter.WriteField <string>(provider.ProviderNameAlias); csvWriter.WriteField <string>(provider.Address == null ? string.Empty : provider.Address.AddressLine1); csvWriter.WriteField <string>(provider.Address == null ? string.Empty : provider.Address.AddressLine2); csvWriter.WriteField <string>(provider.Address == null ? string.Empty : provider.Address.Town); csvWriter.WriteField <string>(provider.Address == null ? string.Empty : provider.Address.County); csvWriter.WriteField <string>(provider.Address == null ? string.Empty : provider.Address.Postcode); csvWriter.WriteField <string>(provider.Email); csvWriter.WriteField <string>(provider.Website); csvWriter.WriteField <string>(provider.Telephone); csvWriter.WriteField <string>(provider.Fax); //The Marketing Information field appears in the Apprentceships file but not the Courses file if (_dataType == Constants.BulkUpload_DataType.ApprenticeshipData) { csvWriter.WriteField <string>(provider.MarketingInformation); } csvWriter.NextRecord(); }
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 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 string GetCsvFileName(this BulkUploadViewModel model, UserContext.UserContextInfo userContext, ProviderPortalEntities db, Constants.BulkUpload_DataType dataType) { var providerOrOrganisationName = userContext.IsOrganisation() ? db.Organisations.Where(o => o.OrganisationId.Equals(userContext.ItemId.Value)).Select(o => o.OrganisationName).FirstOrDefault() : db.Providers.Where(p => p.ProviderId.Equals(userContext.ItemId.Value)).Select(p => p.ProviderName).FirstOrDefault(); var dataTypeName = (dataType == Constants.BulkUpload_DataType.CourseData ? "Courses" : "Apprenticeships"); return(string.Format("{0}_{1}.{2}", providerOrOrganisationName, dataTypeName, Constants.BulkDownloadFileExtension)); }
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 List <BulkUploadHistoryViewModel> model, UserContext.UserContextInfo userContext, ProviderPortalEntities db, Constants.BulkUpload_DataType dataType) { try { //IQueryable<BulkUploadHistory> historyRecords; IQueryable <BulkUpload> historyRecords; if (userContext.IsOrganisation()) { //all providerswhich belongs to the organsiation var providersToSearch = BulkUploadValidateExtension.GetPermittedBulkUploadProviders(db, userContext, dataType); //get history of all the provider which belongs to organisation + organisation's respective upload /* * historyRecords = * db.BulkUploadHistories.Include("BulkUploadHistoryProviders.Provider") * .Where( * x => * providersToSearch.Contains(x.UserProviderId.Value) || x.UserOrganisationId == userContext.ItemId); */ historyRecords = db.BulkUploads .Include("BulkUploadProviders.Provider") .Where(x => (providersToSearch.Contains(x.UserProviderId.Value) || x.UserOrganisationId == userContext.ItemId) && (x.FileContentType == null || x.FileContentType == (int)dataType)); } else { /* * historyRecords = * db.BulkUploadHistories.Include("BulkUploadHistoryProviders.Provider") * .Where( * x => * x.UserProviderId.HasValue && x.UserProviderId == userContext.ItemId || x.BulkUploadHistoryProviders.Any(p => p.ProviderId == userContext.ItemId)); */ historyRecords = db.BulkUploads .Include("BulkUploadProviders.Provider") .Where(x => (x.UserProviderId.HasValue && x.UserProviderId == userContext.ItemId || x.BulkUploadProviders.Any(p => p.ProviderId == userContext.ItemId)) && (x.FileContentType == null || x.FileContentType == (int)dataType)); } foreach (var historyRecord in historyRecords.OrderByDescending(x => x.BulkUploadId)) { var currentStatus = historyRecord.BulkUploadStatusHistories.OrderByDescending(x => x.CreatedDateTimeUtc) .FirstOrDefault(); if (currentStatus == null) { continue; } var item = new BulkUploadHistoryViewModel { BulkUploadId = historyRecord.BulkUploadId, FileName = historyRecord.FileName, DownloadUrl = historyRecord.FilePath, IsOrganisationUpload = userContext.IsOrganisation(), ProviderName = LoadProviderName(historyRecord), IsAuthorisedToViewAndDownload = userContext.IsOrganisation() ? historyRecord.UserOrganisationId == userContext.ItemId : historyRecord.UserProviderId == userContext.ItemId, UserName = currentStatus.AspNetUser.Name, UploadedDateTime = currentStatus.CreatedDateTimeUtc.ToLocalTime(), StatusDescription = currentStatus.BulkUploadStatu.BulkUploadStatusText, IsDownloadAvailable = !string.IsNullOrEmpty(historyRecord.FilePath) && File.Exists(historyRecord.FilePath), IsUploadSuccessful = currentStatus.BulkUploadStatusId.Equals((int)Constants.BulkUploadStatus.Published), }; if (historyRecord.FileContentType != null) { item.FileContentType = (Constants.FileContentType)Enum.Parse(typeof(Constants.FileContentType), historyRecord.FileContentType.ToString()); } model.Add(item); } } catch (Exception ex) { AppGlobal.Log.WriteLog(string.Concat(ex.Message, "-", ex.StackTrace)); } }
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); } }