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 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 byte[] TransformToCsv(this BulkUploadViewModel model, UserContext.UserContextInfo userContext, ProviderPortalEntities db, Constants.BulkUpload_DataType dataType) { var providers = LoadProviders(userContext, db, true, true); return(new EntityToCsvConvertor(providers, userContext, dataType).ToCsv()); }
public static void InitiateBulkUpload( this BulkUploadViewModel model, UserContext.UserContextInfo userContext, ProviderPortalEntities db) { try { // copy data to local data store new FileHandler(model).CopyFileToDataStore(); // get bulk upload service client var bulkUploadService = new BulkUploadWCFServiceClient(); // when validating only ... if (!model.OverrideException) { // ... build contextual parameters for bulk upload serivce var parameters = new EnqueueParameters { FileName = model.Summary.FileName, FilePath = model.Summary.FilePath, UserId = LoggedInUser(db), UserContextType = userContext.ContextName.ToString(), UserContextItemId = (int)userContext.ItemId, FileSize = model.Summary.ContentLength }; // ... and enqueue the bulk upload with the service var result = bulkUploadService.Enqueue(parameters); } } catch (EndpointNotFoundException ex) { model.Message = AppGlobal.Language.GetText( "BulkUpload_Exceptions_EndpointNotFoundException", "The Bulk Upload service has encountered an error, and your upload has failed. Please try your upload later. If you encounter this message again, please contact the Support Team."); AppGlobal.Log.WriteLog(string.Concat(ex.Message, ":", ex.StackTrace)); } catch (TimeoutException ex) { model.Message = AppGlobal.Language.GetText( "BulkUpload_Exceptions_TimeoutException", "The Bulk Upload service could not be contacted, and your upload has failed. Please try your upload later. If you encounter this message again, please contact the Support Team."); AppGlobal.Log.WriteLog(string.Concat(ex.Message, ":", ex.StackTrace)); } catch (FaultException <BulkUploadProviderFault> ex) { var template = AppGlobal.Language.GetText("BulkUpload_Exceptions_BulkUploadProviderFaultException", "The Bulk Upload service has rejected your file, with the following error: {0}"); model.Message = String.Format(template, ex.Detail.Message); } catch (FaultException <BulkUploadFault> ex) { model.Message = AppGlobal.Language.GetText("BulkUpload_Exceptions_BulkUploadFaultException", "The Bulk Upload service has encountered an error, and your upload has failed. Please try your upload later. If you encounter this message again, please contact the Support Team."); AppGlobal.Log.WriteLog(string.Concat(ex.Detail.Message, ":", ex.StackTrace)); } catch (Exception ex) { model.Message = ex.Message; AppGlobal.Log.WriteLog(string.Concat(ex.Message, ":", ex.StackTrace)); } }