public async Task <AppSrvResult <long> > CreateAsync(DictCreationDto input) { var exists = (await _cacheService.GetAllDictsFromCacheAsync()).Exists(x => x.Name.EqualsIgnoreCase(input.Name)); if (exists) { return(Problem(HttpStatusCode.BadRequest, "字典名字已经存在")); } var dists = new List <SysDict>(); long id = IdGenerater.GetNextId(); //var subDicts = GetSubDicts(id, input.DictValues); var dict = new SysDict { Id = id, Name = input.Name, Value = input.Value, Ordinal = input.Ordinal, Pid = 0 }; dists.Add(dict); input.Children?.ForEach(x => { dists.Add(new SysDict { Id = IdGenerater.GetNextId(), Pid = id, Name = x.Name, Value = x.Value, Ordinal = x.Ordinal }); }); await _dictRepository.InsertRangeAsync(dists); return(id); }
public ActionResult Create(NewDictViewModel newDictViewModel) { ControllerResult result = ControllerResult.SuccResult; SysDict sysDict = new SysDict { Name = newDictViewModel.DictName, KeyValue = newDictViewModel.KeyValue, OrderNo = newDictViewModel.DictOrderNo, Status = newDictViewModel.DictStatus, CategoryId = newDictViewModel.CategoryId }; string errorMsg = string.Empty; var editResult = dictService.AddSysDict(sysDict, out errorMsg); if (!editResult) { result.IsSucc = false; result.ErroMsg = errorMsg; } else { LogUserAction("进行了字典类别新增操作,字典名称为{0},编码为{1},序号为{2},状态为{3},父节点id为{4}".Fmt(newDictViewModel.DictName, newDictViewModel.KeyValue, newDictViewModel.DictOrderNo, newDictViewModel.DictStatus, newDictViewModel.CategoryId)); } return(Content(result.ToJson())); }
public static bool SaveOrUpdateQuestionCount(int QuestionCount) { using (MainDataContext db = new MainDataContext()) { SysDict dict = db.SysDicts.FirstOrDefault(p => p.DictName == "QuestionPageCount"); if (dict == null) { dict = new SysDict() { DictName = "QuestionPageCount", DictValue = QuestionCount.ToString(), DictCode = "QuestionPageCount", Remark = "QuestionPageCount", ModefyDate = DateTime.Now.ToString() }; db.SysDicts.InsertOnSubmit(dict); db.SubmitChanges(); } else { dict.DictValue = QuestionCount.ToString(); dict.ModefyDate = DateTime.Now.ToString(); db.SubmitChanges(); } } return(true); }
public async Task <int> UpdateDicts(SysDict dict, IEnumerable <SysDict> subDicts, CancellationToken cancellationToken = default) { int result = 0; var tran = await _unitOfWork.BeginTransactionAsync(); try { await _dictRepository.UpdateAsync(dict, d => d.Name, d => d.Tips); await _dictRepository.DeleteRangeAsync(d => d.Pid == dict.ID); if (subDicts != null && subDicts.Count() > 0) { await _dictRepository.InsertAsync(subDicts); } await tran.CommitAsync(); result = 1; } catch (Exception ex) { await tran.RollbackAsync(); throw ex; } return(await Task.FromResult(result)); }
public ActionResult Edit(EditDictViewModel model) { ControllerResult result = ControllerResult.SuccResult; SysDict sysDict = new SysDict { Id = model.SysDictId, Name = model.DictName, KeyValue = model.KeyValue == null ? string.Empty : model.KeyValue, OrderNo = model.DictOrderNo, Status = model.DictStatus, CategoryId = model.CategoryId }; string errorMsg = string.Empty; var editResult = dictService.EditSysDict(sysDict, out errorMsg); if (!editResult) { result.IsSucc = false; result.ErroMsg = errorMsg; } else { LogUserAction("对id为{0}进行了字典类别修改操作,字典名称为{1},编码为{2},序号为{3},状态为{4},父节点id为{5}".Fmt(model.SysDictId, model.DictName, model.KeyValue, model.DictOrderNo, model.DictStatus, model.CategoryId)); } return(Content(result.ToJson())); }
public async Task Save(DictSaveInputDto saveDto) { if (string.IsNullOrWhiteSpace(saveDto.DictName)) { throw new BusinessException(new ErrorModel(ErrorCode.BadRequest, "请输入字典名称")); } //add if (saveDto.ID == 0) { //long Id = new Snowflake(1, 1).NextId(); long Id = IdGeneraterHelper.GetNextId(IdGeneraterKey.DICT); var subDicts = GetSubDicts(Id, saveDto.DictValues); await _dictRepository.InsertRangeAsync(subDicts.Append(new SysDict { ID = Id, Pid = 0, Name = saveDto.DictName, Tips = saveDto.Tips, Num = "0" })); } //update else { var dict = new SysDict { Name = saveDto.DictName, Tips = saveDto.Tips, ID = saveDto.ID, Pid = 0 }; var subDicts = GetSubDicts(saveDto.ID, saveDto.DictValues); await _maintManagerService.UpdateDicts(dict, subDicts); } }
public static int GetQuestionPageCount() { using (MainDataContext db = new MainDataContext()) { SysDict dict = db.SysDicts.FirstOrDefault(p => p.DictName == "QuestionPageCount"); return(dict == null ? 0 : int.Parse(dict.DictValue) - db.QuestionInfos.Count() / 20 - 2); } }
public async Task UpdateDicts(SysDict dict, List <SysDict> subDicts, CancellationToken cancellationToken = default) { await _dictRepository.UpdateAsync(dict, d => d.Name, d => d.Tips); await _dictRepository.DeleteRangeAsync(d => d.Pid == dict.ID); if (subDicts != null && subDicts.Count() > 0) { await _dictRepository.InsertRangeAsync(subDicts); } }
public static int GetDownLoadPageCount() { int count = 0; using (MainDataContext db = new MainDataContext()) { SysDict dict = db.SysDicts.FirstOrDefault(p => p.DictName == "DownLoadPageCount"); count = dict == null ? 0 : int.Parse(dict.DictValue); } return(count); }
public virtual async Task UpdateDictsAsync(SysDict dict, List <SysDict> subDicts, CancellationToken cancellationToken = default) { await _dictRepository.UpdateAsync(dict, UpdatingProps <SysDict>(d => d.Name, d => d.Value, d => d.Ordinal), cancellationToken); await _dictRepository.DeleteRangeAsync(d => d.Pid == dict.Id, cancellationToken); if (subDicts?.Count > 0) { await _dictRepository.InsertRangeAsync(subDicts, cancellationToken); } }
/// <summary> /// 保存数据 /// </summary> public JsonResult Save(SysDict model) { if (model.Id == Guid.Empty) { return(Create(model)); } else { return(Update(model)); } }
private string GetUserType(List <SysDict> sysDicts, string key) { SysDict dict = sysDicts.Where(s => s.KeyValue == key).FirstOrDefault(); if (dict == null) { return(string.Empty); } else { return(dict.Name); } }
public bool EditSysDict(SysDict dict, out string errorMsg) { errorMsg = string.Empty; try { int editCount = rep.Update(dict); return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }
public ActionResult Edit(SysDictViewModel viewModel) { if (ModelState.IsValid == false) { return(WriteError("实体验证失败")); } viewModel.Id = viewModel.Id; viewModel.UpdateTime = DateTime.Now; viewModel.UpdateUserId = UserManager.GetCurrentUserInfo().Id; SysDict entity = viewModel.EntityMap(); SysDictService.Update(entity, new string[] { "Name", "Code", "SortCode", "UpdateTime", "UpdateUserId" }); return(WriteSuccess()); }
public bool AddSysDict(SysDict dict, out string errorMsg) { errorMsg = string.Empty; try { long id = rep.Insert(dict); return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }
/// <summary> /// 添加菜单 /// </summary> private JsonResult Create(SysDict model) { SystemResult obj = new SystemResult(); model.Id = Guid.NewGuid(); SetDefaultDataBeforeSave(model); obj.isSuccess = _dictService.Insert(model); if (obj.isSuccess) { obj.data = model; ResetDefault(model); } return(BackData(obj)); }
/// <summary> /// 根据父节点ID和子节点ID重置父子关系和排序 /// </summary> /// <param name="parentId">父节点Id</param> /// <param name="arrChildIds">子节点Id</param> /// <returns>Result:true/false</returns> public JsonResult ResetParnetAndSort(Guid parentId, Guid[] arrChildIds) { bool boolResult = true; List <SysDict> list = new List <SysDict>(); for (int i = 0; i < arrChildIds.Length; i++) { SysDict model = new SysDict(); model = _dictService.FindById(arrChildIds[i]); model.ParentId = parentId; model.OrderId = i; list.Add(model); } boolResult = _dictService.UpdateByList(list); return(BackData(new { Result = boolResult })); }
public async Task <AppSrvResult> Update(DictSaveInputDto saveDto) { var exists = (await GetAllFromCache()).Exists(x => x.Name.EqualsIgnoreCase(saveDto.DictName) && x.ID != saveDto.ID); if (exists) { return(Problem(HttpStatusCode.BadRequest, "字典名字已经存在")); } var dict = new SysDict { Name = saveDto.DictName, Tips = saveDto.Tips, ID = saveDto.ID, Pid = 0 }; var subDicts = GetSubDicts(saveDto.ID, saveDto.DictValues); await _maintManagerService.UpdateDicts(dict, subDicts); return(DefaultResult()); }
public static string GetKeyFromDic(List <SysDict> sysDicts, string key, string notFound = "") { if (sysDicts == null || sysDicts.Count() == 0 || string.IsNullOrWhiteSpace(key)) { return(notFound); } SysDict dict = sysDicts.Where(s => String.Compare(s.KeyValue, key, true) == 0).FirstOrDefault(); if (dict == null) { return(notFound); } else { return(dict.Name); } }
public async Task <AppSrvResult <long> > CreateAsync(DictCreationDto input) { var exists = await _dictRepository.AnyAsync(x => x.Name.Equals(input.Name.Trim())); if (exists) { return(Problem(HttpStatusCode.BadRequest, "字典名字已经存在")); } var dists = new List <SysDict>(); long id = IdGenerater.GetNextId(); var dict = new SysDict { Id = id, Name = input.Name, Value = input.Value, Ordinal = input.Ordinal, Pid = 0 }; dists.Add(dict); input.Children?.ForEach(x => { dists.Add(new SysDict { Id = IdGenerater.GetNextId(), Pid = id, Name = x.Name, Value = x.Value, Ordinal = x.Ordinal }); }); var cacheKey = _cacheService.ConcatCacheKey(CachingConsts.DictSingleKeyPrefix, id); var cahceBf = _bloomFilterFactory.Create(CachingConsts.BloomfilterOfCacheKey); var addedStatus = await cahceBf.AddAsync(cacheKey); if (!addedStatus) { return(Problem(HttpStatusCode.BadRequest, "添加到布隆过滤器失败!")); } else { await _dictRepository.InsertRangeAsync(dists); } return(id); }
public async Task <AjaxResponse> SaveSysDictModel(List <SysDictInput> listSysDict) { var validDt = from c in listSysDict group c by c.DictCode into lb where lb.Count() > 1 select new { DictCodeCount = lb.Count() }; if (validDt.Any()) { throw new UserFriendlyException("字典编码重复", "您设置的字典编码有重复!"); } if (listSysDict != null && listSysDict.Any()) { foreach (var item in listSysDict) { if (string.IsNullOrEmpty(item.EditState) && item.EditState.ToUpper() != "MODIFY" && item.EditState.ToUpper() != "ADD") { continue; } if (CheckDictCode(item)) { throw new UserFriendlyException("字典编码重复", "您设置的字典编码" + item.DictCode + "重复!"); } if (item.EditState.ToUpper() == "ADD") { SysDict model = ObjectMapper.Map <SysDict>(item); await _sysDictRepository.InsertAsync(model); } else { var submitData = _sysDictRepository.Get(item.Id.Value); //映射需要修改的数据对象 SysDict model = ObjectMapper.Map(item, submitData); await _sysDictRepository.UpdateAsync(model); } UnitOfWorkManager.Current.SaveChanges(); } } return(new AjaxResponse { Success = true }); }
public ActionResult Create(SysDictViewModel viewModel) { try { if (ModelState.IsValid == false) { return(WriteError("实体验证失败")); } SysDict entity = viewModel.EntityMap(); entity.CreateUserId = UserManager.GetCurrentUserInfo().Id; entity.UpdateUserId = UserManager.GetCurrentUserInfo().Id; entity.CreateTime = DateTime.Now; entity.UpdateTime = DateTime.Now; SysDictService.Add(entity); return(WriteSuccess()); } catch (Exception ex) { return(WriteError(ex)); } }
/// <summary> /// 设置默认值 /// </summary> /// <param name="model"></param> private void ResetDefault(SysDict model) { if (model.IsDefalut ?? false)//当前字典为默认值时,将其他字典设置为非默认值 { int intTotal = 0; var condition = new { ParentId = model.ParentId, IsDefalut = true }; List <SysDict> listData = _dictService.GetForPaging(out intTotal, condition).Select(u => (SysDict)u).ToList(); foreach (var item in listData) { if (item.Id != model.Id) { item.IsDefalut = false; _dictService.Update(item); } } } }
public async Task Save(DictSaveInputDto saveDto) { //add if (saveDto.ID == 0) { //long Id = new Snowflake(1, 1).NextId(); long Id = IdGenerater.GetNextId(); var subDicts = GetSubDicts(Id, saveDto.DictValues); await _dictRepository.InsertRangeAsync(subDicts.Append(new SysDict { ID = Id, Pid = 0, Name = saveDto.DictName, Tips = saveDto.Tips, Num = "0" })); } //update else { var dict = new SysDict { Name = saveDto.DictName, Tips = saveDto.Tips, ID = saveDto.ID, Pid = 0 }; var subDicts = GetSubDicts(saveDto.ID, saveDto.DictValues); await _maintManagerService.UpdateDicts(dict, subDicts); } }
public async Task <AppSrvResult> UpdateAsync(long id, DictUpdationDto input) { var exists = (await _cacheService.GetAllDictsFromCacheAsync()).Exists(x => x.Name.EqualsIgnoreCase(input.Name) && x.Id != id); if (exists) { return(Problem(HttpStatusCode.BadRequest, "字典名字已经存在")); } var dict = new SysDict { Name = input.Name, Value = input.Value, Id = id, Pid = 0, Ordinal = input.Ordinal }; var subDicts = new List <SysDict>(); input.Children?.ForEach(x => { subDicts.Add(new SysDict { Id = IdGenerater.GetNextId(), Pid = id, Name = x.Name, Value = x.Value, Ordinal = x.Ordinal }); }); await _dictRepository.UpdateAsync(dict, UpdatingProps <SysDict>(d => d.Name, d => d.Value, d => d.Ordinal)); await _dictRepository.DeleteRangeAsync(d => d.Pid == dict.Id); if (subDicts.IsNotNullOrEmpty()) { await _dictRepository.InsertRangeAsync(subDicts); } return(AppSrvResult()); }
/// <summary> /// 修改菜单 /// </summary> private JsonResult Update(SysDict model) { SystemResult obj = new SystemResult(); var oldData = _dictService.FindById(model.Id); oldData.DictCode = model.DictCode; oldData.DictText = model.DictText; oldData.ParentId = model.ParentId; oldData.IsUse = model.IsUse; oldData.IsDefalut = model.IsDefalut; oldData.Remark = model.Remark; model = oldData; SetDefaultDataBeforeSave(model); obj.isSuccess = _dictService.Update(model); if (obj.isSuccess) { obj.data = model; ResetDefault(model); } return(BackData(obj)); }
public async Task <AppSrvResult> UpdateAsync(long id, DictUpdationDto input) { var exists = (await _cacheService.GetAllDictsFromCacheAsync()).Exists(x => x.Name.EqualsIgnoreCase(input.Name) && x.Id != id); if (exists) { return(Problem(HttpStatusCode.BadRequest, "字典名字已经存在")); } var dict = new SysDict { Name = input.Name, Value = input.Value, Id = id, Pid = 0, Ordinal = input.Ordinal }; var subDicts = new List <SysDict>(); input.Children?.ForEach(x => { subDicts.Add(new SysDict { Id = IdGenerater.GetNextId() , Pid = id , Name = x.Name , Value = x.Value , Ordinal = x.Ordinal }); }); // 这里需要事务处理 await _maintManager.UpdateDictsAsync(dict, subDicts); return(AppSrvResult()); }
public static void SaveOrUpdateDownLoadPageCount(int count) { using (MainDataContext db = new MainDataContext()) { SysDict dict = db.SysDicts.FirstOrDefault(p => p.DictName == "DownLoadPageCount"); if (dict == null) { dict = new SysDict() { DictValue = count.ToString(), DictName = "DownLoadPageCount", DictCode = "DownLoadPageCount", ModefyDate = DateTime.Now.ToString(), }; db.SysDicts.InsertOnSubmit(dict); } else { dict.DictValue = count.ToString(); dict.ModefyDate = DateTime.Now.ToString(); } db.SubmitChanges(); } }
/// <summary> /// 保存数据前设置对象的默认值 /// </summary> private void SetDefaultDataBeforeSave(SysDict model) { _dictService.TrimObj(model); model.CreateTime = model.CreateTime ?? DateTime.Now; model.UpdateTime = model.UpdateTime ?? DateTime.Now; model.DataState = model.DataState ?? 0; model.IsDefalut = model.IsDefalut ?? false; model.IsUse = model.IsUse ?? true; model.ParentId = model.ParentId ?? Guid.Empty; if (!model.OrderId.HasValue) { var sonObjs = _dictService.List().Where(u => u.ParentId == model.ParentId).Select(u => u.OrderId); if (sonObjs.Count() > 0) { model.OrderId = (sonObjs.Max() ?? 0) + 1; } else { model.OrderId = 1; } } }
public async Task <IActionResult> Add([FromBody] SysDict sysDict) { var sys_Dict = sysDict.BuildAdapter().AdaptToType <sys_dict>(); return(Ok(await Task.FromResult(_sysDictService.Add(sys_Dict)))); }