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());
        }
示例#4
0
        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));
            }
        }