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); } }
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); } }; }
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); } }
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); } }
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); } } }
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); } } }