//更新幻灯片 public static void UpdateSlide(string slides) { BLLSlide bllSlide = new BLLSlide(); List <slide> listSlide = JsonConvert.DeserializeObject <List <slide> >(slides); List <string> listType = new List <string>(); if (listSlide.Count > 0) { listType = listSlide.Select(p => p.type).Distinct().Where(g => !string.IsNullOrWhiteSpace(g) && g != "null").ToList(); } foreach (string type in listType) { List <slide> listTypeSlide = listSlide.Where(p => p.type == type && !string.IsNullOrWhiteSpace(p.img) && p.id >= 0).ToList(); List <int> listId = new List <int>(); if (listTypeSlide.Count > 0) { listId = listTypeSlide.Select(p => p.id).Distinct().ToList(); } List <Slide> listOldSlide = bllSlide.ListByType(type, bllSlide.WebsiteOwner); List <Slide> listEditSlide = listOldSlide.Where(p => listId.Contains(p.AutoID)).ToList(); List <Slide> listDeleteSlide = listOldSlide.Where(p => !listId.Contains(p.AutoID)).ToList(); for (int i = 0; i < listTypeSlide.Count; i++) { Slide sli = listEditSlide.FirstOrDefault(p => p.AutoID == listTypeSlide[i].id); if (sli != null) { sli.LinkText = listTypeSlide[i].title; sli.ImageUrl = listTypeSlide[i].img; sli.Link = listTypeSlide[i].link; sli.Sort = listTypeSlide.Count - i; sli.Width = listTypeSlide[i].width; sli.Height = listTypeSlide[i].height; sli.Stype = listTypeSlide[i].s_type; sli.Stext = listTypeSlide[i].s_text; sli.Svalue = listTypeSlide[i].s_value; bllSlide.Update(sli); } else { sli = new Slide(); sli.LinkText = listTypeSlide[i].title; sli.ImageUrl = listTypeSlide[i].img; sli.Link = listTypeSlide[i].link; sli.Sort = listTypeSlide.Count - i; sli.WebsiteOwner = bllSlide.WebsiteOwner; sli.Type = listTypeSlide[i].type; sli.Width = listTypeSlide[i].width; sli.Height = listTypeSlide[i].height; sli.Stype = listTypeSlide[i].s_type; sli.Stext = listTypeSlide[i].s_text; sli.Svalue = listTypeSlide[i].s_value; bllSlide.Add(sli); } } foreach (Slide item in listDeleteSlide) { bllSlide.Delete(item); } } }