Example #1
0
 //private readonly CmsEntities mCee;
 public Cji5Importer(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.Financial.ToString();
     Cee = new CmsEntities(5000);
     Cee.Configuration.LazyLoadingEnabled = false;
 }
 public TuningPropertiesImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.TuningProperties.ToString();
     Cee = new CmsEntities(5000);
     Cee.Configuration.LazyLoadingEnabled = false;
 }
 public MobilePlantComponentImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.Components.ToString();
     Cee = new CmsEntities(5000);
     Cee.Configuration.LazyLoadingEnabled = false;
 }
Example #4
0
 public ElectricalImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.ElectricalEquipments.ToString();
     Cee = new CmsEntities(5000);
     Cee.Configuration.LazyLoadingEnabled = false;
 }
 public InterlockRiskImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.InterlockRisks.ToString();
     Cee = new CmsEntities(5000);
     Cee.Configuration.LazyLoadingEnabled = false;
 }
 public IssueSystemReferencesImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.SystemReferences.ToString();
     Cee = new CmsEntities(5000);
     Cee.Configuration.LazyLoadingEnabled = false;
 }
 public PipeComponentImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.Components.ToString();
     Cee = new CmsEntities();
     //mCee.CommandTimeout = 5000;
     Cee.Configuration.LazyLoadingEnabled = false;
 }
Example #8
0
        public PipeImporter(ImportFileMetaData metadata)
        {
            MetaData = metadata;
            WorkSheetName = ImportWorkSheetName.Pipes.ToString();

            Cee = new CmsEntities();
            Cee.Configuration.LazyLoadingEnabled = false;
        }
 //private readonly CmsEntities mCee;
 public DocumentEquipmentImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     WorkSheetName = ImportWorkSheetName.RelatedEquipment.ToString();
     //mCee = new CmsEntities(5000);
     Cee = new CmsEntities();
     //mCee.CommandTimeout = 5000;
     Cee.Configuration.LazyLoadingEnabled = false;
 }
        private readonly List<DocumentAssignedLocation> mSavedResults = new List<DocumentAssignedLocation>(); //just used for keep a count and displaying what was saved.

        #endregion Fields

        #region Constructors

        public DocumentLocationImporter(ImportFileMetaData metadata)
        {
            MetaData = metadata;
            WorkSheetName = ImportWorkSheetName.DocumentLocations.ToString();
        }
Example #11
0
 public InstrumentImporter(ImportFileMetaData metadata)
 {
     MetaData = metadata;
     Cee = new CmsEntities(5000);
     Cee.Configuration.LazyLoadingEnabled = false;
 }
Example #12
0
        private void TransferGeneralExcelFiles(ImportFileMetaData metaData, FileInfo fileInfo)
        {
            try
            {
                Stream stream = fileInfo.OpenRead();

                long sentFileSize = fileInfo.Length;
                long writtenFileSize = 0;

                int transferChunkSize = Utils.GetTransferChunkSize(stream);

                if (stream.Position > -1 && stream.Position < stream.Length)
                {
                    int chunkSize = Utils.GetCurrentChunkSize(stream, transferChunkSize);

                    byte[] fileBytes = new byte[chunkSize];
                    stream.Read(fileBytes, 0, chunkSize);

                    CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

                    cmsWebServiceClient.UploadGenericImportExcelFileCompleted += (s1, e1) =>
                        {
                            if (e1.Result.ErrorMessages.Any())
                            {
                                ExcelTransferFailed(e1.Result);
                                stream.Close();
                                return;
                            }

                            if (stream.Position > -1 && stream.Position < stream.Length)
                            {
                                //STILL GOING
                                chunkSize = Utils.GetCurrentChunkSize(stream, transferChunkSize);

                                fileBytes = new byte[chunkSize];
                                stream.Read(fileBytes, 0, chunkSize);

                                writtenFileSize += e1.Result.WrittenByteArraySize;

                                cmsWebServiceClient.UploadGenericImportExcelFileAsync(metaData, fileBytes, GetCanCreateProperties());
                            }
                            else
                            {
                                writtenFileSize += e1.Result.WrittenByteArraySize;
                                //Transfer complete
                                stream.Close();

                                if (writtenFileSize < sentFileSize)
                                {
                                    DbImportResult r = new DbImportResult();
                                    r.ErrorMessages = new List<string>();
                                    r.ErrorMessages.Add("There was a loss of information while attempting to transfer the Excel file.  Please try again.  ");
                                    ExcelTransferFailed(r);
                                }
                                else
                                {
                                    ExcelTransferSucceeded(e1.Result);
                                    busyIndicator.IsBusy = false;
                                }
                            }
                        };

                    cmsWebServiceClient.UploadGenericImportExcelFileAsync(mMetaData, fileBytes, GetCanCreateProperties());
                }
            }
            catch (IOException)
            {
                ResultsRadTabControl.SelectedIndex = (int)ResultTab.Errors;
                ErrorsTextBox.Text = "Could not open the file - perhaps it is already open in another window?  If so close it and try again.  ";
                errorTabBlock.Text = string.Format("{0} ({1})", ERRORS, 1);
                ImportButton.IsEnabled = true;
                busyIndicator.IsBusy = false;
            }

            catch (Exception ex)
            {
                ResultsRadTabControl.SelectedIndex = (int)ResultTab.Errors;
                ErrorsTextBox.Text = ex.ToString();
                ImportButton.IsEnabled = true;
                busyIndicator.IsBusy = false;
            }
        }
Example #13
0
        public DbImportResult ImportDocumentVersions(ImportFileMetaData metaData, byte[] content, bool append)
        {
            try
            {

                //EXCEL DOC
                string targetFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "temp_imports");

                if (!Directory.Exists(targetFolder))
                {
                    Directory.CreateDirectory(targetFolder);
                }

                WriteFileToDisk(metaData.FileName, content, targetFolder, false, targetFolder);

                //we now have the file saved on the server's disk so we can process safely...
                string fullPath = Path.Combine(targetFolder, targetFolder, metaData.FileName);

                metaData.FullFileName = fullPath;
                IImporter importer = ImporterFactory.CreateImporter(metaData);

                DbImportResult dbImportResult = new DbImportResult();

                importer.MessageRaised += (m, s) =>
                    {
                        switch (m)
                        {
                            case CommonUtils.MessageType.Error:
                                dbImportResult.ErrorMessages.Add(s);
                                break;

                            case CommonUtils.MessageType.Warning:
                                dbImportResult.WarningMessages.Add(s);
                                break;

                            case CommonUtils.MessageType.AlreadyExists:
                                Logger.Info(string.Format("added filename '{0}' to AlreadyExistsFileNames list.", s));
                                dbImportResult.AlreadyExistsFileNames.Add(s);
                                break;

                            case CommonUtils.MessageType.Added:
                            case CommonUtils.MessageType.Info:
                                dbImportResult.InformationMessages.Add(s);
                                break;
                        }
                    };

                DbImportResult finalResult = new DbImportResult();

                finalResult = importer.Import(false);

                // set this property last as we may have had a new result object newed up inside an importer.
                if (dbImportResult.ErrorMessages != null && dbImportResult.ErrorMessages.Any())
                {
                    finalResult.ErrorMessages.AddRange(dbImportResult.ErrorMessages);
                }

                if (dbImportResult.WarningMessages != null && dbImportResult.WarningMessages.Any())
                {
                    finalResult.WarningMessages.AddRange(dbImportResult.WarningMessages);
                }

                finalResult.WrittenByteArraySize = GetFileSizeWritten(fullPath);
                return finalResult;

            }
            catch (Exception ex)
            {
                Logger.Error("", ex, "CMS.Boddington.ImporterPlugin.PluginImport");

                DbImportResult errorResult = new DbImportResult();
                errorResult.ErrorMessages.Add("Unhandled Exceptions have occured as follows:");

                errorResult.ErrorMessages.Add("Message : " + ex.Message);
                errorResult.ErrorMessages.Add("Stack : " + ex);
                if (ex.InnerException != null)
                {
                    errorResult.ErrorMessages.Add("Message : " + ex.InnerException.Message);
                    errorResult.ErrorMessages.Add("Stack : " + ex.InnerException);
                }

                return errorResult;
            }
        }
Example #14
0
            internal static IImporter CreateImporter(ImportFileMetaData metaData, DocumentVersion documentVersion = null, BaseAttachmentDto attachmentDto = null)
            {
                switch (metaData.ImportType)
                {
                    case CommonUtils.ImportType.CreateRelatedDocuments:
                        return new RelatedDocumentImporter(metaData);

                    case CommonUtils.ImportType.CreateIssue:
                    case CommonUtils.ImportType.UpdateIssue:
                        return new IssueImporter(metaData);
                    case CommonUtils.ImportType.CreateMilestones:
                        return new MilestoneImporter(metaData);

                    case CommonUtils.ImportType.CreateUpdateFinancial:
                        return new FinancialImporter(metaData);

                    case CommonUtils.ImportType.CreateIssueReferences:
                    case CommonUtils.ImportType.UpdateIssueReferences:
                        return new IssueSystemReferencesImporter(metaData);

                    case CommonUtils.ImportType.Cji3:
                        return new Cji3Importer(metaData);

                    case CommonUtils.ImportType.Cji5:
                        return new Cji5Importer(metaData);

                    case CommonUtils.ImportType.CreatePipe:
                    case CommonUtils.ImportType.UpdatePipe:
                        return new PipeImporter(metaData);
                    case CommonUtils.ImportType.CreatePipeComponent:
                    case CommonUtils.ImportType.UpdatePipeComponent:
                        return new PipeComponentImporter(metaData);

                    case CommonUtils.ImportType.CreateMechanical:
                    case CommonUtils.ImportType.UpdateMechanical:
                        return new MechanicalImporter(metaData);
                    case CommonUtils.ImportType.CreateMechanicalComponent:
                    case CommonUtils.ImportType.UpdateMechanicalComponent:
                        return new MechanicalComponentImporter(metaData);

                    case CommonUtils.ImportType.CreateElectrical:
                    case CommonUtils.ImportType.UpdateElectrical:
                        return new ElectricalImporter(metaData);
                    case CommonUtils.ImportType.CreateElectricalComponent:
                    case CommonUtils.ImportType.UpdateElectricalComponent:
                        return new ElectricalComponentImporter(metaData);

                    case CommonUtils.ImportType.CreateInstrument:
                    case CommonUtils.ImportType.UpdateInstrument:
                        return new InstrumentImporter(metaData);
                    case CommonUtils.ImportType.CreateInstrumentComponent:
                    case CommonUtils.ImportType.UpdateInstrumentComponent:
                        return new InstrumentComponentImporter(metaData);

                    case CommonUtils.ImportType.CreateCalibrationComponent:
                    case CommonUtils.ImportType.UpdateCalibrationComponent:
                        return new CalibrationComponentImporter(metaData);

                    case CommonUtils.ImportType.CreateMobilePlant:
                    case CommonUtils.ImportType.UpdateMobilePlant:
                        return new MobilePlantImporter(metaData);

                    case CommonUtils.ImportType.CreateMobilePlantComponent:
                    case CommonUtils.ImportType.UpdateMobilePlantComponent:
                        return new MobilePlantComponentImporter(metaData);

                    case CommonUtils.ImportType.CreateDocument:
                    case CommonUtils.ImportType.UpdateDocument:
                        return new DocumentImporter(metaData);

                    case CommonUtils.ImportType.CreateDocumentVersionStep1:
                    case CommonUtils.ImportType.UpdateDocumentVersion: //we don't need the file
                        return new DocumentVersionImporter(metaData);

                    case CommonUtils.ImportType.CreateDocumentLocations:
                        return new DocumentLocationImporter(metaData);

                    case CommonUtils.ImportType.CreateAttachmentDtoStep1:
                    case CommonUtils.ImportType.UpdateAttachment: //we don't need the file
                        return new AttachmentImporter(metaData);

                    case CommonUtils.ImportType.LinkRelatedEquipmentDocument:
                        return new DocumentEquipmentImporter(metaData);

                    //CONTROL SYSTEM
                    case CommonUtils.ImportType.CreateControlsSystems:
                    case CommonUtils.ImportType.UpdateControlSystems:
                        return new ControlSystemImporter(metaData);
                    case CommonUtils.ImportType.CreateControlComponents:
                    case CommonUtils.ImportType.UpdateControlComponents:
                        return new ControlComponentImporter(metaData);
                    case CommonUtils.ImportType.CreateEngineeringProperties:
                    case CommonUtils.ImportType.UpdateEngineeringProperties:
                        return new EngineeringPropertiesImporter(metaData);
                    case CommonUtils.ImportType.CreateTuningProperties:
                    case CommonUtils.ImportType.UpdateTuningProperties:
                        return new TuningPropertiesImporter(metaData);
                    case CommonUtils.ImportType.CreateInterlocks:
                    case CommonUtils.ImportType.UpdateInterlocks:
                        return new InterlockImporter(metaData);
                    case CommonUtils.ImportType.CreateInterlockRisks:
                    case CommonUtils.ImportType.UpdateInterlockRisks:
                        return new InterlockRiskImporter(metaData);

                    //ALARMS
                    case CommonUtils.ImportType.CreateAlarms:
                    case CommonUtils.ImportType.UpdateAlarms:
                        return new AlarmImporter(metaData);

                    //Testing
                    case CommonUtils.ImportType.CreateComponentTestingProperties:
                    case CommonUtils.ImportType.UpdateComponentTestingProperties:
                        return new ComponentTestingPropertiesImporter(metaData);

                }

                return null;
            }
Example #15
0
        public DbImportResult PluginImport(ImportFileMetaData metaData, byte[] content, bool canCreateProperties)
        {
            string targetFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "temp_imports");

            if (!Directory.Exists(targetFolder))
            {
                Directory.CreateDirectory(targetFolder);
            }

            string path = Guid.NewGuid().ToString();

            try
            {
                WriteFileToDisk(metaData.FileName, content, path, false, targetFolder);

                //we now have the file saved on the server's disk so we can process safely...
                string fullPath = Path.Combine(targetFolder, path, metaData.FileName);

                metaData.FullFileName = fullPath;

                IImporter importer = ImporterFactory.CreateImporter(metaData);

                DbImportResult raisedMessages = new DbImportResult();
                importer.MessageRaised += (m, s) =>
                    {
                        switch (m)
                        {
                            case CommonUtils.MessageType.Error:
                                raisedMessages.ErrorMessages.Add(s);
                                break;

                            case CommonUtils.MessageType.Warning:
                                raisedMessages.WarningMessages.Add(s);
                                break;

                            case CommonUtils.MessageType.AlreadyExists:
                                Logger.Info(string.Format("added filename '{0}' to AlreadyExistsFileNames list.", s));
                                raisedMessages.AlreadyExistsFileNames.Add(s);
                                break;

                            case CommonUtils.MessageType.Added:
                            case CommonUtils.MessageType.Info:
                                raisedMessages.InformationMessages.Add(s);
                                break;
                        }
                    };

                //IMPORT STARTS HERE----------------------------

                DbImportResult dbImportResult = importer.Import(canCreateProperties);
                //----------------------------------------------

                if (raisedMessages.WarningMessages.Count > 0)
                {
                    dbImportResult.WarningMessages.InsertRange(0, raisedMessages.WarningMessages);
                }

                if (raisedMessages.InformationMessages.Count > 0)
                {
                    dbImportResult.InformationMessages.InsertRange(0, raisedMessages.InformationMessages);
                }

                if (raisedMessages.ErrorMessages.Count > 0)
                {
                    dbImportResult.ErrorMessages.InsertRange(0, raisedMessages.ErrorMessages);
                }

                if (raisedMessages.AlreadyExistsFileNames.Count > 0)
                {
                    Logger.Info(string.Format("Adding {0} AlreadyExistsFileNames", raisedMessages.AlreadyExistsFileNames.Count));
                    dbImportResult.AlreadyExistsFileNames.InsertRange(0, raisedMessages.AlreadyExistsFileNames);
                }

                dbImportResult.WrittenByteArraySize = GetFileSizeWritten(fullPath);
                return dbImportResult;
            }
            catch (Exception ex)
            {
                Logger.Error("", ex, "CMS.Boddington.ImporterPlugin.PluginImport");

                DbImportResult errorResult = new DbImportResult();
                errorResult.ErrorMessages.Add("Unhandled Exceptions have occured as follows:");

                errorResult.ErrorMessages.Add("Message : " + ex.Message);
                errorResult.ErrorMessages.Add("Stack : " + ex);
                if (ex.InnerException != null)
                {
                    errorResult.ErrorMessages.Add("Message : " + ex.InnerException.Message);
                    errorResult.ErrorMessages.Add("Stack : " + ex.InnerException);
                }

                return errorResult;
            }
            finally
            {

                //we can clean-up
                if (Directory.Exists(Path.Combine(targetFolder, path)))
                {
                    Directory.Delete(Path.Combine(targetFolder, path), true);
                }

            }
        }
Example #16
0
 public AttachmentImporter(ImportFileMetaData metaData, BaseAttachmentDto baseAttachmentDto = null)
 {
     MetaData = metaData;
     WorkSheetName = ImportWorkSheetName.Attachments.ToString();
 }