Exemple #1
0
        public ActionResult SaveFile(IEnumerable <HttpPostedFileBase> Files, int pageContentId)
        {
            var pageContent = repository.Get(pageContentId);

            if (pageContent == null)
            {
                return(new EmptyResult());
            }

            var images = base.SaveImages(Files);

            if (images != null && images.Count > 0)
            {
                //var files = AddFiles(vmObj.Files);
                foreach (var imageInfo in images)
                {
                    var pageContentFile = new PageContentFile()
                    {
                        ImageInfo   = imageInfo,
                        Index       = db.PageContentFiles.FilterDeleted().Where(x => x.PageContentId == pageContentId).Count(),
                        PageContent = pageContent,
                        ChangeEvent = CreateChangeEvent()
                    };
                    pageContent.BlogItemContent.Files.Add(pageContentFile);
                    //db.Entry(pageContent).State = EntityState.Modified;
                    Exception exception = null;
                    repository.Save(out exception);
                }
                return(Content(""));
            }
            return(Content("Error"));
        }
Exemple #2
0
        public ActionResult Create(BlogItemContentCreateOrEditViewModel vmObj)
        {
            //var parent = db.Pages.Where(x => x.Id == vmObj.ParentId).FirstOrDefault();
            //if (parent == null)
            //{
            //    return new EmptyResult();
            //}
            //return CreateRelatedObjectUsingViewModel<Page, PageContent>(parent.Id, vmObj, (p) =>
            //{
            //    //Convert the ViewModel to DB Object (Model)
            //    var pageContent = new PageContent()
            //    {
            //        Index = vmObj.Index,
            //        //ViewName = vmObj.ViewName,
            //        ViewTemplateId = vmObj.ViewTemplateId,
            //        PageId = vmObj.ParentId,
            //        PageContentType = db.PageContentTypes.Where(x => x.Name.Equals("BlogList")).FirstOrDefault()
            //    };
            //    db.PageContents.Add(pageContent);
            //    return pageContent;
            //});


            var parent = db.Pages.Where(x => x.Id == vmObj.ParentId).FirstOrDefault();

            if (parent == null)
            {
                return(new EmptyResult());
            }
            return(CreateRelatedObjectUsingViewModel <Page, PageContent>(parent.Id, vmObj, (p) =>
            {
                //Convert the ViewModel to DB Object (Model)
                //var translation = db.ContentTranslations.Where(x => x.Id == vmObj.ContentTranslationId).FirstOrDefault();

                var blogItemContentData = new BlogItemContentData()
                {
                    Title = vmObj.Title,
                    Body = vmObj.Body,// vmObj.BodyHtml,
                    Excerpt = vmObj.Excerpt,
                    //Keywords = vmObj.Keywords,
                    Description = vmObj.Description,
                    TranslationId = db.BlogWebsiteSettings.FirstOrDefault().DefaultLanguageId
                                    //Translation = translation
                };
                db.BlogItemContentDatas.Add(blogItemContentData);
                var pageContentInfo = new PageContentInfo()
                {
                    HasRSS = vmObj.HasRSS,
                    IsDraft = vmObj.IsDraft,
                    IsPublished = vmObj.IsPublished,
                    PublishedBy = vmObj.PublishedBy,
                    PublishedOn = vmObj.PublishedOn,
                    ActiveFrom = vmObj.ActiveFrom,
                    ActiveTo = vmObj.ActiveTo
                };
                db.PageContentInfos.Add(pageContentInfo);
                var blogItemContent = new BlogItemContent()
                {
                    Id = vmObj.Id,
                    //Title = vmObj.Title,
                    //Body = vmObj.BodyHtml,
                    //Excerpt = vmObj.Excerpt,
                    ////Keywords = vmObj.Keywords,
                    //Description = vmObj.Description,
                    PageContentInfo = pageContentInfo
                };
                blogItemContent.ContentData.Add(blogItemContentData);
                db.BlogItemContents.Add(blogItemContent);
                var pageContent = new PageContent()
                {
                    BlogItemContent = blogItemContent,
                    Index = vmObj.Index,
                    //ViewName = vmObj.ViewName,
                    ViewTemplateId = vmObj.ViewTemplateId,
                    PageId = vmObj.ParentId,
                    PageContentType = db.PageContentTypes.Where(x => x.Name.Equals("BlogItem")).FirstOrDefault()
                };
                var index = 0;
                //var files = AddFiles(vmObj.Files);
                //foreach (var file in files)
                //{
                //    db.Files.Add(file);
                //    var imageInfo = new ImageInfo()
                //    {
                //        Description = "",
                //        Height = -1,
                //        Width = -1,
                //        ChangeEvent = CreateChangeEvent()
                //    };
                //    using (FileStream fs = new FileStream(Server.MapPath(Path.Combine("~/SimpleCMS/Data/Images", file.Name)), FileMode.Open, FileAccess.Read))
                //    {
                //        using (Image img = Image.FromStream(stream: fs,
                //                                            useEmbeddedColorManagement: false,
                //                                            validateImageData: false))
                //        {
                //            float width = img.PhysicalDimension.Width;
                //            float height = img.PhysicalDimension.Height;
                //            //float hresolution = img.HorizontalResolution;
                //            //float vresolution = img.VerticalResolution;
                //            imageInfo.Width = (int)width;
                //            imageInfo.Height = (int)height;
                //        }
                //        fs.Close();
                //    }
                //    db.Images.Add(imageInfo);
                //    var pageContentFile = new PageContentFile()
                //    {
                //        PageContent = pageContent,
                //        ImageInfo = imageInfo,
                //        Index = index,
                //        ChangeEvent = CreateChangeEvent()
                //    };
                //    db.PageContentFiles.Add(pageContentFile);
                //    pageContent.BlogItemContent.Files.Add(pageContentFile);
                //    index++;
                //}
                //db.PageContents.Add(pageContent);


                var images = base.SaveImages(vmObj.Files);
                if (images != null && images.Count > 0)
                {
                    foreach (var imageInfo in images)
                    {
                        var pageContentFile = new PageContentFile()
                        {
                            ImageInfo = imageInfo,
                            Index = index,
                            PageContent = pageContent,
                            ChangeEvent = CreateChangeEvent()
                        };
                        pageContent.BlogItemContent.Files.Add(pageContentFile);
                        db.PageContents.Add(pageContent);
                        //db.SaveChanges();
                        index++;
                    }
                }

                return pageContent;
            }));
        }