public void UPDATEATTRIBUTES(Settings settings, DrawingData drawingData) { string attbName = ""; string attbValue = ""; int i = 0; var AM = new AttributeManager(); foreach (var attributeName in settings.PropertyNameList) { attbName = attributeName; attbValue = drawingData.PropertyValueList[i]; //Update TitleBlock if (i < settings.StartRevlinje && i >= settings.StartMerkeskilt) { AM.UPDATEATTRIBUTESINDATABASE( settings.TitleBlockName.ToUpper(), attbName, attbValue ); } //UpdateRevBlock if (i >= settings.StartRevlinje) { //Avgjør revisjonsindex og plassering int RevIndex = 1; for (int x = 1; x < 7; x++) { if (AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), "REV" + x) == "" || AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), "REV" + x) == drawingData.PropertyValueList[settings.StartRevlinje]) { RevIndex = x; break; } } AM.UPDATEATTRIBUTESINDATABASE( settings.RevBlockName.ToUpper(), attbName + RevIndex, attbValue ); } i++; } }
public void MOVEREVLINE(Settings settings, DrawingData drawingData, string RevisionToMove, string Direction, bool MoveRemaining) { int RevIndex = 1; var AM = new AttributeManager(); List <int> revIndexToMove = new List <int>(); //Avgjør revisjonsindex i gjeldende tegning. for (int i = 1; i < 7; i++) { if (AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), "REV" + i) == RevisionToMove) { RevIndex = i; break; } } switch (Direction) { case ("Up"): //Sjekker at det ikke er en revisjon rett over revisjonen som skal flyttes, samt at den ikke er øverst på listen. if (AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), "REV" + (RevIndex + 1).ToString()) == "" && RevIndex < 7) { switch (MoveRemaining) { case true: //Flytter gjeldende og alle revisjoner under opp. foreach (var attrib in settings.PropertyNameList) { } break; case false: //Flytter kun én revisjon opp var i = 0; foreach (var attribute in settings.PropertyNameList) { if (i > 9) { AM.UPDATEATTRIBUTESINDATABASE( settings.RevBlockName.ToUpper(), attribute + (RevIndex + 1).ToString(), AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), attribute + RevIndex) ); AM.UPDATEATTRIBUTESINDATABASE( settings.RevBlockName.ToUpper(), attribute + RevIndex, "" ); } i++; } break; } } else { Application.ShowAlertDialog("Unable to move revision up, either there is another revision above, or its already at the top"); return; } break; case ("Down"): //Sjekker at det ikke er en revisjon rett under revisjonen som skal flyttes, samt at den ikke er neders på listen. if (AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), "REV" + (RevIndex + -1).ToString()) == "" && RevIndex > 1) { switch (MoveRemaining) { case true: //Flytter gjeldende og alle revisjoner over ned. break; case false: //Flytter kun én revisjon ned var i = 0; foreach (var attribute in settings.PropertyNameList) { if (i > 9) { AM.UPDATEATTRIBUTESINDATABASE( settings.RevBlockName.ToUpper(), attribute + RevIndex, AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), attribute + (RevIndex + 1).ToString()) ); AM.UPDATEATTRIBUTESINDATABASE( settings.RevBlockName.ToUpper(), attribute + (RevIndex + 1).ToString(), "" ); } i++; } break; } } else { Application.ShowAlertDialog("Unable to move revision down, either there is another revision bellow, or its already at the bottom"); return; } break; } //revIndexToMove = checkForOtherRevisions(); //Flytter eventuelle overstående revisjoner ned. if (revIndexToMove.Count > 0) { foreach (var revIndex in revIndexToMove) { foreach (var attributeName in settings.PropertyNameList) { AM.UPDATEATTRIBUTESINDATABASE( settings.RevBlockName.ToUpper(), attributeName + (revIndex - 1).ToString(), AM.CHECKATTRIBUTEVALUE(settings.RevBlockName.ToUpper(), attributeName + revIndex) ); AM.UPDATEATTRIBUTESINDATABASE( settings.RevBlockName.ToUpper(), attributeName + (revIndex).ToString(), "" ); } } } }