Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ - обработка ввода, что посоветовал Скотт Гу / 9 сообщений из 9, страница 1 из 1
12.02.2008, 09:44
    #35125832
Bill Great
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
Привет всем! В продолжении темы . Дан был совет почитать Скотта Гу Что же он предлогает? В Step 5 Adding Nice Error Handling in our UI Tier он предлагает в DataContext добавить OnValidate

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
partial public class Prodct {
       partial void OnValidate(){
           if (условие не выполнено)
                         throw new Exception("Поле такое то не заполнено!")

         } 
}
Далее в экранной форме редактирования поймать это исключение! А где ErrorProvider и прочие красоты? Как указать какой контрол не заполнен?
...
Рейтинг: 0 / 0
12.02.2008, 14:13
    #35126990
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
ты плохо понял, во-первых, не в DataContext, а в класс Entity, а во-вторых, кроме базового Exception существует много других вариантов. Можешь хоть свой написать и передавать там какую угодно информацию
...
Рейтинг: 0 / 0
12.02.2008, 15:09
    #35127249
Bill Great
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
зыты плохо понял, во-первых, не в DataContext, а в класс Entity, а во-вторых, кроме базового Exception существует много других вариантов. Можешь хоть свой написать и передавать там какую угодно информацию
Уважаемый ЗЫ! Конечно я упростил, надо

Код: plaintext
1.
2.
3.
 public class EМояТаблица_Error : System.ApplicationException
    {
        public EМояТаблица_Error(string msg) : base(msg) { }
    } 
Но дело от этого не меняется! Нужно что бы ErrorProvider "подсветили" нужные контролы! Это вролдже и для Web было.
...
Рейтинг: 0 / 0
12.02.2008, 15:14
    #35127282
Bill Great
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
Конечно можно нарисовать свой класс
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
 #region Класс для ошибок
    public class column
    {
        public string ColumnName { get; set; }
        public string ColumnError { get; set; }
        public override string ToString()
        {
            return ColumnName;
        }

    }
    public class Columns : List<column>
    {
        public string GetColumnError(string ColumnName)
        {
            column col = this[ColumnName];
            if (col != null)
                return col.ColumnError;
            return String.Empty;
        }

        public void ClearErrors()
        {

            foreach (column item in this)
            {
                item.ColumnError = String.Empty;
            }
        }
        public column this[string ColumnName]
        {
            get
            {

                foreach (column col in this)
                    if (col.ColumnName.Contains(ColumnName))
                        return col;
                return null;
            }
        }

        internal void SetError(string ColumnName, string error_text)
        {
            column col = this[ColumnName];
            if (col != null)
                col.ColumnError = error_text;
        }
    } 
    #endregion

Далее в DataContext
partial class МойDataContext
{
partial class МояТаблица
{
// Приделываем колонки с ошибками
public Columns fcolumns = new Columns {
new column{ColumnName ="id"},
new column{ColumnName = "date"},
new column{ColumnName = "descr"},
...................

};
}
}
...
Рейтинг: 0 / 0
12.02.2008, 15:27
    #35127353
))
))
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
какая на обработка ввода? где у него "Поле такое то не заполнено!"? кто такой Скотта Гу??
...
Рейтинг: 0 / 0
12.02.2008, 15:34
    #35127392
Bill Great
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
))какая на обработка ввода? где у него "Поле такое то не заполнено!"? кто такой Скотта Гу??
Разговор про winapp. Для показа пользователю ошибок ввода используется
ErrorProvider presents a simple mechanism for indicating to the end user that a control on a form has an error associated with it. If an error description string is specified for the control, an icon appears next to the control. The icon flashes in the manner specified by BlinkStyle, at the rate specified by BlinkRate. When the mouse hovers over the icon, a ToolTip appears showing the error description string.

Typically, you use ErrorProvider in association with data-bound controls. When using ErrorProvider with data-bound controls, you must specify the ContainerControl, either in the constructor or by setting the ContainerControl property.
...
Рейтинг: 0 / 0
12.02.2008, 15:43
    #35127451
))
))
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
да мне насрать на ErrorProvider. по ссылке написано бизнес-правило, которому насрать какие у скотта поля не заполнены, и есть ли такие поля в природе или на форме.
...
Рейтинг: 0 / 0
12.02.2008, 16:04
    #35127561
))
))
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ - обработка ввода, что посоветовал Скотт Гу
чуть не забыл с кем имею... БИЗНЕС-ПРАВИЛО , дерево "этот объект нельзя изменять по вторникам". где обработка ввода, где поля?
...
Рейтинг: 0 / 0
31.03.2008, 17:10
    #35225236
LINQ - обработка ввода, что посоветовал Скотт Гу
Статья на эту тему. Основная идея класс таблиц наследовать от базового с обработкой ошибок!
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ - обработка ввода, что посоветовал Скотт Гу / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]