/// <summary> /// 新增\修改 /// </summary> /// <param name="Dto"></param> /// <returns></returns> public async Task <Guid> SaveAsync(Sys_MenuDto Dto) { var model = Dto.Model; var functionIds = Dto.FunctionIds; model = await this.InsertOrUpdateAsync(model); // await dbMenuFunction.DeleteAsync(w => w.MenuFunction_MenuID == model.Menu_ID); if (functionIds.Count > 0) { var _Sys_MenuFunctionList = await dbMenuFunction.ToListAsync(w => w.MenuFunction_MenuID == model.Menu_ID); foreach (var item in functionIds) { var _Sys_MenuFunction = _Sys_MenuFunctionList.FirstOrDefault(w => w.MenuFunction_FunctionID == item); var menufuncModel = new Sys_MenuFunction(); menufuncModel.MenuFunction_ID = _Sys_MenuFunction == null?Guid.NewGuid() : _Sys_MenuFunction.MenuFunction_ID; menufuncModel.MenuFunction_FunctionID = item; menufuncModel.MenuFunction_MenuID = model.Menu_ID; await dbMenuFunction.InsertAsync(menufuncModel); } } return(model.Menu_ID); }
/// <summary> /// 写入操作日志 /// </summary> public async Task InsertAppLogAsync() { var _QueryString = httpContext.Request.QueryString.ToString(); var _ApiUrl = httpContext.Request.Path; var _IP = httpContext.Connection.RemoteIpAddress.ToString(); //本机不记录 // if (_IP == "::1") return; var body = string.Empty; var form = string.Empty; //body try { //读取 body 信息 var reader = new StreamReader(httpContext.Request.Body); body = await reader.ReadToEndAsync(); httpContext.Request.Body.Position = 0;//必须存在 //Stream stream = httpContext.Request.Body; //byte[] buffer = new byte[httpContext.Request.ContentLength.Value]; //await stream.ReadAsync(buffer, 0, buffer.Length); //body = Encoding.UTF8.GetString(buffer); } catch (Exception) { } //form try { //读取 表单 信息 var _Form = httpContext.Request.Form; if (_Form != null) { var _Dictionary = new Dictionary <string, object>(); foreach (var key in _Form.Keys) { _Dictionary[key] = _Form[key]; } form = JsonConvert.SerializeObject(_Dictionary); } } catch (Exception) { } var appLogModel = new Sys_AppLog(); appLogModel.AppLog_Api = _ApiUrl; appLogModel.AppLog_IP = _IP; appLogModel.AppLog_Form = form; appLogModel.AppLog_QueryString = _QueryString; appLogModel.AppLog_FormBody = body; appLogModel.AppLog_UserID = info?.UserID; await dbAppLog.InsertAsync(appLogModel); }
/// <summary> /// 新增\修改 /// </summary> /// <param name="Dto"></param> /// <returns></returns> public async Task <Guid> SaveAsync(Sys_UserDto Dto) { var model = Dto.Model; var roleIds = Dto.RoleIds; if (string.IsNullOrWhiteSpace(model.User_Pwd)) { MessageBox.Show("密码不能为空!"); } if (model.User_ID == Guid.Empty) { model.User_Pwd = string.IsNullOrWhiteSpace(model.User_Pwd) ? "123" : model.User_Pwd; //Tools.MD5Encrypt("123"); model = await this.InsertAsync(model); } else { await this.UpdateByIdAsync(model); } //变更用户角色 if (roleIds.Count > 0) { var _Sys_UserRoleList = await dbUserRole.ToListAsync(w => w.UserRole_UserID == model.User_ID); await dbUserRole.DeleteAsync(w => w.UserRole_UserID == model.User_ID); foreach (var item in roleIds) { var _Sys_UserRole = _Sys_UserRoleList.FirstOrDefault(w => w.UserRole_RoleID == item); var userRoleModel = new Sys_UserRole(); userRoleModel.UserRole_ID = _Sys_UserRole == null?Guid.NewGuid() : _Sys_UserRole.UserRole_ID; userRoleModel.UserRole_RoleID = item; userRoleModel.UserRole_UserID = model.User_ID; await dbUserRole.InsertAsync(userRoleModel); } } return(model.User_ID); }