Пример #1
0
        /// <summary>
        /// Создать новый объект для добавления в БД на основании Post.
        /// </summary>
        /// <param name="post">Сообщение для публикации</param>
        /// <param name="clientTimeZone">Часовой пояс клиента</param>
        /// <param name="adLogin">Логин пользователя</param>
        /// <param name="cancellationToken">Токен отмены</param>
        public static async Task <PostsDB> CreatePostsDB(Post post, int clientTimeZone, string adLogin,
                                                         CancellationToken cancellationToken)
        {
            PostsDB postDB = new PostsDB()
            {
                Author  = Singleton <ProxyADLoginsDB> .Values[adLogin],
                Date    = post.Date,
                Message = post.Message ?? "",
                AuthorPermissionLevel = PermissionLevel.GetInt(adLogin),
                ClientTimeZone        = clientTimeZone,
                Account = await FindAccountAndLogErrorAsync <PostsDB>(post.Account1CCode, cancellationToken)
            };

            return(postDB);
        }
Пример #2
0
        /// <summary>
        /// Установить проверяющего асинхронно.
        /// </summary>
        /// <param name="account1CCode">Номер договора 1С</param>
        /// <param name="login">Логин проверяющего</param>
        /// <param name="assignDate">Дата операции</param>
        /// <param name="timeZone">Часовой пояс проверяющего</param>
        /// <param name="cancellationToken">Токен отмены</param>
        public async Task SetInspectionAsync(string account1CCode, string login, DateTime assignDate, int timeZone,
                                             CancellationToken cancellationToken)
        {
            SetInspectionCheckParams(login, assignDate, timeZone);

            using (IDBSource dbSource = new MKKContext()) {
                Account1C account1C = await FindAccountAndLogErrorAsync <EFServiceInspecting>(account1CCode, cancellationToken);

                ADLoginsDB adLogin = Singleton <ProxyADLoginsDB> .Values[login];

                await dbSource.AccountInspectingDB.AddAsync(
                    new AccountInspectingDB()
                {
                    Account1CID    = account1C.Account1CCode,
                    OperationDate  = assignDate,
                    TimeZone       = timeZone,
                    UserPermission = PermissionLevel.GetInt(login),
                    ADLoginsDBID   = adLogin.ID
                },
                    cancellationToken);

                await dbSource.SaveChangesAndLogErrorAsync <EFServiceInspecting>(cancellationToken);
            }
        }