// GET: /View public ActionResult View(int id) { //Get Item From Database ProductGroup productGroup = new ProductGroup(); productGroup = passiveSegmentBuilderGroupRepository.GetGroup(id); //Check Exists if (productGroup == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } PassiveSegmentBuilderGroupVM productGroupVM = new PassiveSegmentBuilderGroupVM(); productGroupRepository.EditGroupForDisplay(productGroup); productGroupVM.ProductGroup = productGroup; List <SelectListItem> products = new List <SelectListItem>(); products = productRepository.GetPassiveSegmentProducts(id); productGroupVM.Products = products; List <SelectListItem> subProducts = new List <SelectListItem>(); subProducts = productGroupSubProductRepository.GetProductGroupSubProducts(id); productGroupVM.SubProducts = subProducts; return(View(productGroupVM)); }
//Edit Group public void Edit(PassiveSegmentBuilderGroupVM passiveSegmentBuilderGroup) { string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0]; //products to XML XmlDocument doc = new XmlDocument();// Create the XML Declaration, and append it to XML document XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", null, null); doc.AppendChild(dec); XmlElement root = doc.CreateElement("ProductGroup"); doc.AppendChild(root); if (passiveSegmentBuilderGroup.Products != null) { if (passiveSegmentBuilderGroup.Products.Count > 0) { XmlElement xmlProducts = doc.CreateElement("Products"); foreach (SelectListItem p in passiveSegmentBuilderGroup.Products) { if (p.Selected) { XmlElement xmlProduct = doc.CreateElement("Product"); xmlProduct.InnerText = p.Value; xmlProducts.AppendChild(xmlProduct); } } root.AppendChild(xmlProducts); } } if (passiveSegmentBuilderGroup.SubProducts != null) { if (passiveSegmentBuilderGroup.SubProducts.Count > 0) { XmlElement xmlSubProducts = doc.CreateElement("SubProducts"); foreach (SelectListItem p in passiveSegmentBuilderGroup.SubProducts) { XmlElement xmlSubProduct = doc.CreateElement("SubProduct"); xmlSubProduct.InnerText = p.Value; xmlSubProducts.AppendChild(xmlSubProduct); } root.AppendChild(xmlSubProducts); } } db.spDesktopDataAdmin_UpdatePassiveSegmentBuilderGroup_v1( passiveSegmentBuilderGroup.ProductGroup.ProductGroupId, passiveSegmentBuilderGroup.ProductGroup.ProductGroupName, passiveSegmentBuilderGroup.ProductGroup.EnabledFlagNonNullable, passiveSegmentBuilderGroup.ProductGroup.EnabledDate, passiveSegmentBuilderGroup.ProductGroup.ExpiryDate, passiveSegmentBuilderGroup.ProductGroup.InheritFromParentFlag, passiveSegmentBuilderGroup.ProductGroup.HierarchyType, passiveSegmentBuilderGroup.ProductGroup.HierarchyCode, System.Xml.Linq.XElement.Parse(doc.OuterXml), adminUserGuid, passiveSegmentBuilderGroup.ProductGroup.VersionNumber ); }
public ActionResult UnDelete(PassiveSegmentBuilderGroupVM passiveSegmentBuilderGroupVM) { //Check Valid Item passed in Form if (passiveSegmentBuilderGroupVM.ProductGroup == null) { ViewData["ActionMethod"] = "DeletePost"; return(View("RecordDoesNotExistError")); } //Get Item From Database ProductGroup productGroup = new ProductGroup(); productGroup = passiveSegmentBuilderGroupRepository.GetGroup(passiveSegmentBuilderGroupVM.ProductGroup.ProductGroupId); //Check Exists in Databsase if (productGroup == null || productGroup.DeletedFlag == false) { ViewData["ActionMethod"] = "DeletePost"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToProductGroup(productGroup.ProductGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Delete Form Item try { passiveSegmentBuilderGroupVM.ProductGroup.DeletedFlag = false; productGroupRepository.UpdateGroupDeletedStatus(passiveSegmentBuilderGroupVM.ProductGroup); } catch (SqlException ex) { //Versioning Error - go to standard versionError page if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ProductGroup.mvc/UnDelete/" + productGroup.ProductGroupId; return(View("VersionError")); } LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } return(RedirectToAction("ListUnDeleted")); }
// GET: /Edit public ActionResult Edit(int id) { //Get Item From Database ProductGroup productGroup = new ProductGroup(); productGroup = passiveSegmentBuilderGroupRepository.GetGroup(id); //Check Exists if (productGroup == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToProductGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } PassiveSegmentBuilderGroupVM productGroupVM = new PassiveSegmentBuilderGroupVM(); productGroupRepository.EditGroupForDisplay(productGroup); productGroupVM.ProductGroup = productGroup; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); productGroupVM.HierarchyTypes = hierarchyTypesList; List <SelectListItem> products = new List <SelectListItem>(); products = productRepository.GetPassiveSegmentProducts(id); productGroupVM.Products = products; List <SelectListItem> subProducts = new List <SelectListItem>(); subProducts = productGroupSubProductRepository.GetProductGroupSubProducts(id); productGroupVM.SubProducts = subProducts; List <SelectListItem> availableSubProducts = new List <SelectListItem>(); availableSubProducts = productGroupSubProductRepository.GetProductGroupAvailableSubProducts(id); productGroupVM.AvailableSubProducts = availableSubProducts; return(View(productGroupVM)); }
// GET: /UnDelete public ActionResult UnDelete(int id) { //Get Item From Database ProductGroup productGroup = new ProductGroup(); productGroup = passiveSegmentBuilderGroupRepository.GetGroup(id); //Check Exists if (productGroup == null || productGroup.DeletedFlag == false) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToProductGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } PassiveSegmentBuilderGroupVM productGroupVM = new PassiveSegmentBuilderGroupVM(); productGroupRepository.EditGroupForDisplay(productGroup); productGroupVM.ProductGroup = productGroup; List <SelectListItem> products = new List <SelectListItem>(); products = productRepository.GetPassiveSegmentProducts(id); productGroupVM.Products = products; List <SelectListItem> subProducts = new List <SelectListItem>(); subProducts = productGroupSubProductRepository.GetProductGroupSubProducts(id); productGroupVM.SubProducts = subProducts; return(View(productGroupVM)); }
// GET: /Create public ActionResult Create() { //Check Access Rights to Domain if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } PassiveSegmentBuilderGroupVM productGroupVM = new PassiveSegmentBuilderGroupVM(); ProductGroup productGroup = new ProductGroup(); productGroup.EnabledFlagNonNullable = true; productGroup.InheritFromParentFlag = true; productGroupVM.ProductGroup = productGroup; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); productGroupVM.HierarchyTypes = hierarchyTypesList; List <SelectListItem> products = new List <SelectListItem>(); products = productRepository.GetPassiveSegmentProducts(null); productGroupVM.Products = products; List <SelectListItem> subProducts = new List <SelectListItem>(); productGroupVM.SubProducts = subProducts; List <SelectListItem> availableSubProducts = new List <SelectListItem>(); availableSubProducts = productGroupSubProductRepository.GetProductGroupAvailableSubProducts(null); productGroupVM.AvailableSubProducts = availableSubProducts; return(View(productGroupVM)); }
public ActionResult Edit(PassiveSegmentBuilderGroupVM passiveSegmentBuilderGroupVM) { //Get Item From Database ProductGroup productGroup = new ProductGroup(); productGroup = passiveSegmentBuilderGroupRepository.GetGroup(passiveSegmentBuilderGroupVM.ProductGroup.ProductGroupId); //Check Exists if (productGroup == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToProductGroup(productGroup.ProductGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Update Model From Form + Validate against DB try { UpdateModel <ProductGroup>(productGroup, "ProductGroup"); } catch { string n = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { n += error.ErrorMessage; } } ViewData["Message"] = "ValidationError : " + n; return(View("Error")); } //Database Update try { passiveSegmentBuilderGroupRepository.Edit(passiveSegmentBuilderGroupVM); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/ProductGroup.mvc/Edit/" + productGroup.ProductGroupId; return(View("VersionError")); } LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } return(RedirectToAction("ListUnDeleted")); }
public ActionResult Create(PassiveSegmentBuilderGroupVM passiveSegmentBuilderGroupVM) { //Check Access Rights to Domain if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //We need to extract group ProductGroup productGroup = new ProductGroup(); productGroup = passiveSegmentBuilderGroupVM.ProductGroup; if (productGroup == null) { ViewData["ActionMethod"] = "CreatePost"; return(View("RecordDoesNotExistError")); } //Check Access Rights to Domain Hierarchy if (!hierarchyRepository.AdminHasDomainHierarchyWriteAccess(productGroup.HierarchyType, productGroup.HierarchyCode, productGroup.SourceSystemCode, groupName)) { ViewData["Message"] = "You cannot add to this hierarchy item"; return(View("Error")); } //Update Model From Form + Validate against DB try { UpdateModel <ProductGroup>(productGroup, "ProductGroup"); } catch { string n = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { n += error.ErrorMessage; } } ViewData["Message"] = "ValidationError : " + n; return(View("Error")); } //Database Update try { passiveSegmentBuilderGroupRepository.Add(passiveSegmentBuilderGroupVM); } catch (SqlException ex) { //Non-Unique Name if (ex.Message == "NonUniqueName") { return(View("NonUniqueNameError")); } LogRepository logRepository = new LogRepository(); logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } return(RedirectToAction("ListUnDeleted")); }