1. C# / Говнокод #9974

    +110

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    public  Operation.OperationStatus   OperState
            {
                get { return fOperState; }
                set
                {
                    fOperState  =   value;
                    // Надписи кнопок смены статуса
                    TOperation.TOperationState  
                        OperationState  =   TOperation.OperationState(value);
                    btnOldState.Text    =   OperationState.OldName;
                    btnNewState.Text    =   OperationState.NewName;
                    // Видимость кнопок смены статуса
                    switch (value)
                    {
                        case Operation.OperationStatus.New          :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && OwnerOper.AccessInput && !ReadOnlyMode;
                            break;
    
                        case Operation.OperationStatus.DataInput    :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && OwnerOper.AccessInput && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && OwnerOper.AccessCheck && !ReadOnlyMode;
                            break;
    
                        case Operation.OperationStatus.DataCheck    :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && OwnerOper.AccessCheck && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && OwnerOper.AccessConfirm && !ReadOnlyMode;
                            break;
    
                        case Operation.OperationStatus.Closed       :
                            btnOldState.Visible =   OperationState.OldName.Length > 0 && OwnerOper.AccessConfirm && !ReadOnlyMode;
                            btnNewState.Visible =   OperationState.NewName.Length > 0 && !ReadOnlyMode;
                            break;
                    }
                }
            }
    public  static  TOperationState OperationState(Operation.OperationStatus pState)
            {
                TOperationState Result  =   new TOperationState();
                switch (pState)
                {
                    case Operation.OperationStatus.New          :
                        Result.OldName  =   "";
                        Result.NewName  =   "Данные введены";
                        break;
                    case Operation.OperationStatus.DataInput    :
                        Result.OldName  =   "Отменить \"Данные введены\"";
                        Result.NewName  =   "Данные проверены";
                        break;
                    case Operation.OperationStatus.DataCheck    :
                        Result.OldName  =   "Отменить \"Данные проверены\"";
                        Result.NewName  =   "Завершена";
                        break;
                    case Operation.OperationStatus.Closed       :
                        Result.OldName  =   "Отменить \"Завершена\"";
                        Result.NewName  =   "";
                        break;
                }
                return Result;
            }

    Не прям штобы очень, но шоколад есть...

    Запостил: gcoder, 18 Апреля 2012

    Комментарии (3) RSS

    • не айс...
      Ответить
    • ехал OperationStatus через OperationState
      Ответить
    • Хм, в минус ушло. Наверно это тру, так писать, сначала задать надписи на кнопках, а потом по ним видимость задавать и т.д. Ну ок...)
      Ответить

    Добавить комментарий