Exemplo n.º 1
0
        public ActionResult EditContent(int id, string contentType)
        {
            var ret = new ContentDetailSummaryViewModel();

            using (var context = new ShoppingCartContext())
            {
                var content = context.Contents.Single(c => c.Id == id);
                ret.Code        = content.Code;
                ret.Description = content.Description;
                ret.ContentType = contentType;
                if (content.Image != null)
                {
                    ret.Image = content.Image;
                }
                ret.Id      = id;
                ret.RouteTo = content.ImageUrl;
                //ret.ItemCode = content.ItemCode;
                ret.DisplayOrder = content.DisplayOrder;
                ret.AdText       = content.AdText;
                ret.AdTextStyle  = content.AdTextStyle;
                ret.TextValue    = content.TextValue;
                ret.TextLocation = content.TextLocation;
            }
            return(View(ret));
        }
Exemplo n.º 2
0
        public ActionResult AddNewContent()
        {
            var ret = new ContentDetailSummaryViewModel()
            {
                Id          = -1,
                Code        = "",
                Description = "Enter description here",
                ContentType = "",
                Image       = null,
                RouteTo     = ""
            };

            return(View("EditContent", ret));
        }
Exemplo n.º 3
0
        public async Task <ActionResult> EditContent(ContentDetailSummaryViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditContent", model));
            }


            using (var context = new ShoppingCartContext())
            {
                string contentTypeSelected = Request.Form["contentTypeSelection"].ToString();

                if (contentTypeSelected == "None")
                {
                    ModelState.AddModelError("ContentType", "Please select content type");
                    return(View("EditContent", model));
                }
                string contentType = context.ContentTypes.Single(t => t.Code == contentTypeSelected).Code;

                //edit existing
                if (model.Id > 0)
                {
                    var content = context.Contents.Single(c => c.Id == model.Id);
                    content.Description   = model.Description;
                    content.ContentTypeId = context.ContentTypes.Single(ct => ct.Code == contentType).Id;

                    if (contentType == "Ad")
                    {
                        //int itemId = context.Products.Single(p => p.Code == model.ItemCode).Id;
                        //content.ImageUrl = string.Format("/Store/Details/{0}", itemId);
                        content.ImageUrl = model.RouteTo;
                        //content.ItemCode = model.ItemCode;
                        content.DisplayOrder = model.DisplayOrder;
                        content.AdText       = model.AdText;
                        content.AdTextStyle  = model.AdTextStyle;

                        if (model.ContentImage != null)
                        {
                            if (model.ContentImage.ContentLength > (4 * 1024 * 1024))
                            {
                                ModelState.AddModelError("CustomError", "Image can not be lager than 4MB.");
                            }
                            if (
                                !(model.ContentImage.ContentType == "image/jpeg" ||
                                  model.ContentImage.ContentType == "image/gif"))
                            {
                                ModelState.AddModelError("CustomError", "Image must be in jpeg or gif format.");
                            }

                            byte[] data = new byte[model.ContentImage.ContentLength];
                            model.ContentImage.InputStream.Read(data, 0,
                                                                model.ContentImage.ContentLength);

                            content.Image = data;
                        }
                    }


                    if (contentType == "Text")
                    {
                        content.TextLocation = model.TextLocation;
                        content.TextValue    = model.TextValue;
                    }

                    await context.SaveChangesAsync();
                }
                else
                {
                    var newContent = new Content()
                    {
                        Code          = SeqHelper.Next("Content").ToString(),
                        Description   = model.Description,
                        ContentTypeId = context.ContentTypes.Single(ct => ct.Code == contentType).Id,
                    };


                    if (contentType == "Ad")
                    {
                        //int itemId = context.Products.Single(p => p.Code == model.ItemCode).Id;
                        newContent.ImageUrl = model.RouteTo;
                        //newContent.ImageUrl = string.Format("/Store/Details/{0}", itemId);
                        //newContent.ItemCode = model.ItemCode;
                        newContent.DisplayOrder = model.DisplayOrder;
                        newContent.AdText       = model.AdText;
                        newContent.AdTextStyle  = model.AdTextStyle;

                        if (model.ContentImage != null)
                        {
                            if (model.ContentImage.ContentLength > (4 * 1024 * 1024))
                            {
                                ModelState.AddModelError("CustomError", "Image can not be lager than 4MB.");
                            }
                            if (
                                !(model.ContentImage.ContentType == "image/jpeg" ||
                                  model.ContentImage.ContentType == "image/gif"))
                            {
                                ModelState.AddModelError("CustomError", "Image must be in jpeg or gif format.");
                            }

                            byte[] data = new byte[model.ContentImage.ContentLength];
                            model.ContentImage.InputStream.Read(data, 0,
                                                                model.ContentImage.ContentLength);

                            newContent.Image = data;
                        }
                    }

                    if (contentType == "Text")
                    {
                        newContent.TextLocation = model.TextLocation;
                        newContent.TextValue    = model.TextValue;
                    }


                    context.Contents.Add(newContent);
                    await context.SaveChangesAsync();

                    var newId = newContent.Id;
                    return(RedirectToAction("EditContent", "ContentManagement", new { id = newId, contentType = contentType }));
                }
                return(RedirectToAction("EditContent", "ContentManagement", new { id = model.Id, contentType = contentType }));
            }
        }