private int GetSortNumber(Logistics_Area area) { var queryable = db.Logistics_Areas.AsQueryable(); var sort = queryable.Max(p => p.SortNumber); sort++; return(sort); }
public async Task <ActionResult> Edit( [Bind( Include = "Id,AreaName,AreaLevel,ParentId,Pinyinma,PostCode,SortNumber,CreateTime,UpdateTime,CreateBy,UpdateBy,TenantId" )] Logistics_Area logistics_Areas) { if (ModelState.IsValid) { logistics_Areas.CreateTime = DateTime.Now; logistics_Areas.CreateBy = UserId; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(logistics_Areas)); }
public async Task <ActionResult> Create( [Bind( Include = "Id,AreaName,AreaLevel,ParentId,Pinyinma,PostCode,SortNumber,CreateTime,UpdateTime,CreateBy,UpdateBy" )] Logistics_Area logistics_Areas) { if (ModelState.IsValid) { logistics_Areas.CreateTime = DateTime.Now; logistics_Areas.CreateBy = UserId; //id和排序序号要后台生成.. var id = GetPrimaryKey(logistics_Areas); logistics_Areas.SortNumber = GetSortNumber(logistics_Areas); logistics_Areas.Id = id; db.Logistics_Areas.Add(logistics_Areas); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(logistics_Areas)); }
private string GetPrimaryKey(Logistics_Area area) { var result = ""; var queryable = db.Logistics_Areas.AsQueryable(); var maxId = queryable.Where(p => (p.AreaLevel == area.AreaLevel) && (p.ParentId == area.ParentId)).Max(p => p.Id); var headValue = 0; switch (area.AreaLevel) { case Logistics_AreaLevel.Country: headValue = int.Parse(maxId.Substring(0, maxId.Length - 5)); headValue++; result = headValue + "00000"; break; case Logistics_AreaLevel.Province: headValue = int.Parse(maxId.Substring(0, maxId.Length - 4)); headValue++; result = headValue + "0000"; //maxId.Substring(headValue.ToString().Length - 1); break; case Logistics_AreaLevel.City: headValue = int.Parse(maxId.Substring(0, maxId.Length - 2)); headValue++; result = headValue + "00"; //maxId.Substring(3) + headValue.ToString(); break; default: headValue = int.Parse(maxId) + 1; result = headValue.ToString(); break; } return(result); }