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++;
            }
        }
예제 #2
0
        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(),
                            ""
                            );
                    }
                }
            }
        }