Exemple #1
0
        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();
 }