public ActionResult Insert(string id) { List <ViewBreadCrumb> breadCrumbList = new List <ViewBreadCrumb>(); if (!String.IsNullOrEmpty(id)) { int realId = Convert.ToInt32(id); DbDataContext db = new DbDataContext("CloudAppWebSite"); int orgId = GetOrganizationId(); if (orgId == 0) { return(Redirect("/blog/Admin/Home/Index")); } CItemTheme cte = db.ItemThemes.Where(p => p.Id == realId && p.OrganizationId == orgId).FirstOrDefault(); ViewBreadCrumb breadCrumb3 = new ViewBreadCrumb(); breadCrumb3.Name = ""; breadCrumb3.Url = ""; breadCrumb3.Level = -1; breadCrumbList.Add(breadCrumb3); ViewBreadCrumb breadCrumbAll = new ViewBreadCrumb(); breadCrumbAll.Name = "Modül Düzenle"; breadCrumbAll.Url = ""; breadCrumbAll.Level = 999999; breadCrumbList.Add(breadCrumbAll); ViewBag.BreadCrumbList = breadCrumbList.OrderBy(item => item.Level).ToList(); return(View(cte)); } else { int orgId = GetOrganizationId(); if (orgId == 0) { return(Redirect("/blog/Admin/Home/Index")); } ViewBreadCrumb breadCrumb3 = new ViewBreadCrumb(); breadCrumb3.Name = ""; breadCrumb3.Url = ""; breadCrumb3.Level = -1; breadCrumbList.Add(breadCrumb3); ViewBreadCrumb breadCrumbAll = new ViewBreadCrumb(); breadCrumbAll.Name = "Modül Ekle"; breadCrumbAll.Url = ""; breadCrumbAll.Level = 999999; breadCrumbList.Add(breadCrumbAll); CItemTheme cte = new CItemTheme(); ViewBag.BreadCrumbList = breadCrumbList.OrderBy(item => item.Level).ToList(); return(View(cte)); } }
private CMenu HtmlNodeToCMenu(HtmlNode nodeMenu, DbDataContext db, int orgId, string themePath) { CMenu menu; if (nodeMenu != null) { if (nodeMenu.Attributes["data-id"] != null && !String.IsNullOrEmpty(nodeMenu.Attributes["data-id"].Value)) { int menuId = Convert.ToInt32(nodeMenu.Attributes["data-id"].Value); menu = db.Menus.Where(k => k.Id == menuId && k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId).FirstOrDefault(); if (menu == null) { throw new Exception("Geçersiz Menu Id'si girdiniz"); } } else { string menuname = nodeMenu.Attributes["data-name"].Value; menu = db.Menus.Where(k => k.Name == menuname && k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId).FirstOrDefault(); if (String.IsNullOrEmpty(menuname)) { throw new Exception("Menu Id'si yok ise isim boş geçilemez."); } if (menu == null) { CItemTheme itemTheme = new CItemTheme(); itemTheme = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == themePath && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Menu).FirstOrDefault(); if (itemTheme == null) { itemTheme = new CItemTheme(); itemTheme.Name = themePath; itemTheme.OrganizationId = orgId; itemTheme.ThemeType = EItemTheme.Menu; itemTheme.ThemePath = themePath + ".cshtml"; itemTheme.CreatedDate = DateTime.Now; itemTheme.CreatedUserId = 1; itemTheme.ActiveStatus = EActiveStatus.Active; db.ItemThemes.Add(itemTheme); db.SaveChanges(); } else { itemTheme.Name = themePath; itemTheme.ThemePath = themePath + ".cshtml"; db.SaveChanges(); } menu = new CMenu(); menu.Name = menuname; menu.OrganizationId = Convert.ToInt32(_OrganizationId); menu.ActiveStatus = EActiveStatus.Active; menu.CreatedDate = DateTime.Now; menu.CreatedUserId = 1; menu.ItemThemeId = itemTheme.Id; db.Menus.Add(menu); db.SaveChanges(); } else { CItemTheme itemTheme = new CItemTheme(); itemTheme = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == themePath && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Menu).FirstOrDefault(); if (itemTheme == null) { itemTheme = new CItemTheme(); itemTheme.Name = themePath; itemTheme.OrganizationId = orgId; itemTheme.ThemeType = EItemTheme.Menu; itemTheme.ThemePath = themePath + ".cshtml"; itemTheme.CreatedDate = DateTime.Now; itemTheme.CreatedUserId = 1; itemTheme.ActiveStatus = EActiveStatus.Active; db.ItemThemes.Add(itemTheme); db.SaveChanges(); menu.ItemThemeId = itemTheme.Id; db.SaveChanges(); } else { itemTheme.Name = themePath; itemTheme.ThemePath = themePath + ".cshtml"; db.SaveChanges(); } } } return(menu); } else { return(null); } }
private void HtmlNodeToCMenuItem(HtmlNode nodeMenu, DbDataContext db, int orgId, int menuId) { if (nodeMenu.FirstChild.Attributes["data-type"] != null && nodeMenu.FirstChild.Attributes["data-type"].Value == "text") { string textName = nodeMenu.FirstChild.Attributes["data-name"].Value; string categoryName = nodeMenu.FirstChild.Attributes["data-categoryname"].Value; CText text; CCategory cat; text = db.Texts.Where(k => k.OrganizationId == orgId && k.Name == textName && k.Category.Name == categoryName && k.ActiveStatus == EActiveStatus.Active).FirstOrDefault(); cat = db.Categories.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == categoryName).FirstOrDefault(); if (cat == null) { CItemTheme itemTheme; itemTheme = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == _CategoryThemeString && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Category).FirstOrDefault(); if (itemTheme == null) { itemTheme = new CItemTheme(); itemTheme.Name = _CategoryThemeString; itemTheme.OrganizationId = orgId; itemTheme.ThemeType = EItemTheme.Category; itemTheme.ThemePath = _CategoryThemeString; itemTheme.ActiveStatus = EActiveStatus.Active; itemTheme.CreatedUserId = 1; itemTheme.CreatedDate = DateTime.Now; db.ItemThemes.Add(itemTheme); db.SaveChanges(); } cat = new CCategory(); cat.Name = categoryName; cat.ActiveStatus = EActiveStatus.Active; cat.CreatedDate = DateTime.Now; cat.CreatedUserId = 1; cat.ItemThemeId = itemTheme.Id; cat.OrganizationId = orgId; db.Categories.Add(cat); db.SaveChanges(); } if (text == null) { if (String.IsNullOrEmpty(nodeMenu.FirstChild.Attributes["data-itemtheme"].Value)) { throw new Exception("Yazının 'data-itemtheme' değeri boş geçilemez."); } string themeName = nodeMenu.FirstChild.Attributes["data-itemtheme"].Value; CItemTheme itemThemeText; itemThemeText = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == themeName && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Text).FirstOrDefault(); if (itemThemeText == null) { itemThemeText = new CItemTheme(); itemThemeText.Name = themeName; itemThemeText.OrganizationId = orgId; itemThemeText.ThemeType = EItemTheme.Text; itemThemeText.CreatedDate = DateTime.Now; itemThemeText.CreatedUserId = 1; itemThemeText.ThemePath = themeName + ".cshtml"; itemThemeText.ActiveStatus = EActiveStatus.Active; db.ItemThemes.Add(itemThemeText); db.SaveChanges(); } text = new CText(); text.Name = nodeMenu.FirstChild.Attributes["data-name"].Value; text.OrganizationId = orgId; text.PageTitle = nodeMenu.FirstChild.Attributes["data-name"].Value; text.CategoryId = cat.Id; text.ItemThemeId = itemThemeText.Id; text.CreatedDate = DateTime.Now; text.ActiveStatus = EActiveStatus.Active; text.CreatedUserId = 1; db.Texts.Add(text); db.SaveChanges(); } string menuName = nodeMenu.FirstChild.InnerHtml; CMenuItem cm = db.MenuItems.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == menuName && k.MenuId == menuId).FirstOrDefault(); if (cm != null) { cm.MenuType = EMenuType.Text; cm.TextId = text.Id; db.SaveChanges(); _AllowedMenuItemId.Add(cm.Id); } else { CMenuItem cmNew = new CMenuItem(); cmNew.TextId = text.Id; cmNew.OrganizationId = orgId; cmNew.Name = menuName; cmNew.MenuId = menuId; cmNew.MenuType = EMenuType.Text; cmNew.CreatedDate = DateTime.Now; cmNew.ActiveStatus = EActiveStatus.Active; cmNew.CreatedUserId = 1; db.MenuItems.Add(cmNew); db.SaveChanges(); _AllowedMenuItemId.Add(cmNew.Id); } } else if (nodeMenu.FirstChild.Attributes["data-type"] != null && nodeMenu.FirstChild.Attributes["data-type"].Value == "url") { string menuName = nodeMenu.FirstChild.InnerHtml; CMenuItem cm = db.MenuItems.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == menuName && k.MenuId == menuId).FirstOrDefault(); if (cm != null) { cm.MenuType = EMenuType.Url; cm.Url = nodeMenu.FirstChild.Attributes["data-url"].Value; db.SaveChanges(); _AllowedMenuItemId.Add(cm.Id); } else { CMenuItem cmNew = new CMenuItem(); cmNew.Url = nodeMenu.FirstChild.Attributes["data-url"].Value; cmNew.OrganizationId = orgId; cmNew.Name = menuName; cmNew.MenuId = menuId; cmNew.MenuType = EMenuType.Url; cmNew.CreatedDate = DateTime.Now; cmNew.CreatedUserId = 1; cmNew.ActiveStatus = EActiveStatus.Active; db.MenuItems.Add(cmNew); db.SaveChanges(); _AllowedMenuItemId.Add(cmNew.Id); } } else if (nodeMenu.FirstChild.Attributes["data-type"] != null && nodeMenu.FirstChild.Attributes["data-type"].Value == "category") { string categoryName = nodeMenu.FirstChild.Attributes["data-name"].Value; string menuName = nodeMenu.FirstChild.InnerHtml; CMenuItem cm = db.MenuItems.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == menuName && k.MenuId == menuId).FirstOrDefault(); CCategory cat; cat = db.Categories.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == categoryName).FirstOrDefault(); if (cat == null) { CItemTheme itemTheme = new CItemTheme(); itemTheme = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == _CategoryThemeString && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Category).FirstOrDefault(); if (itemTheme == null) { itemTheme = new CItemTheme(); itemTheme.Name = _CategoryThemeString; itemTheme.OrganizationId = orgId; itemTheme.ThemeType = EItemTheme.Category; itemTheme.ThemePath = _CategoryThemeString; itemTheme.ActiveStatus = EActiveStatus.Active; db.ItemThemes.Add(itemTheme); db.SaveChanges(); } cat = new CCategory(); cat.Name = categoryName; cat.ActiveStatus = EActiveStatus.Active; cat.CreatedDate = DateTime.Now; cat.CreatedUserId = 1; cat.OrganizationId = orgId; cat.ItemThemeId = itemTheme.Id; db.Categories.Add(cat); db.SaveChanges(); } if (cm != null) { cm.MenuType = EMenuType.Category; cm.CategoryId = cat.Id; db.SaveChanges(); _AllowedMenuItemId.Add(cm.Id); } else { CMenuItem cmNew = new CMenuItem(); cmNew.CategoryId = cat.Id; cmNew.OrganizationId = orgId; cmNew.Name = menuName; cmNew.MenuId = menuId; cmNew.MenuType = EMenuType.Category; cmNew.CreatedDate = DateTime.Now; cmNew.CreatedUserId = 1; cmNew.ActiveStatus = EActiveStatus.Active; db.MenuItems.Add(cmNew); db.SaveChanges(); _AllowedMenuItemId.Add(cmNew.Id); } } else if (nodeMenu.FirstChild.Attributes["data-type"] != null && nodeMenu.FirstChild.Attributes["data-type"].Value == "categorycontent") { string categoryName = nodeMenu.FirstChild.Attributes["data-name"].Value; string menuName = nodeMenu.FirstChild.InnerHtml; CMenuItem cm = db.MenuItems.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == menuName && k.MenuId == menuId).FirstOrDefault(); CCategory cat; cat = db.Categories.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == categoryName).FirstOrDefault(); if (cat == null) { CItemTheme itemTheme = new CItemTheme(); itemTheme = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == _CategoryThemeString && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Category).FirstOrDefault(); if (itemTheme == null) { itemTheme = new CItemTheme(); itemTheme.Name = _CategoryThemeString; itemTheme.OrganizationId = orgId; itemTheme.ThemeType = EItemTheme.Category; itemTheme.ThemePath = _CategoryThemeString; itemTheme.ActiveStatus = EActiveStatus.Active; db.ItemThemes.Add(itemTheme); db.SaveChanges(); } cat = new CCategory(); cat.Name = categoryName; cat.ActiveStatus = EActiveStatus.Active; cat.CreatedDate = DateTime.Now; cat.CreatedUserId = 1; cat.OrganizationId = orgId; cat.ItemThemeId = itemTheme.Id; db.Categories.Add(cat); db.SaveChanges(); } if (cm != null) { cm.MenuType = EMenuType.Category; cm.CategoryId = cat.Id; db.SaveChanges(); _AllowedMenuItemId.Add(cm.Id); } else { CMenuItem cmNew = new CMenuItem(); cmNew.CategoryId = cat.Id; cmNew.OrganizationId = orgId; cmNew.Name = menuName; cmNew.MenuId = menuId; cmNew.MenuType = EMenuType.Category; cmNew.CreatedDate = DateTime.Now; cmNew.CreatedUserId = 1; cmNew.ActiveStatus = EActiveStatus.Active; db.MenuItems.Add(cmNew); db.SaveChanges(); _AllowedMenuItemId.Add(cmNew.Id); } } }
private HtmlDocument ConvertStaticLink(HtmlDocument doc, DbDataContext db) { SeoUrlController seo = new SeoUrlController(); int orgId = Convert.ToInt32(_OrganizationId); foreach (var item in doc.DocumentNode.SelectNodes("//*[@data-staticmenu='true']")) { string dataType = item.Attributes["data-type"] != null ? item.Attributes["data-type"].Value : ""; string dataName = item.Attributes["data-name"] != null ? item.Attributes["data-name"].Value : ""; string dataCategoryName = item.Attributes["data-categoryname"] != null ? item.Attributes["data-categoryname"].Value : ""; string dataItemTheme = item.Attributes["data-itemtheme"] != null ? item.Attributes["data-itemtheme"].Value : ""; if (dataType == "category") { CCategory cat; cat = db.Categories.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == dataCategoryName).FirstOrDefault(); if (cat == null) { CItemTheme itemTheme = new CItemTheme(); itemTheme = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == _CategoryThemeString && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Category).FirstOrDefault(); if (itemTheme == null) { itemTheme = new CItemTheme(); itemTheme.Name = _CategoryThemeString; itemTheme.OrganizationId = orgId; itemTheme.ThemeType = EItemTheme.Category; itemTheme.ThemePath = _CategoryThemeString; itemTheme.ActiveStatus = EActiveStatus.Active; db.ItemThemes.Add(itemTheme); db.SaveChanges(); } cat = new CCategory(); cat.Name = dataCategoryName; cat.ActiveStatus = EActiveStatus.Active; cat.CreatedDate = DateTime.Now; cat.CreatedUserId = 1; cat.OrganizationId = orgId; cat.ItemThemeId = itemTheme.Id; db.Categories.Add(cat); db.SaveChanges(); } item.Attributes["href"].Value = seo.GetUrlString(cat.Id, EMenuType.Category, orgId); } else if (dataType == "text") { CText text; CCategory cat; text = db.Texts.Where(k => k.OrganizationId == orgId && k.Name == dataName && k.Category.Name == dataCategoryName && k.ActiveStatus == EActiveStatus.Active).FirstOrDefault(); cat = db.Categories.Where(k => k.ActiveStatus == EActiveStatus.Active && k.OrganizationId == orgId && k.Name == dataCategoryName).FirstOrDefault(); if (cat == null) { CItemTheme itemTheme; itemTheme = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == _CategoryThemeString && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Category).FirstOrDefault(); if (itemTheme == null) { itemTheme = new CItemTheme(); itemTheme.Name = _CategoryThemeString; itemTheme.OrganizationId = orgId; itemTheme.ThemeType = EItemTheme.Category; itemTheme.ThemePath = _CategoryThemeString; itemTheme.ActiveStatus = EActiveStatus.Active; itemTheme.CreatedUserId = 1; itemTheme.CreatedDate = DateTime.Now; db.ItemThemes.Add(itemTheme); db.SaveChanges(); } cat = new CCategory(); cat.Name = dataCategoryName; cat.ActiveStatus = EActiveStatus.Active; cat.CreatedDate = DateTime.Now; cat.CreatedUserId = 1; cat.ItemThemeId = itemTheme.Id; cat.OrganizationId = orgId; db.Categories.Add(cat); db.SaveChanges(); } if (text == null) { if (String.IsNullOrEmpty(dataItemTheme)) { throw new Exception("Yazının 'data-itemtheme' değeri boş geçilemez."); } CItemTheme itemThemeText; itemThemeText = db.ItemThemes.Where(k => k.OrganizationId == orgId && k.Name == dataItemTheme && k.ActiveStatus == EActiveStatus.Active && k.ThemeType == EItemTheme.Text).FirstOrDefault(); if (itemThemeText == null) { itemThemeText = new CItemTheme(); itemThemeText.Name = dataItemTheme; itemThemeText.OrganizationId = orgId; itemThemeText.ThemeType = EItemTheme.Text; itemThemeText.CreatedDate = DateTime.Now; itemThemeText.CreatedUserId = 1; itemThemeText.ThemePath = dataItemTheme + ".cshtml"; itemThemeText.ActiveStatus = EActiveStatus.Active; db.ItemThemes.Add(itemThemeText); db.SaveChanges(); } text = new CText(); text.Name = dataName; text.OrganizationId = orgId; text.PageTitle = dataName; text.CategoryId = cat.Id; text.ItemThemeId = itemThemeText.Id; text.CreatedDate = DateTime.Now; text.ActiveStatus = EActiveStatus.Active; text.CreatedUserId = 1; db.Texts.Add(text); db.SaveChanges(); } item.Attributes.Remove("data-staticmenu"); item.Attributes.Remove("data-name"); item.Attributes.Remove("data-type"); item.Attributes.Remove("data-categoryname"); item.Attributes.Remove("data-itemtheme"); item.Attributes["href"].Value = seo.GetUrlString(text.Id, EMenuType.Text, orgId); } } return(doc); }
public ActionResult Insert(CItemTheme item) { if (ModelState.IsValid) { DbDataContext db = new DbDataContext("CloudAppWebSite"); if (item.Id == 0) { item.OrganizationId = GetOrganizationId(); if (item.OrganizationId == 0) { return(Redirect("/blog/Admin/Home/Index")); } item.CreatedUserId = GetUserId(); item.CreatedDate = DateTime.Now; item.ActiveStatus = EActiveStatus.Active; item.ThemeType = (EItemTheme)Convert.ToInt32(Request.Form["ThemeType"]); db.ItemThemes.Add(item); db.SaveChanges(); InsertAlert(new ViewAlert { AlertType = EAlertType.Success, Desc = "Modül teması başarılı bir şekilde eklenmiştir.", Title = "Başarılı" }); } else { int orgId = GetOrganizationId(); if (orgId == 0) { return(Redirect("/blog/Admin/Home/Index")); } CItemTheme cte = db.ItemThemes.Where(itemdb => itemdb.OrganizationId == orgId && itemdb.ActiveStatus == EActiveStatus.Active && itemdb.Id == item.Id).FirstOrDefault(); if (cte != null) { cte.Name = item.Name; cte.ThemePath = item.ThemePath; cte.ThemeType = (EItemTheme)Convert.ToInt32(Request.Form["ThemeType"]); db.SaveChanges(); InsertAlert(new ViewAlert { AlertType = EAlertType.Success, Desc = "Modül teması başarılı bir şekilde düzenlenmiştir.", Title = "Başarılı" }); return(RedirectToAction("Insert", "ItemTheme", new { Id = item.Id })); } else { InsertAlert(new ViewAlert { AlertType = EAlertType.Warning, Title = "Uyarı", Desc = "Yetkisiz Giriş" }); RedirectToAction("Dashboard", "Home"); } } return(RedirectToAction("Insert", "ItemTheme")); } if (item.Id != 0) { List <ViewBreadCrumb> breadCrumbList = new List <ViewBreadCrumb>(); ViewBreadCrumb breadCrumb3 = new ViewBreadCrumb(); breadCrumb3.Name = ""; breadCrumb3.Url = ""; breadCrumb3.Level = -1; breadCrumbList.Add(breadCrumb3); ViewBreadCrumb breadCrumbAll = new ViewBreadCrumb(); breadCrumbAll.Name = "Modül Düzenle"; breadCrumbAll.Url = ""; breadCrumbAll.Level = 999999; breadCrumbList.Add(breadCrumbAll); ViewBag.BreadCrumbList = breadCrumbList.OrderBy(tt => tt.Level).ToList(); } else { List <ViewBreadCrumb> breadCrumbList = new List <ViewBreadCrumb>(); ViewBreadCrumb breadCrumb3 = new ViewBreadCrumb(); breadCrumb3.Name = ""; breadCrumb3.Url = ""; breadCrumb3.Level = -1; breadCrumbList.Add(breadCrumb3); ViewBreadCrumb breadCrumbAll = new ViewBreadCrumb(); breadCrumbAll.Name = "Modül Ekle"; breadCrumbAll.Url = ""; breadCrumbAll.Level = 999999; breadCrumbList.Add(breadCrumbAll); ViewBag.BreadCrumbList = breadCrumbList.OrderBy(tt => tt.Level).ToList(); } return(View(item)); }