public void SaveTree(ContentTreeBinding Model, string UserID) { using (var _c = db) { Can(Model.SiteID, UserID, _c); foreach (var item in Model.Items) { if (item.Edit) { var _Content= _c.ContentProperties.Where(m => m.ContentPropertyID == item.ContentPropertyID).SingleOrDefault(); _Content.ContentPropertyAlias = item.ContentPropertyAlias; var _ContentCulture = _c.ContentPropertyCultures.Where(m => m.ContentPropertyID == item.ContentPropertyID && m.CultureID == Model.CultureID).SingleOrDefault(); if (_ContentCulture == null) { _ContentCulture = new ContentPropertyCulture(); _ContentCulture.CultureID = Model.CultureID; _ContentCulture.ContentPropertyID = item.ContentPropertyID; _c.ContentPropertyCultures.Add(_ContentCulture); } _ContentCulture.Hint = item.Hint; if (item.ContentPropertyType == ContentPropertyType.IMG) { if (!string.IsNullOrEmpty(item.FileName)) _ContentCulture.ContentPropertyValue = SaveFile(item.ContentPropertyID, Model.CultureID, item.FileName, item.FileContent); else if (!string.IsNullOrEmpty(item.ContentPropertyValue)) { //CASE SAVE IMG IN OTHER LANGUAGE _ContentCulture.ContentPropertyValue = item.ContentPropertyValue; } } else if (item.ContentPropertyType == ContentPropertyType.TXT || item.ContentPropertyType == ContentPropertyType.HTML) _ContentCulture.ContentPropertyValue = item.ContentPropertyValue; _c.SaveChanges(); } if (item.Items.Any()) { SaveTree(new ContentTreeBinding { CultureID = Model.CultureID, SiteID = Model.SiteID, Items = item.Items }, UserID); } } } }
public IHttpActionResult PostSaveTree(ContentTreeBinding Model) { _ContentService.SaveTree(Model, User.Identity.GetUserId()); return Ok(); }