public ActionResult Create(PostViewModel viewModel) { PrepareDropdownList(viewModel); if (!ModelState.IsValid) { return(View(viewModel)); } var post = new Post { DateCreated = DateTime.Now, Views = 0, Slug = SlugHelper.ToUnsignString(viewModel.Title) }; post.Modify(viewModel.Title, viewModel.Descriptions, viewModel.Content, viewModel.CategoryId, viewModel.MetaDescription, viewModel.MetaKeyword, viewModel.IsPopularPost); _unitOfWork.Posts.Add(post); _unitOfWork.Complete(); return(RedirectToAction("Index")); }
public PostViewModel() { if (Title != null) { Slug = SlugHelper.ToUnsignString(Title); } }
public ActionResult Create(PageViewModel viewModel) { if (!ModelState.IsValid) { return(View("Create", viewModel)); } var page = new Page { Id = SlugHelper.ToUnsignString(viewModel.Name), Name = viewModel.Name, BackgroundImage = viewModel.BackgroundImage, Content = viewModel.Content }; _unitOfWork.Pages.Add(page); _unitOfWork.Complete(); SetAlert("Bạn đã thêm " + viewModel.Name + " thành công", "success"); return(RedirectToAction("Index")); }
public ActionResult Update(PostViewModel viewModel) { PrepareDropdownList(viewModel); if (!ModelState.IsValid) { return(View("Edit", viewModel)); } var post = _unitOfWork.Posts.Get(viewModel.Id); if (post == null) { return(NotFoundResult()); } post.DateUpdated = DateTime.Now; post.Slug = SlugHelper.ToUnsignString(viewModel.Title); post.Modify(viewModel.Title, viewModel.Descriptions, viewModel.Content, viewModel.CategoryId, viewModel.MetaDescription, viewModel.MetaKeyword, viewModel.IsPopularPost); _unitOfWork.Complete(); return(RedirectToAction("Index")); }
public void ImportCategoriesFromXlsx(Stream stream) { #region properties var properties = new[] { new PropertyByName <PostCategory>("Id"), new PropertyByName <PostCategory>("Name"), new PropertyByName <PostCategory>("DisplayOrder"), new PropertyByName <PostCategory>("ImageUrl"), new PropertyByName <PostCategory>("BackgroundImage"), new PropertyByName <PostCategory>("ShortDescriptions"), new PropertyByName <PostCategory>("Descriptions") }; #endregion var manager = new PropertyManager <PostCategory>(properties); using (var xlPackage = new ExcelPackage(stream)) { var worksheet = xlPackage.Workbook.Worksheets.FirstOrDefault(); if (worksheet == null) { throw new WorkSheetNotFoundException("No worksheet found"); } var iRow = 2; while (true) { var allColumnsAreEmpty = manager.GetProperties .Select(property => worksheet.Cells[iRow, property.PropertyOrderPosition]) .All(cell => string.IsNullOrEmpty(cell?.Value?.ToString())); if (allColumnsAreEmpty) { break; } manager.ReadFromXlsx(worksheet, iRow); var id = manager.GetProperty("Id").StringValue; var category = _unitOfWork.Categories.Get(id); var isNew = category == null; category = category ?? new PostCategory(); category.Name = manager.GetProperty("Name").StringValue; category.ImageUrl = manager.GetProperty("ImageUrl").StringValue; category.BackgroundImage = manager.GetProperty("BackgroundImage").StringValue; category.ShortDescriptions = manager.GetProperty("ShortDescriptions").StringValue; category.Descriptions = manager.GetProperty("Descriptions").StringValue; category.DisplayOrder = manager.GetProperty("DisplayOrder").ByteValue; if (isNew) { try { category.Id = SlugHelper.ToUnsignString(category.Name); _unitOfWork.Categories.Add(category); } catch (Exception e) { throw new Exception(e.Message); } } else { category.Modify(category.Name, category.DisplayOrder, category.ImageUrl, category.BackgroundImage, category.ShortDescriptions, category.Descriptions); } iRow++; _unitOfWork.Complete(); } } }
public static void MappingConfig() { Mapper.Initialize(mapper => { //Domain to view Model mapper.CreateMap <Menu, MenuViewModel>(); mapper.CreateMap <Page, PageViewModel>(); mapper.CreateMap <PostCategory, PostCategoryViewModel>(); // View Model to Domain mapper.CreateMap <MenuViewModel, Menu>(); mapper.CreateMap <PostCategoryViewModel, PostCategory>().ForMember(pc => pc.Id, opt => opt.MapFrom(x => SlugHelper.ToUnsignString(x.Name))); }); }