public void Edit(long uid, string no, IClassEditInfo info) { ExceptionHelper.ThrowIfNotId(uid, "uid"); ExceptionHelper.ThrowIfNull(info, "info"); var entity = GetEnabled(no); bool update = false; if (!String.IsNullOrWhiteSpace(info.Name) && entity.area_name != info.Name.Trim()) { var oldName = entity.area_name; entity.area_name = info.Name.Trim(); var entitys = _AreaRepositor.Entities.Where(c => c.area_no.StartsWith(no) && c.area_full_name != null).ToArray(); foreach (var item in entitys) { item.area_full_name = Utility.ReplyFullName(item.area_full_name, oldName, info.Name); } update = true; } if (!String.IsNullOrWhiteSpace(info.EnName) && entity.area_name_en != info.EnName.Trim()) { var oldEnName = entity.area_name_en; entity.area_name_en = info.EnName.Trim(); var entitys = _AreaRepositor.Entities.Where(c => c.area_no.StartsWith(no) && c.area_full_name_en != null).ToArray(); foreach (var item in entitys) { item.area_full_name_en = Utility.ReplyFullName(item.area_full_name_en, oldEnName, info.EnName); } update = true; } if (entity.order_by != info.Order) { entity.order_by = info.Order; update = true; } if (update) { _AreaRepositor.SaveChanges(); } }
public Data.Area[] AddRange(long @operator, string parentNo, IClassEditInfo[] adds) { ExceptionHelper.ThrowIfNotId(@operator, "@operator"); ExceptionHelper.ThrowIfNullOrWhiteSpace(parentNo, "parentNo"); if (adds == null) { adds = new IClassEditInfo[0]; } adds = adds.Where(a => a != null).ToArray(); ExceptionHelper.ThrowIfNullOrEmpty(adds, "adds"); for (int i = 0; i < adds.Length; i++) { ExceptionHelper.ThrowIfNullOrWhiteSpace(adds[i].Name, String.Format("第{0}项的名称为空", i)); } parentNo = parentNo.Trim(); var parent = _AreaRepositor.EnabledAreas.FirstOrDefault(c => c.area_no == parentNo); if (parent == null) { throw new FlhException(ErrorCode.NotExists, "父级不存在或已被删除"); } var fullName = parent.area_full_name.Split(','); var fullNameEn = (parent.area_full_name_en ?? string.Empty).Split(','); using (var scope = new System.Transactions.TransactionScope()) { var noLength = parent.area_no.Length + 4; var maxChild = _AreaRepositor .Entities .Where(c => c.area_no.StartsWith(parent.area_no) && c.area_no.Length == noLength) .OrderByDescending(c => c.area_no) .FirstOrDefault(); var num = 1; if (maxChild != null) { num = Convert.ToInt32(maxChild.area_no.Substring(parent.area_no.Length)) + 1; } var addEntites = new List <Data.Area>(); foreach (var item in adds) { var entity = new Data.Area { enabled = true, created = DateTime.Now, creater = @operator, area_name = item.Name.Trim(), area_name_en = (item.EnName ?? string.Empty).Trim(), area_no = parent.area_no + num.ToString().PadLeft(4, '0'), order_by = item.Order, updated = DateTime.Now, updater = @operator, }; entity.area_full_name_en = fullNameEn.Length == 0 ? entity.area_name_en : String.Join(",", fullNameEn.Concat(new[] { entity.area_name_en })); entity.area_full_name = fullName.Length == 0 ? entity.area_name : String.Join(",", fullName.Concat(new[] { entity.area_name })); num++; addEntites.Add(entity); } _AreaRepositor.AddRange(addEntites); _AreaRepositor.SaveChanges(); scope.Complete(); return(addEntites.ToArray()); } }
public Data.Trade[] AddRange(long @operator, string parentNo, IClassEditInfo[] adds) { ExceptionHelper.ThrowIfNotId(@operator, "@operator"); ExceptionHelper.ThrowIfNullOrWhiteSpace(parentNo, "parentNo"); if (adds == null) adds = new IClassEditInfo[0]; adds = adds.Where(a => a != null).ToArray(); ExceptionHelper.ThrowIfNullOrEmpty(adds, "adds"); for (int i = 0; i < adds.Length; i++) { ExceptionHelper.ThrowIfNullOrWhiteSpace(adds[i].Name, String.Format("第{0}项的名称为空", i)); } parentNo = parentNo.Trim(); var parent = _TradeRepository.EnabledTrades.FirstOrDefault(c => c.no == parentNo); if (parent == null) throw new FlhException(ErrorCode.NotExists, "父级不存在或已被删除"); var fullName = parent.full_name.Split(','); var fullNameEn = (parent.full_name_en??string.Empty).Split(','); using (var scope = new System.Transactions.TransactionScope()) { var noLength = parent.no.Length + 4; var maxChild = _TradeRepository .Entities .Where(c => c.no.StartsWith(parent.no) && c.no.Length == noLength) .OrderByDescending(c => c.no) .FirstOrDefault(); var num = 1; if (maxChild != null) { num = Convert.ToInt32(maxChild.no.Substring(parent.no.Length)) + 1; } var addEntites = new List<Data.Trade>(); foreach (var item in adds) { var entity = new Data.Trade { enabled = true, created = DateTime.Now, creater = @operator, name = item.Name.Trim(), name_en =( item.EnName??string.Empty).Trim(), no = parent.no + num.ToString().PadLeft(4, '0'), order_by = item.Order, updated = DateTime.Now, updater = @operator, }; entity.full_name_en = fullNameEn.Length == 0 ? entity.name_en : String.Join(",", fullNameEn.Concat(new[] { entity.name_en })); entity.full_name = fullName.Length == 0 ? entity.name : String.Join(",", fullName.Concat(new[] { entity.name })); num++; addEntites.Add(entity); } _TradeRepository.AddRange(addEntites); _TradeRepository.SaveChanges(); scope.Complete(); return addEntites.ToArray(); } }
public void Edit(long uid, string no, IClassEditInfo info) { ExceptionHelper.ThrowIfNotId(uid, "uid"); ExceptionHelper.ThrowIfNull(info,"info"); var entity = GetEnabled(no); bool update = false; if (!String.IsNullOrWhiteSpace(info.Name)&&entity.name!=info.Name.Trim()) { var oldName = entity.name; entity.name = info.Name.Trim(); var entitys = _TradeRepository.Entities.Where(c => c.no.StartsWith(no)&&c.full_name!=null).ToArray(); foreach(var item in entitys) { item.full_name = Utility.ReplyFullName(item.full_name, oldName, info.Name); } update = true; } if (!String.IsNullOrWhiteSpace(info.EnName)&&entity.name_en!=info.EnName.Trim()) { var oldEnName = entity.name_en; entity.name_en = info.EnName.Trim(); var entitys = _TradeRepository.Entities.Where(c => c.no.StartsWith(no) && c.full_name_en != null).ToArray(); foreach (var item in entitys) { item.full_name_en = Utility.ReplyFullName(item.full_name_en, oldEnName, info.EnName); } update = true; } if (entity.order_by != info.Order) { entity.order_by = info.Order; update = true; } if (update) _TradeRepository.SaveChanges(); }
public void Edit(long uid, string no, IClassEditInfo info) { ExceptionHelper.ThrowIfNotId(uid, "uid"); ExceptionHelper.ThrowIfNull(info, "info"); var entity = GetEnabled(no); bool update = false; if (!String.IsNullOrWhiteSpace(info.Name) && entity.name != info.Name.Trim()) { var oldName = entity.name; entity.name = info.Name.Trim(); var entitys = _ClassesRepository.Entities.Where(c => c.no.StartsWith(no) && c.full_name != null).ToArray(); foreach (var item in entitys) { item.full_name = Utility.ReplyFullName(item.full_name, oldName, info.Name); } update = true; } if (!String.IsNullOrWhiteSpace(info.EnName) && entity.name_en != info.EnName.Trim()) { var oldEnName = entity.name_en; entity.name_en = info.EnName.Trim(); var entitys = _ClassesRepository.Entities.Where(c => c.no.StartsWith(no) && c.full_name_en != null).ToArray(); foreach (var item in entitys) { item.full_name_en = Utility.ReplyFullName(item.full_name_en, oldEnName, info.EnName); } update = true; } if (entity.order_by != info.Order) { entity.order_by = info.Order; update = true; } if (!String.IsNullOrWhiteSpace(info.Introduce) && info.Introduce.Trim() != entity.introduce) { entity.introduce = info.Introduce.Trim(); update = true; } if (!String.IsNullOrWhiteSpace(info.IndexImage) && info.IndexImage.Trim() != entity.indexImage) { var sourceId = FileId.FromFileId(info.IndexImage); if (sourceId.IsTempId) { var target = sourceId.ToStorageId(); _FileManager.Copy(sourceId, target); sourceId = target; } entity.indexImage = sourceId.Id; update = true; } if (!String.IsNullOrWhiteSpace(info.ListImage) && info.ListImage.Trim() != entity.listImage) { var sourceId = FileId.FromFileId(info.ListImage); if (sourceId.IsTempId) { var target = sourceId.ToStorageId(); _FileManager.Copy(sourceId, target); sourceId = target; } entity.listImage = sourceId.Id; update = true; } if (update) { _ClassesRepository.SaveChanges(); } }
public void Edit(long uid, string no, IClassEditInfo info) { ExceptionHelper.ThrowIfNotId(uid, "uid"); ExceptionHelper.ThrowIfNull(info, "info"); var entity = GetEnabled(no); bool update = false; if (!String.IsNullOrWhiteSpace(info.Name) && entity.name != info.Name.Trim()) { var oldName = entity.name; entity.name = info.Name.Trim(); var entitys = _ClassesRepository.Entities.Where(c => c.no.StartsWith(no) && c.full_name != null).ToArray(); foreach (var item in entitys) { item.full_name = Utility.ReplyFullName(item.full_name, oldName, info.Name); } update = true; } if (!String.IsNullOrWhiteSpace(info.EnName) && entity.name_en != info.EnName.Trim()) { var oldEnName = entity.name_en; entity.name_en = info.EnName.Trim(); var entitys = _ClassesRepository.Entities.Where(c => c.no.StartsWith(no) && c.full_name_en != null).ToArray(); foreach (var item in entitys) { item.full_name_en = Utility.ReplyFullName(item.full_name_en, oldEnName, info.EnName); } update = true; } if (entity.order_by != info.Order) { entity.order_by = info.Order; update = true; } if (!String.IsNullOrWhiteSpace(info.Introduce)&&info.Introduce.Trim()!=entity.introduce) { entity.introduce = info.Introduce.Trim(); update = true; } if (!String.IsNullOrWhiteSpace(info.IndexImage) && info.IndexImage.Trim() != entity.indexImage) { var sourceId=FileId.FromFileId(info.IndexImage); if (sourceId.IsTempId) { var target = sourceId.ToStorageId(); _FileManager.Copy(sourceId, target); sourceId = target; } entity.indexImage = sourceId.Id; update = true; } if (!String.IsNullOrWhiteSpace(info.ListImage) && info.ListImage.Trim() != entity.listImage) { var sourceId = FileId.FromFileId(info.ListImage); if (sourceId.IsTempId) { var target = sourceId.ToStorageId(); _FileManager.Copy(sourceId, target); sourceId = target; } entity.listImage = sourceId.Id; update = true; } if (update) _ClassesRepository.SaveChanges(); }