public ActionResult CreateResult(NewsResource resource) { var list = GetNewsResources(); if (list.Any()) { var parent = list.FirstOrDefault(); parent.Single = list.Count == 1; parent.ParentID = 0; Service.Create(parent); var children = list.GetRange(1, list.Count - 1); if (children.Count != 0) { //子节点绑定parent children = children.Select(o => { o.ParentID = parent.ID; o.Single = true; return(o); }).ToList(); Service.Create(children.ToArray()); } var oldlist = new List <PictureResource>(); var newlist = new List <PictureResource>(); var files = GetUploadResource(); for (int i = 0; i < list.Count; i++) { oldlist.Add(new PictureResource() { Path = MakeCoverPicPath(0), Name = GetHashName(files[i].OriginName) }); newlist.Add(new PictureResource() { Path = MakeCoverPicPath(list[i].ID.Value), Name = GetHashName(files[i].OriginName) }); list[i].PicUrl = Path.Combine(ftp, MakeCoverPicPath(list[i].ID.Value), GetHashName(files[i].OriginName)); } NewsContentPictureService.Move(oldlist.ToArray(), newlist.ToArray()); Service.Update(list.ToArray()); } return(RedirectToAction("News")); }
public ActionResult EditNews(NewsResource news) { var list = GetNewsResources(); if (list.Any()) { var parent = list.FirstOrDefault(); var createlist = list.Where(o => o.ID == null).Select(o => { o.ParentID = parent.ID; o.Single = true; return(o); }).ToArray(); if (createlist.Any()) { Service.Create(createlist.ToArray()); } var oldlist = new List <PictureResource>(); var newlist = new List <PictureResource>(); var files = GetUploadResource(); for (int i = 0; i < list.Count; i++) { if (string.IsNullOrEmpty(files[i].OriginName)) { continue; } oldlist.Add(new PictureResource() { Path = MakeCoverPicPath(0), Name = GetHashName(files[i].OriginName) }); newlist.Add(new PictureResource() { Path = MakeCoverPicPath(list[i].ID.Value), Name = GetHashName(files[i].OriginName) }); list[i].PicUrl = Path.Combine(ftp, MakeCoverPicPath(list[i].ID.Value), GetHashName(files[i].OriginName)); } NewsContentPictureService.Move(oldlist.ToArray(), newlist.ToArray()); Service.Update(list.ToArray()); } return(RedirectToAction("News")); }
private List <NewsResource> GetNewsResources() { int count = Convert.ToInt32(Request.Form["Count"]); var response = new List <NewsResource>(); for (int i = 0; i < count; i++) { var item = new NewsResource() { Title = Request.Form["Title" + i], OwnerID = OwnerID, }; if (Request.Form["NewsContent" + i] != null) { item.NewsContent = Request.Form["NewsContent" + i]; } if (Request.Form["ID" + i] != null) { item.ID = Convert.ToInt64(Request.Form["ID" + i]); } response.Add(item); } return(response); }