/// <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);
                }
            }
        }
Esempio n. 3
0
        /// <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);
                }
            }
        }
Esempio n. 4
0
        /// <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);
                }
            }
        }
Esempio n. 5
0
        /// <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);
                }
            }
        }
Esempio n. 6
0
        /// <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;
                }
            }
        }
Esempio n. 7
0
        /// <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);
                }
            }
        }
Esempio n. 8
0
        /// <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);
                }
            }
        }
Esempio n. 9
0
        /// <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);
                }
            }
        }
Esempio n. 10
0
        /// <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);
            }
        }
Esempio n. 11
0
        /// <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;
                }
            }
        }
Esempio n. 12
0
        /// <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);
            }
        }
Esempio n. 13
0
 /// <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);
         }
     }
 }
Esempio n. 14
0
        /// <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);
                }
            }
        }
Esempio n. 15
0
        /// <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;
                }
            }
        }