/// <summary> /// Удаляет фотоальбом /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeletePhotoAlbum(Guid id) { using (var db = new CMSdb(_context)) { using (var tr = db.BeginTransaction()) { bool result = false; var album = db.core_photo_albums.Where(w => w.id == id).SingleOrDefault(); if (album != null) { var log = new LogModel { PageId = id, PageName = album.c_title, Section = LogModule.PhotoAlbums, Action = LogAction.delete }; InsertLog(log, album); result = db.Delete(album) > 0; } tr.Commit(); return(result); } } }
/// <summary> /// Удаляет изображение /// </summary> /// <param name="id"></param> /// <returns></returns> public PhotoCoreModel DeletePhoto(Guid id) { using (var db = new CMSdb(_context)) { using (var tr = db.BeginTransaction()) { var photo = db.core_photos.Where(w => w.id == id).SingleOrDefault(); var log = new LogModel { PageId = id, PageName = photo.c_title, Section = LogModule.Photos, Action = LogAction.delete }; InsertLog(log, photo); bool success = db.Delete(photo) > 0; tr.Commit(); if (success) { return(new PhotoCoreModel { Id = id, Album = photo.f_album, Title = photo.c_title }); } return(null); } } }
/// <summary> /// Удаляет подразделение /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeleteDepartment(Guid id) { using (var db = new CMSdb(_context)) { using (var tr = db.BeginTransaction()) { bool result = false; var item = db.lk_departments.Where(w => w.id == id).SingleOrDefault(); if (item != null) { var log = new LogModel { PageId = id, PageName = item.c_title, Section = LogModule.Departments, Action = LogAction.delete }; InsertLog(log, item); result = db.Delete(item) > 0; } tr.Commit(); return(result); } } }
/// <summary> /// Удаление записи /// </summary> /// <param name="item"></param> /// <returns></returns> public bool DeleteCartProduct(Guid id) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var data = db.cart_products .Where(s => s.id == id); if (data.Any()) { var product = data.Single(); //Логирование var log = new LogModel() { PageId = product.id, PageName = product.c_title, Section = LogModule.Cart, Action = LogAction.update, Comment = "Изменена категория" }; InsertLog(log); db.Delete(product); tran.Commit(); return(true); } return(false); } } }
/// <summary> /// Удаляет лицевой счёт /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeleteSubscr(Guid id) { using (var db = new CMSdb(_context)) { using (var tr = db.BeginTransaction()) { var item = db.lk_subscrs .Where(w => w.id == id) .SingleOrDefault(); if (item != null) { var log = new LogModel { PageId = id, PageName = $"{item.c_name}", Section = LogModule.Subscrs, Action = LogAction.delete }; InsertLog(log, item); db.Delete(item); tr.Commit(); return(true); } return(false); } } }
/// <summary> /// Удаляет шаблон /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeleteTemplate(Guid id) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var data = db.core_views .Where(s => s.id == id); if (data.Any()) { var cdTemplate = data.Single(); db.Delete(cdTemplate); var log = new LogModel() { PageId = id, PageName = String.Format("{0} ({1})", cdTemplate.c_name, cdTemplate.c_path), Section = LogModule.Modules, Action = LogAction.delete }; InsertLog(log); tran.Commit(); return true; } return false; } } }
/// <summary> /// Добавляем меню в карту сайта /// </summary> /// <param name="item">Элемент карты сайта</param> /// <returns></returns> public override bool deleteSiteMapMenu(Guid id) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var query = db.content_sitemap_menuss.Where(w => w.id == id); if (query.Any()) { var siteMapMenuItem = query.SingleOrDefault(); var log = new LogModel() { Site = _domain, Section = LogSection.SiteMap, Action = LogAction.delete, PageId = id, PageName = siteMapMenuItem.c_title + "(" + siteMapMenuItem.c_alias + ")", UserId = _currentUserId, IP = _ip, }; insertLog(log); db.Delete(siteMapMenuItem); } tran.Commit(); return(true); } } }
/// <summary> /// Удаление вакансии /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeleteVacancy(Guid id) { using (var db = new CMSdb(_context)) { using (var tr = db.BeginTransaction()) { bool result = false; var vac = db.vacancy_vacancies.Where(w => w.id == id).SingleOrDefault(); if (vac != null) { var log = new LogModel { PageId = id, PageName = vac.c_title, Section = LogModule.Vacancies, Action = LogAction.delete }; InsertLog(log, vac); result = db.Delete(vac) > 0; } tr.Commit(); return(result); } } }
/// <summary> /// Изменение прав у роли /// </summary> /// <param name="roleClaim"></param> /// <returns></returns> public bool UpdateRoleClaim(RoleClaimModel roleClaim) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var dbRoleclaim = db.core_AspNetRoleClaims .Where(s => s.RoleId == roleClaim.RoleId.ToString()) .Where(s => s.ClaimType == roleClaim.Type) .Where(s => s.ClaimValue == roleClaim.Value); if (roleClaim.Checked) { if (!dbRoleclaim.Any()) { //insert var newRoleClaim = new core_AspNetRoleClaims() { RoleId = roleClaim.RoleId.ToString(), ClaimType = roleClaim.Type, ClaimValue = roleClaim.Value }; db.Insert(newRoleClaim); //log //var log = new LogModel //{ // PageId = Guid.NewGuid, // PageName = "", // Section = LogModule.Users, // Action = LogAction.update, // Comment = "Изменена связь пользователя с сайтами" //}; //InsertLog(log); tran.Commit(); return(true); } } else { if (dbRoleclaim.Any()) { //delete var roleClaimData = dbRoleclaim.Single(); db.Delete(roleClaimData); //log tran.Commit(); return(true); } } return(false); } } }
/// <summary> /// Удаляем новость /// </summary> /// <param name="id">Идентификатор записи</param> /// <returns></returns> public override bool deleteCmsMaterial(Guid id) { try { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var data = db.content_materialss .Where(p => p.id == id); if (!data.Any()) { throw new Exception("Запись с таким Id не найдена"); } var cdMaterial = data.SingleOrDefault(); //Delete news_group_links var q1 = db.content_materials_groups_links .Where(s => s.f_material == id) .Delete(); db.Delete(cdMaterial); var log = new LogModel() { Site = _domain, Section = LogSection.Materials, Action = LogAction.delete, PageId = cdMaterial.id, PageName = cdMaterial.c_title, UserId = _currentUserId, IP = _ip, }; insertLog(log); tran.Commit(); return(true); } } } catch (Exception ex) { //write to log ex var message = String.Format("cmsRepository: deleteCmsMaterial; id={0}", id); OnDislyEvent(new DislyEventArgs(LogLevelEnum.Error, message, ex)); return(false); } }
/// <summary> /// /// </summary> /// <param name="siteId"></param> /// <param name="moduleId"></param> /// <returns></returns> public bool DeleteSiteModuleLink(Guid linkId) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var data = db.core_site_controllers .Where(s => s.id == linkId); if (data.Any()) { var cdSiteModule = data.Single(); db.Delete(cdSiteModule); //Удаляем компоненты модуля var cdSiteModulePartsId = db.core_controllers .Where(p => p.f_parent == cdSiteModule.f_controller) .Select(p => p.id); if (cdSiteModulePartsId.Any()) db.core_site_controllers .Where(p => p.f_site == cdSiteModule.f_site) .Where(p => cdSiteModulePartsId.Contains(p.f_controller)) .Delete(); //Доп инфа для логирования var module = db.core_controllers .Where(m => m.id == cdSiteModule.f_controller) .Single(); var log = new LogModel() { PageId = cdSiteModule.f_site, PageName = module.c_name, Section = LogModule.Sites, Action = LogAction.update, Comment = "Сайту отключен модуль " + module.c_controller_name + "/" + module.c_action_name }; InsertLog(log); tran.Commit(); return true; } return false; } } }
/// <summary> /// Удаляем товар из корзины /// </summary> /// <param name="userId"></param> /// <param name="productId"></param> public bool OrderRemoveProductFromCart(Guid userId, Guid productId) { using (var db = new CMSdb(_context)) { var data = db.cart_cart_items .Where(o => o.f_client == userId) .Where(o => o.f_product == productId); if (data.Any()) { var product = data.Single(); db.Delete(product); return(true); } return(false); } }
/// <summary> /// удаление сайта /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeleteSite(Guid id) { using (var db = new CMSdb(_context)) { using (var tr = db.BeginTransaction()) { var site = db.core_sites.Where(w => w.id == id).SingleOrDefault(); if (site != null) { InsertLog(new LogModel { PageId = site.id, PageName = site.c_name, Section = LogModule.Sites, Action = LogAction.delete }); db.Delete(site); tr.Commit(); return(true); } return(false); } } }
/// <summary> /// Удаляет эл-т карты сайта /// </summary> /// <param name="id"></param> /// <returns></returns> public string DeletePage(Guid id) { using (var db = new CMSdb(_context)) { using (var tr = db.BeginTransaction()) { string result = null; var page = db.core_pages.Where(w => w.gid == id).SingleOrDefault(); if (page != null) { var log = new LogModel { PageId = id, PageName = page.c_name, Section = LogModule.Pages, Action = LogAction.delete }; InsertLog(log, page); #region смещаем n_sort //в карте сайта db.core_pages .Where(w => w.pgid == page.pgid && w.f_site == _siteId && w.n_sort > page.n_sort) .Set(p => p.n_sort, p => p.n_sort - 1) .Update(); //в группах меню var pagegrouplist = db.core_page_group_links.Where(w => w.f_page == id).ToArray(); if (pagegrouplist.Any()) { foreach (var item in pagegrouplist) { db.core_page_group_links .Where(w => w.f_page_group == item.f_page_group && w.n_sort > item.n_sort) .Set(p => p.n_sort, p => p.n_sort - 1) .Update(); } } #endregion #region удаляем дочерние элементы var childid = db.core_pages.Where(w => w.pgid == page.gid).Select(s => s.gid); if (childid.Any()) { foreach (var item in childid.ToArray()) { DeletePage(item); } } #endregion db.Delete(page); result = page.pgid != null? $"item/{page.pgid.ToString()}" : null; tr.Commit(); } return(result); } } }
/// <summary> /// Удаляет модуль /// </summary> /// <param name="id"></param> /// <returns></returns> public bool DeleteModule(Guid id) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var data = db.core_controllers .Where(s => s.id == id); if (data.Any()) { //Не удаляем модуль, пока у него есть компоненты if (data.Any(s => s.id == s.fkcontrollerparentid.f_parent)) return false; var cdController = data.Single(); //При удалении модуля, у всех привязанных шаблонов изменяем тип на дефолтный #region var cdViewData = db.core_views .Where(v => v.id == cdController.c_default_view) .Set(v => v.f_controller, Guid.Empty) .Update(); #endregion //Дополнительное логирование #region //Инфо о модуле, которому принадлежит компонент var parentModuleData = db.core_controllers .Where(m => m.id == cdController.f_parent); if (parentModuleData.Any()) { var parentModule = parentModuleData.Single(); var parentlog = new LogModel() { PageId = parentModule.id, PageName = cdController.c_name, Section = LogModule.Modules, Action = LogAction.insert, Comment = $"Удален компонент '{cdController.c_name}' ({cdController.c_controller_name}/{cdController.c_action_name})" + " модуля '{parentModule.c_name}'({ parentModule.c_controller_name })" }; InsertLog(parentlog); } #endregion db.Delete(cdController); //Логируем #region var log = new LogModel() { PageId = id, PageName = cdController.c_name, Section = LogModule.Modules, Action = LogAction.delete, Comment = $"Удален модуль '{cdController.c_name}' ({cdController.c_controller_name})" }; InsertLog(log); #endregion tran.Commit(); return true; } return false; } } }