/// <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); }
/// <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); } }