public async Task UpdateUsersettingsAsync(DbpUsersettings usersetting) { try { if (!Context.DbpUsersetting.AsNoTracking().Any(x => x.Usercode == usersetting.Usercode && x.Settingtype == usersetting.Settingtype)) { //add Context.DbpUsersetting.Add(usersetting); } else { //update Context.Attach(usersetting); Context.Entry(usersetting).Property(x => x.Settingtext).IsModified = true; Context.Entry(usersetting).Property(x => x.Settingtextlong).IsModified = true; } await Context.SaveChangesAsync(); } catch (System.Exception ex) { Logger.Error(ex.ToString()); //SobeyRecException.ThrowSelf(Locallanguage.LoadString("Fill SetUserSetting Exception "),ex,2,10013019); SobeyRecException.ThrowSelfNoParam("UpdateUsersettingsAsync", GlobalDictionary.GLOBALDICT_CODE_FILL_USER_SETUSERSETTING_EXCEPTION, Logger, ex); } }
public async Task UpdateUserSettingAsync(string userCode, string settingType, string settingText) { if (userCode == string.Empty || settingType == string.Empty) { return; } int byteLength = 0; byteLength = Encoding.UTF8.GetByteCount(settingText); //修改为当字符串的字节数小于4000时,将METADATA存入到METADATA中,反之存到METADATALONG,不过在存之前先判断字符串的字符数, //若字符数小于或等于4000,将补足空格到4001个字符,存入到METADATALONG中。 var usersetting = new DbpUsersettings() { Usercode = userCode, Settingtype = settingType }; if (byteLength > 4000) { usersetting.Settingtextlong = FillBlankToString(settingText, byteLength); } else { usersetting.Settingtext = settingText; } await Store.UpdateUsersettingsAsync(usersetting); }