public void EditLabelForm(Label labelInfo)
        {
            LabelError error;
            error = AdministrationClient.Instance.LockLabel(labelInfo);

            if ((error & LabelError.NoError) == error)
            {
                try
                {
                    using (LabelForm frm = new LabelForm(labelInfo))
                        frm.ShowDialog();
                }
                finally
                {
                    error = AdministrationClient.Instance.UnlockLabel(labelInfo);
                    if ((error & LabelError.NoError) != error) // Если возникла ошибка при разблокировке
                    {
                        MessageBoxAdv.Show(GetErrorMessage(error, labelInfo), "Ошибка");
                    }
                }
            }
            else // Если возникла ошибка при блокировке
            {
                MessageBoxAdv.Show(GetErrorMessage(error, labelInfo), "Ошибка");
            }
        }
 public LabelError AddLabel(Label labelInfo)
 {
     return AdministrationClient.Instance.AddLabel(labelInfo);
 }
 public LabelError UpdateLabel(Label labelInfo)
 {
     return AdministrationClient.Instance.UpdateLabel(labelInfo);
 }
        public string GetErrorMessage(LabelError error, Label labelInfo)
        {
            string errorMessage = "";

            if ((error & LabelError.LockedAlready) == LabelError.LockedAlready)
                errorMessage += "- Метка с названием \"" + labelInfo.Name + "\" заблокирована\n";

            if ((error & LabelError.NoName) == LabelError.NoName)
                errorMessage += "- У метки отсутствует название\n";

            if ((error & LabelError.SystemLabel) == LabelError.SystemLabel)
                errorMessage += "-  Это системная  метка, с которой запрещены какие - либо операции\n";

            if ((error & LabelError.DeletedAlready) == LabelError.DeletedAlready)
                errorMessage += "- Метка " + (labelInfo == null ? "" : "\"" + labelInfo.Name + "\" ") +
                                "уже удалена\n";

            if ((error & LabelError.LabelAlreadyExist) == LabelError.LabelAlreadyExist)
                errorMessage += "- Метка с названием " + (labelInfo == null ? "" : "\"" + labelInfo.Name + "\" ") +
                                "уже учтена в Системе\n";
            
            if ((error & LabelError.NoDeleted) == LabelError.NoDeleted)
                errorMessage += "- Метку не удалось удален\n";

            if ((error & LabelError.UnlockedAlready) == LabelError.UnlockedAlready)
                errorMessage += "- Метка уже разблокирован\n";

            //if ((error & LabelError.WorkInSystem) == LabelError.WorkInSystem)
            //    errorMessage += "- Запись недоступна для изменения: пользователь работает в Системе\n";

            return errorMessage;
        }