/// <summary> /// Delete /// </summary> /// <param name="model">Post model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Delete(PostModel model) { try { using (var _context = new TDHEntities()) { WEB_POST _md = _context.WEB_POST.FirstOrDefault(m => m.id == model.ID && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Delete", model.CreateBy); } _md.deleted = true; _md.delete_by = model.DeleteBy; _md.delete_date = DateTime.Now; _context.WEB_POST.Attach(_md); _context.Entry(_md).State = EntityState.Modified; _context.SaveChanges(); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "Delete", model.CreateBy, ex); } Notifier.Notification(model.CreateBy, Message.DeleteSuccess, Notifier.TYPE.Success); return(ResponseStatusCodeHelper.Success); }
/// <summary> /// Get item /// </summary> /// <param name="model">Post model</param> /// <returns>PostModel</returns> public PostModel GetItemByID(PostModel model) { try { using (var _context = new TDHEntities()) { WEB_POST _md = _context.WEB_POST.FirstOrDefault(m => m.id == model.ID && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy); } return(new PostModel() { ID = _md.id, IsNavigation = _md.is_navigation, CategoryID = _md.category_id, NavigationID = _md.navigation_id, Title = _md.title, Alias = _md.alias, Description = _md.description, Content = _md.content, Image = _md.image, Ordering = _md.ordering, Publish = _md.publish, MetaTitle = _md.meta_title, MetaDescription = _md.meta_description, MetaKeywords = _md.meta_keywords, MetaNext = _md.meta_next, MetaOgSiteName = _md.meta_og_site_name, MetaOgImage = _md.meta_og_image, MetaTwitterImage = _md.meta_twitter_image, MetaArticleName = _md.meta_article_name, MetaArticleTag = _md.meta_article_tag, MetaArticleSection = _md.meta_article_section, MetaArticlePublish = _md.meta_article_publish }); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex); } }
/// <summary> /// Save /// </summary> /// <param name="model">Post model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(PostModel model) { try { using (var _context = new TDHEntities()) { WEB_POST _md = new WEB_POST(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = _context.WEB_POST.FirstOrDefault(m => m.id == model.ID && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", model.CreateBy); } } _md.is_navigation = model.IsNavigation; if (model.IsNavigation) { var _nav = _context.WEB_NAVIGATION.FirstOrDefault(m => m.id == model.NavigationID); _md.navigation_id = model.NavigationID; _md.category_id = null; _md.alias = _nav.alias + "/" + model.MetaTitle.TitleToAlias(); } else { var _cate = _context.WEB_CATEGORY.FirstOrDefault(m => m.id == model.CategoryID); _md.category_id = model.CategoryID; _md.navigation_id = null; _md.alias = _cate.alias + "/" + model.MetaTitle.TitleToAlias(); } _md.title = model.Title; _md.description = model.Description; _md.content = model.Content; _md.image = model.Image; _md.ordering = model.Ordering; _md.publish = model.Publish; _md.meta_title = model.MetaTitle; _md.meta_description = model.MetaDescription; _md.meta_keywords = model.MetaKeywords; _md.meta_next = model.MetaNext; _md.meta_og_site_name = model.MetaOgSiteName; _md.meta_og_image = model.MetaOgImage; _md.meta_twitter_image = model.MetaTwitterImage; _md.meta_article_name = model.MetaArticleName; _md.meta_article_tag = model.MetaArticleTag; _md.meta_article_section = model.MetaArticleSection; _md.meta_article_publish = DateTime.Now; if (model.Insert) { _md.create_by = model.CreateBy; _md.create_date = DateTime.Now; _context.WEB_POST.Add(_md); _context.Entry(_md).State = EntityState.Added; } else { _md.update_by = model.UpdateBy; _md.update_date = DateTime.Now; _context.WEB_POST.Attach(_md); _context.Entry(_md).State = EntityState.Modified; } _context.SaveChanges(); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "Save", model.CreateBy, ex); } if (model.Insert) { Notifier.Notification(model.CreateBy, Message.InsertSuccess, Notifier.TYPE.Success); } else { Notifier.Notification(model.CreateBy, Message.UpdateSuccess, Notifier.TYPE.Success); } return(ResponseStatusCodeHelper.Success); }