Ejemplo n.º 1
0
        private void SavePipeDocuments(Pipe pipe, CmsEntities cee)
        {
            //Delete originals
            List<DocumentEquipment> originals = (from x in cee.DocumentEquipments
                                                 where x.EquipmentId == pipe.Id
                                                       && x.EquipmentTypeId == (int)CommonUtils.EquipmentTypeCode.PIPE
                                                 select x).ToList();
            originals.ForEach(x => cee.DocumentEquipments.Remove(x));

            foreach (DocumentEquipment document in pipe.PipeDocuments)
            {
                DocumentEquipment newObject = new DocumentEquipment
                    {
                        EquipmentId = pipe.Id,
                        DocumentId = document.DocumentId,
                        EquipmentTypeId = (int)CommonUtils.EquipmentTypeCode.PIPE
                    };

                cee.DocumentEquipments.Add(newObject);
            }
        }
Ejemplo n.º 2
0
        private void InsertData(IList<RelatedDocumentDataAdapter> importData)
        {
            if (importData.Count == 0)
            {
                RaiseMessage(CommonUtils.MessageType.Warning, NoDataFoundForWorkSheetMessage());
                return;
            }

            for (int i = 0; i < importData.Count; i++)
            {
                int? equipmentId = null;

                RelatedDocumentDataAdapter adapter = importData[i];

                switch (MetaData.EquipmentTypeCode)
                {
                    case CommonUtils.EquipmentTypeCode.CONTR:
                        equipmentId = (from x in Cee.ControlSystems where x.Name.Equals(adapter.EquipmentName, StringComparison.CurrentCultureIgnoreCase) select x.Id).FirstOrDefault();
                        break;
                    case CommonUtils.EquipmentTypeCode.ELECT:
                        equipmentId = (from x in Cee.ElectricalEquipments where x.Name.Equals(adapter.EquipmentName, StringComparison.CurrentCultureIgnoreCase) select x.Id).FirstOrDefault();
                        break;
                    case CommonUtils.EquipmentTypeCode.INSTR:
                        equipmentId = (from x in Cee.Instruments where x.Name.Equals(adapter.EquipmentName, StringComparison.CurrentCultureIgnoreCase) select x.Id).FirstOrDefault();
                        break;
                    case CommonUtils.EquipmentTypeCode.MECH:
                        equipmentId = (from x in Cee.MechanicalEquipments where x.Name.Equals(adapter.EquipmentName, StringComparison.CurrentCultureIgnoreCase) select x.Id).FirstOrDefault();
                        break;
                    case CommonUtils.EquipmentTypeCode.MOB:
                        equipmentId = (from x in Cee.MobilePlants where x.Name.Equals(adapter.EquipmentName, StringComparison.CurrentCultureIgnoreCase) select x.Id).FirstOrDefault();
                        break;
                    case CommonUtils.EquipmentTypeCode.PIPE:
                        equipmentId = (from x in Cee.Pipes where x.Name.Equals(adapter.EquipmentName, StringComparison.CurrentCultureIgnoreCase) select x.Id).FirstOrDefault();
                        break;
                    case CommonUtils.EquipmentTypeCode.DOC:
                        equipmentId = (from x in Cee.Documents where x.Name.Equals(adapter.EquipmentName, StringComparison.CurrentCultureIgnoreCase) select x.Id).FirstOrDefault();
                        break;
                }

                if (!equipmentId.HasValue)
                {
                    RaiseMessage(CommonUtils.MessageType.Error, string.Format(BuildItemNameDoesNotExistInDbMessage(adapter.EquipmentName, i + 1)));
                    continue;
                }

                Document dbMatchDoc = (from x in Cee.Documents where x.Name.Equals(adapter.DocumentName, StringComparison.CurrentCultureIgnoreCase) select x).FirstOrDefault();
                if (dbMatchDoc == null)
                {
                    RaiseMessage(CommonUtils.MessageType.Error, string.Format(BuildItemNameDoesNotExistInDbMessage(adapter.DocumentName, i + 1)));
                    continue;
                }

                var equipmentTypeId = (int)MetaData.EquipmentTypeCode;

                var countDup = (from x in Cee.DocumentEquipments where x.DocumentId == dbMatchDoc.Id && x.EquipmentId == equipmentId.Value && x.EquipmentTypeId == equipmentTypeId select x).Count();

                if (countDup > 0)
                {
                    RaiseMessage(CommonUtils.MessageType.Error, BuildDuplicateNameExistsInDbMessage(string.Format("Document Name: {0}, Equipment Name: {1} Equipment Type: {2}", dbMatchDoc.Name, adapter.EquipmentName, MetaData.EquipmentTypeCode), i + 1));
                    continue;
                }

                var documentEquipment = new DocumentEquipment
                {
                    DocumentId = dbMatchDoc.Id,
                    EquipmentTypeId = equipmentTypeId,
                    EquipmentId = equipmentId.Value
                };
                Cee.DocumentEquipments.Add(documentEquipment);

                //https://jira.issgroup.com.au/browse/BODCMS-1882
                //Save documents both ways
                if (MetaData.EquipmentTypeCode == CommonUtils.EquipmentTypeCode.DOC)
                {
                    var documentEquipmentOtherWay = new DocumentEquipment
                    {
                        DocumentId = equipmentId.Value,
                        EquipmentTypeId = equipmentTypeId,
                        EquipmentId = dbMatchDoc.Id
                    };
                    Cee.DocumentEquipments.Add(documentEquipmentOtherWay);
                }

                string message = string.Format("Processed Tag Name '{0}' - Document '{1}'.", adapter.EquipmentName, dbMatchDoc.Name);
                mResultMessages.Add(message);
            }

            if (mResultMessages.Count == 0)
            {
                RaiseMessage(CommonUtils.MessageType.Warning, string.Format("No DocumentEquipments were added from from worksheet {0}.", WorkSheetName));
            }
            else
            {
                //SAVE
                Cee.SaveChanges();

                foreach (string message in mResultMessages)
                {
                    RaiseMessage(CommonUtils.MessageType.Added, message);
                }
            }
        }
        private void AddButtonHandler(object parameter)
        {
            AddRelatedDocumentDialog dialog = new AddRelatedDocumentDialog();
            dialog.Show();
            dialog.Closed +=
                (s1, e1) =>
                {
                    if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
                    {
                        List<int> docIds = (dialog.SelectedDocuments.Select(x => x.Id)).ToList();

                        CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
                        cmsWebServiceClient.GetDocumentsByIdsCompleted +=
                            (s2, e2) =>
                            {
                                List<Document> toAdd = e2.Result;
                                List<DocumentEquipment> list = mElectricalEquipment.ElectricalDocuments;

                                if (e2.Result != null && e2.Result.Count > 0)
                                {
                                    foreach (Document document in toAdd)
                                    {
                                        DocumentEquipment existing = (from x in mElectricalEquipment.ElectricalDocuments
                                                                                where x.DocumentId == document.Id
                                                                                      && x.EquipmentId == mElectricalEquipment.Id
                                                                                      && x.EquipmentTypeId == (int)CommonUtils.EquipmentTypeCode.ELECT
                                                                                select x).FirstOrDefault();

                                        if (existing == null)
                                        {
                                            DocumentEquipment newdoc = new DocumentEquipment();
                                            newdoc.DocumentId = document.Id;
                                            newdoc.Document = document;
                                            newdoc.EquipmentId = mElectricalEquipment.Id;
                                            newdoc.EquipmentTypeId = (int) CommonUtils.EquipmentTypeCode.ELECT;

                                            list.Add(newdoc);
                                        }
                                    }
                                }

                                Documents = new ObservableCollection<DocumentEquipment>(list);
                                RaiseChangeEvent();
                            };

                        cmsWebServiceClient.GetDocumentsByIdsAsync(docIds);
                    }
                };
        }
Ejemplo n.º 4
0
        private void SaveInstrumentDocuments(Instrument instrument, CmsEntities cee)
        {
            if (instrument.InstrumentDocuments == null)
            {
                return;
            }

            //Delete originals
            List<DocumentEquipment> originals = (from x in cee.DocumentEquipments
                                                 where x.EquipmentId == instrument.Id
                                                       && x.EquipmentTypeId == (int)CommonUtils.EquipmentTypeCode.INSTR
                                                 select x).ToList();
            originals.ForEach(x => cee.DocumentEquipments.Remove(x));

            foreach (DocumentEquipment document in instrument.InstrumentDocuments)
            {
                DocumentEquipment newObject = new DocumentEquipment
                {
                    EquipmentId = instrument.Id,
                    DocumentId = document.DocumentId,
                    EquipmentTypeId = (int)CommonUtils.EquipmentTypeCode.INSTR
                };

                cee.DocumentEquipments.Add(newObject);
            }
        }
Ejemplo n.º 5
0
        private void SaveElectricalDocuments(ElectricalEquipment electricalEquipment, CmsEntities cee)
        {
            if (electricalEquipment.ElectricalDocuments == null) { return; }

            //Delete originals
            List<DocumentEquipment> originals = (from x in cee.DocumentEquipments
                                                 where x.EquipmentId == electricalEquipment.Id
                                                       && x.EquipmentTypeId == (int)CommonUtils.EquipmentTypeCode.ELECT
                                                 select x).ToList();
            originals.ForEach(x => cee.DocumentEquipments.Remove(x));

            foreach (DocumentEquipment document in electricalEquipment.ElectricalDocuments)
            {
                DocumentEquipment newObject = new DocumentEquipment
                    {
                        EquipmentId = electricalEquipment.Id,
                        DocumentId = document.DocumentId,
                        EquipmentTypeId = (int)CommonUtils.EquipmentTypeCode.ELECT
                    };

                cee.DocumentEquipments.Add(newObject);
            }
        }
Ejemplo n.º 6
0
        private void SaveMobilePlantDocuments(MobilePlant mobilePlant, CmsEntities cee)
        {
            //Delete originals
            List<DocumentEquipment> originals = (from x in cee.DocumentEquipments
                                                 where x.EquipmentId == mobilePlant.Id
                                                 && x.EquipmentTypeId == (int)CommonUtils.EquipmentTypeCode.MOB
                                                 select x).ToList();
            originals.ForEach(x => cee.DocumentEquipments.Remove(x));

            if (mobilePlant.MobilePlantDocuments != null)
            {
                foreach (DocumentEquipment document in mobilePlant.MobilePlantDocuments)
                {
                    DocumentEquipment newObject = new DocumentEquipment
                    {
                        EquipmentId = mobilePlant.Id,
                        DocumentId = document.DocumentId,
                        EquipmentTypeId = (int)CommonUtils.EquipmentTypeCode.MOB
                    };

                    cee.DocumentEquipments.Add(newObject);
                }
            }
        }
Ejemplo n.º 7
0
        private void SaveData(IList<DocumentEquipmentDataAdapter> importData)
        {
            if (importData.Count == 0)
            {
                RaiseMessage(CommonUtils.MessageType.Warning, NoDataFoundForWorkSheetMessage());
                return;
            }

            for (int i = 0; i < importData.Count; i++)
            {
                DocumentEquipmentDataAdapter adapter = importData[i];

                //start to fill out the Ids.

                //DOCUMENTID
                int documentId = (from x in mExistingDocuments where string.Compare(x.Name, adapter.DocumentName, true, CultureInfo.CurrentCulture) == 0 select x.Id).FirstOrDefault();

                if (documentId != 0)
                {
                    adapter.DocumentId = documentId;
                }
                else
                {
                    RaiseMessage(CommonUtils.MessageType.Error, string.Format(BuildItemNameDoesNotExistInDbMessage(adapter.DocumentName, adapter.RowNumber)));
                    continue;
                }

                //EQUIPMENTTYPEID
                int equipmentTypeId = (from x in mExistingEquipmentTypes where string.Compare(x.Code, adapter.EquipmentTypeName, true, CultureInfo.CurrentCulture) == 0 select x.Id).FirstOrDefault();

                if (equipmentTypeId != 0)
                {
                    adapter.EquipmentTypeId = equipmentTypeId;
                }
                else
                {
                    RaiseMessage(CommonUtils.MessageType.Error, string.Format(BuildItemNameDoesNotExistInDbMessage(adapter.EquipmentTypeName, adapter.RowNumber)));
                    continue;

                }

                //set EQUIPMENTID
                if (SetEquipmentIdFailed(adapter))
                {
                    continue;
                }

                //check excel for dups
                int count = (from x in importData where x.DocumentId == adapter.DocumentId && x.EquipmentTypeId == adapter.EquipmentTypeId && x.EquipmentId == adapter.EquipmentId select x).Count();

                if (count > 1)
                {
                    RaiseMessage(CommonUtils.MessageType.Error, string.Format("Duplicate Name found '{0}-{1}-{2}' at row {3}. Skipping.", adapter.DocumentName, adapter.Tag, adapter.EquipmentTypeName, i));
                    continue;
                }

                //check Database for existing
                count = (from x in mExistingDocumentEquipments
                    where
                        x.DocumentId == adapter.DocumentId &&
                        x.EquipmentTypeId == adapter.EquipmentTypeId &&
                        x.EquipmentId == adapter.EquipmentId
                    select x).Count();
                if (count > 0)
                {
                    RaiseMessage(CommonUtils.MessageType.Error, string.Format("Item '{0}-{1}-{2}'  at row {3} already exists in database. Skipping.", adapter.DocumentName, adapter.Tag, adapter.EquipmentTypeName, i));
                    continue;
                }

                //Check if we have already process this
                count = (from x in mSavedResults
                         where
                             x.DocumentId == adapter.DocumentId &&
                             x.EquipmentTypeId == adapter.EquipmentTypeId &&
                             x.EquipmentId == adapter.EquipmentId
                         select x).Count();
                if (count > 0)
                {
                    RaiseMessage(CommonUtils.MessageType.Error, string.Format("Item '{0}-{1}-{2}'  at row {3} already exists in database. Skipping.", adapter.DocumentName, adapter.Tag, adapter.EquipmentTypeName, i));
                    continue;
                }

                if (!adapter.IsValid())
                {
                    foreach (string message in adapter.ErrorMessages)
                    {
                        RaiseMessage(CommonUtils.MessageType.Error, message);
                    }
                    continue;
                }

                var documentEquipment = new DocumentEquipment();
                documentEquipment.EquipmentTypeId = adapter.EquipmentTypeId;
                documentEquipment.EquipmentId = adapter.EquipmentId;
                documentEquipment.DocumentId = adapter.DocumentId;
                mSavedResults.Add(documentEquipment);

            }

            if (mSavedResults.Count == 0)
            {
                RaiseMessage(CommonUtils.MessageType.Warning, string.Format("No Document Equipments  were processed from worksheet {0}.", WorkSheetName));
            }
            else
            {
                //SAVE
                Cee.DocumentEquipments.AddRange(mSavedResults);
                Cee.SaveChanges();
            }
        }
        private void SaveControlSystemtDocuments(ControlSystem controlSystem, CmsEntities cee)
        {
            //Delete originals
            var originals = (from x in cee.DocumentEquipments
                             where x.EquipmentId == controlSystem.Id
                                   && x.EquipmentTypeId == (int)CommonUtils.EquipmentTypeCode.CONTR
                             select x).ToList();
            originals.ForEach(x => cee.DocumentEquipments.Remove(x));

            if (controlSystem.ControlSystemDocuments != null)
            {
                foreach (var document in controlSystem.ControlSystemDocuments)
                {
                    var newObject = new DocumentEquipment
                    {
                        EquipmentId = controlSystem.Id,
                        DocumentId = document.DocumentId,
                        EquipmentTypeId = (int)CommonUtils.EquipmentTypeCode.CONTR
                    };

                    cee.DocumentEquipments.Add(newObject);
                }
            }
        }