}                                                               //Краткий состав документа
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document23160(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld24752RRef
						,_Fld24753
						,_Fld24754RRef
						,_Fld24755
						,_Fld24756
						,_Fld24757
						,_Fld24758
						,_Fld24759
						,_Fld24760RRef
						,_Fld24761
						,_Fld24762)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@Организация
						,@Комментарий
						,@Ответственный
						,@ДатаПлатежа
						,@МесяцНалоговогоПериода
						,@Сумма
						,@ПлатежноеПоручениеНомер
						,@ПлатежноеПоручениеДата
						,@Ставка
						,@ОКАТО_КПП
						,@КраткийСоставДокумента)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document23160
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld24752RRef	= @Организация
						,_Fld24753	= @Комментарий
						,_Fld24754RRef	= @Ответственный
						,_Fld24755	= @ДатаПлатежа
						,_Fld24756	= @МесяцНалоговогоПериода
						,_Fld24757	= @Сумма
						,_Fld24758	= @ПлатежноеПоручениеНомер
						,_Fld24759	= @ПлатежноеПоручениеДата
						,_Fld24760RRef	= @Ставка
						,_Fld24761	= @ОКАТО_КПП
						,_Fld24762	= @КраткийСоставДокумента
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("ДатаПлатежа", ДатаПлатежа);
                    Команда.Parameters.AddWithValue("МесяцНалоговогоПериода", МесяцНалоговогоПериода);
                    Команда.Parameters.AddWithValue("Сумма", Сумма);
                    Команда.Parameters.AddWithValue("ПлатежноеПоручениеНомер", ПлатежноеПоручениеНомер);
                    Команда.Parameters.AddWithValue("ПлатежноеПоручениеДата", ПлатежноеПоручениеДата);
                    Команда.Parameters.AddWithValue("Ставка", Ставка.Ключ());
                    Команда.Parameters.AddWithValue("ОКАТО_КПП", ОКАТО_КПП);
                    Команда.Parameters.AddWithValue("КраткийСоставДокумента", КраткийСоставДокумента);
                    Команда.ExecuteNonQuery();
                }
            }
        }
Esempio n. 2
0
        }                                              //Код ИФНС
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document23175(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld25523RRef
						,_Fld25524
						,_Fld25525
						,_Fld25526RRef
						,_Fld25527
						,_Fld25528RRef
						,_Fld25529
						,_Fld25530RRef
						,_Fld25531RRef
						,_Fld25532RRef
						,_Fld25533RRef
						,_Fld25534
						,_Fld25535
						,_Fld25536
						,_Fld25537
						,_Fld25538RRef
						,_Fld25539
						,_Fld25540
						,_Fld25541
						,_Fld25542
						,_Fld25543
						,_Fld25544
						,_Fld25545
						,_Fld25546
						,_Fld25547
						,_Fld25548
						,_Fld25549
						,_Fld25550
						,_Fld25551RRef
						,_Fld25552RRef
						,_Fld25553
						,_Fld25554
						,_Fld25555
						,_Fld25556
						,_Fld25557)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@Ответственный
						,@Комментарий
						,@НалоговыйПериод
						,@Организация
						,@ОКАТО_КПП
						,@СпособФормирования
						,@Телефон
						,@СправкуПодписал
						,@ДолжностьПодписавшегоЛица
						,@Сотрудник
						,@Ставка
						,@Фамилия
						,@Имя
						,@Отчество
						,@АдресРФ
						,@ВидДокумента
						,@СерияДокумента
						,@НомерДокумента
						,@ОбщаяСуммаДохода
						,@ОблагаемаяСуммаДохода
						,@Исчислено
						,@Задолженность
						,@ИзлишнеУдержано
						,@Удержано
						,@Перечислено
						,@АдресЗарубежом
						,@ДатаРождения
						,@ИНН
						,@Гражданство
						,@СтатусНалогоплательщика
						,@ДатаУведомления
						,@НомерУведомления
						,@КодНалоговогоОрганаУведомления
						,@СпециальныйДокумент2011года
						,@КодИФНС)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document23175
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld25523RRef	= @Ответственный
						,_Fld25524	= @Комментарий
						,_Fld25525	= @НалоговыйПериод
						,_Fld25526RRef	= @Организация
						,_Fld25527	= @ОКАТО_КПП
						,_Fld25528RRef	= @СпособФормирования
						,_Fld25529	= @Телефон
						,_Fld25530RRef	= @СправкуПодписал
						,_Fld25531RRef	= @ДолжностьПодписавшегоЛица
						,_Fld25532RRef	= @Сотрудник
						,_Fld25533RRef	= @Ставка
						,_Fld25534	= @Фамилия
						,_Fld25535	= @Имя
						,_Fld25536	= @Отчество
						,_Fld25537	= @АдресРФ
						,_Fld25538RRef	= @ВидДокумента
						,_Fld25539	= @СерияДокумента
						,_Fld25540	= @НомерДокумента
						,_Fld25541	= @ОбщаяСуммаДохода
						,_Fld25542	= @ОблагаемаяСуммаДохода
						,_Fld25543	= @Исчислено
						,_Fld25544	= @Задолженность
						,_Fld25545	= @ИзлишнеУдержано
						,_Fld25546	= @Удержано
						,_Fld25547	= @Перечислено
						,_Fld25548	= @АдресЗарубежом
						,_Fld25549	= @ДатаРождения
						,_Fld25550	= @ИНН
						,_Fld25551RRef	= @Гражданство
						,_Fld25552RRef	= @СтатусНалогоплательщика
						,_Fld25553	= @ДатаУведомления
						,_Fld25554	= @НомерУведомления
						,_Fld25555	= @КодНалоговогоОрганаУведомления
						,_Fld25556	= @СпециальныйДокумент2011года
						,_Fld25557	= @КодИФНС
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("НалоговыйПериод", НалоговыйПериод);
                    Команда.Parameters.AddWithValue("ОКАТО_КПП", ОКАТО_КПП);
                    Команда.Parameters.AddWithValue("СпособФормирования", СпособФормирования.Ключ());
                    Команда.Parameters.AddWithValue("Телефон", Телефон);
                    Команда.Parameters.AddWithValue("Ставка", Ставка.Ключ());
                    Команда.Parameters.AddWithValue("Фамилия", Фамилия);
                    Команда.Parameters.AddWithValue("Имя", Имя);
                    Команда.Parameters.AddWithValue("Отчество", Отчество);
                    Команда.Parameters.AddWithValue("АдресРФ", АдресРФ);
                    Команда.Parameters.AddWithValue("СерияДокумента", СерияДокумента);
                    Команда.Parameters.AddWithValue("НомерДокумента", НомерДокумента);
                    Команда.Parameters.AddWithValue("ОбщаяСуммаДохода", ОбщаяСуммаДохода);
                    Команда.Parameters.AddWithValue("ОблагаемаяСуммаДохода", ОблагаемаяСуммаДохода);
                    Команда.Parameters.AddWithValue("Исчислено", Исчислено);
                    Команда.Parameters.AddWithValue("Задолженность", Задолженность);
                    Команда.Parameters.AddWithValue("ИзлишнеУдержано", ИзлишнеУдержано);
                    Команда.Parameters.AddWithValue("Удержано", Удержано);
                    Команда.Parameters.AddWithValue("Перечислено", Перечислено);
                    Команда.Parameters.AddWithValue("АдресЗарубежом", АдресЗарубежом);
                    Команда.Parameters.AddWithValue("ДатаРождения", ДатаРождения);
                    Команда.Parameters.AddWithValue("ИНН", ИНН);
                    Команда.Parameters.AddWithValue("СтатусНалогоплательщика", СтатусНалогоплательщика.Ключ());
                    Команда.Parameters.AddWithValue("ДатаУведомления", ДатаУведомления);
                    Команда.Parameters.AddWithValue("НомерУведомления", НомерУведомления);
                    Команда.Parameters.AddWithValue("КодНалоговогоОрганаУведомления", КодНалоговогоОрганаУведомления);
                    Команда.Parameters.AddWithValue("СпециальныйДокумент2011года", СпециальныйДокумент2011года);
                    Команда.Parameters.AddWithValue("КодИФНС", КодИФНС);
                    Команда.ExecuteNonQuery();
                }
            }
        }