public JsonResult Add(CreateLandlordTemplateAreaRequest request) { if (request.LandlordTemplateAreaID <= 0) { LandlordTemplateArea landlordTemplateArea = new LandlordTemplateArea(); landlordTemplateArea.LandlordTemplateAreaID = request.LandlordTemplateAreaID; landlordTemplateArea.AreaName = request.AreaName; landlordTemplateArea.AreaOrder = request.AreaOrder; db.LandlordTemplateAreas.Add(landlordTemplateArea); db.SaveChanges(); } else { LandlordTemplateArea landlordTemplateArea = db.LandlordTemplateAreas.Where(x => x.LandlordTemplateAreaID == request.LandlordTemplateAreaID).FirstOrDefault(); if (landlordTemplateArea != null) { landlordTemplateArea.LandlordTemplateAreaID = request.LandlordTemplateAreaID; landlordTemplateArea.AreaName = request.AreaName; landlordTemplateArea.AreaOrder = request.AreaOrder; db.SaveChanges(); } } return Json("true"); }
public JsonResult Save(SaveLandlordTemplatesRequest request) { List<int> UsedAreas = new List<int>(); List<int> UsedItems = new List<int>(); if (request.Areas != null) { foreach (var requestArea in request.Areas) { LandlordTemplateArea area = db.LandlordTemplateAreas.Where(x => x.AreaName.ToLower() == requestArea.AreaName.ToLower()).FirstOrDefault(); ; bool newArea = false; if (area == null) { area = new LandlordTemplateArea(); newArea = true; } area.AreaName = requestArea.AreaName; area.AreaOrder = requestArea.AreaOrder; if (newArea) db.LandlordTemplateAreas.Add(area); db.SaveChanges(); UsedAreas.Add(area.LandlordTemplateAreaID); if (requestArea.Items != null) { foreach (var itemRequest in requestArea.Items) { LandlordTemplateAreaItem item = db.LandlordTemplateAreaItems.Where(x => x.LandlordTemplateAreaID == area.LandlordTemplateAreaID && x.ItemName == itemRequest.ItemName).FirstOrDefault(); bool newItem = false; if (item == null) { item = new LandlordTemplateAreaItem(); newItem = true; } item.ItemName = itemRequest.ItemName; item.ItemOrder = itemRequest.ItemOrder; item.LandlordTemplateAreaID = area.LandlordTemplateAreaID; if (newItem) db.LandlordTemplateAreaItems.Add(item); db.SaveChanges(); UsedItems.Add(item.LandlordTemplateAreaItemID); } } } } db.LandlordTemplateAreas.RemoveRange(db.LandlordTemplateAreas.Where(x => !UsedAreas.Contains(x.LandlordTemplateAreaID)).ToList()); db.LandlordTemplateAreaItems.RemoveRange(db.LandlordTemplateAreaItems.Where(x => !UsedItems.Contains(x.LandlordTemplateAreaItemID)).ToList()); db.SaveChanges(); return Json(true); }