/// <summary> /// 逻辑还原路段信息 /// </summary> /// <param name="enterinfo"></param> /// <returns></returns> public async Task <OperationResult> LogicRestore(params RoadInfo[] enterinfos) { enterinfos.CheckNotNull("enterinfos"); int count = 0; try { RoadInfoRepository.UnitOfWork.BeginTransaction(); count = await RoadInfoRepository.RestoreAsync(enterinfos); RoadInfoRepository.UnitOfWork.Commit(); } catch (DataException dataException) { return(new OperationResult(OperationResultType.Error, dataException.Message)); } catch (OSharpException osharpException) { return(new OperationResult(OperationResultType.Error, osharpException.Message)); } List <string> names = new List <string>(); foreach (var data in enterinfos) { names.Add(data.RoadName); } return(count > 0 ? new OperationResult(OperationResultType.Success, names.Count > 0 ? "信息“{0}”逻辑还原成功".FormatWith(names.ExpandAndToString()) : "{0}个信息逻辑还原成功".FormatWith(count)) : new OperationResult(OperationResultType.NoChanged)); }
/// <summary> /// 物理删除路段信息 /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task <OperationResult> Delete(params Guid[] ids) { ids.CheckNotNull("ids"); RoadInfoRepository.UnitOfWork.BeginTransaction(); var result = await RoadInfoRepository.DeleteAsync(ids); RoadInfoRepository.UnitOfWork.Commit(); return(result); }
/// <summary> /// 增加路段信息 /// </summary> /// <param name="inputDtos"></param> /// <returns></returns> public async Task <OperationResult> Add(params RoadInfoInputDto[] inputDtos) { inputDtos.CheckNotNull("inputDtos"); foreach (var dtoData in inputDtos) { if (string.IsNullOrEmpty(dtoData.RoadNo)) { return(new OperationResult(OperationResultType.Error, "请正确填写路段编号,该组数据不被存储。")); } if (string.IsNullOrEmpty(dtoData.RoadName)) { return(new OperationResult(OperationResultType.Error, "请正确填写路段名称,该组数据不被存储。")); } if (RoadInfoRepository.CheckExists(x => x.RoadNo == dtoData.RoadNo)) { return(new OperationResult(OperationResultType.Error, $"路段编号 {dtoData.RoadNo} 的数据已存在,该组数据不被存储。")); } if (RoadInfoRepository.CheckExists(x => x.RoadName == dtoData.RoadName)) { return(new OperationResult(OperationResultType.Error, $"路段名称 {dtoData.RoadName} 的数据已存在,该组数据不被存储。")); } dtoData.StartMarkPointInfo = MarkPointInfoRepository.GetByKey(dtoData.StartMarkPointInfo_Id); if (Equals(dtoData.StartMarkPointInfo, null)) { return(new OperationResult(OperationResultType.Error, $"对应的开始地标点不存在,该组数据不被存储。")); } dtoData.EndMarkPointInfo = MarkPointInfoRepository.GetByKey(dtoData.EndMarkPointInfo_Id); if (Equals(dtoData.EndMarkPointInfo, null)) { return(new OperationResult(OperationResultType.Error, $"对应的结束地标点不存在,该组数据不被存储。")); } } RoadInfoRepository.UnitOfWork.BeginTransaction(); var result = await RoadInfoRepository.InsertAsync(inputDtos); RoadInfoRepository.UnitOfWork.Commit(); return(result); }
/// <summary> /// 检查实体是否存在 /// </summary> /// <param name="predicate"></param> /// <param name="id"></param> /// <returns></returns> public bool CheckRoadInfoExists(Expression <Func <RoadInfo, bool> > predicate, Guid id) { return(RoadInfoRepository.CheckExists(predicate, id)); }