// GET: /EditSequence public ActionResult EditSequence(int groupid, int productId, int?page) { //Get Group OptionalFieldGroup optionalFieldGroup = new OptionalFieldGroup(); optionalFieldGroup = optionalFieldGroupRepository.GetGroup(groupid); //Check Exists if (optionalFieldGroup == null) { ViewData["ActionMethod"] = "ListGet"; return(View("RecordDoesNotExistError")); } //Check Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToOptionalFieldGroup(groupid)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } OptionalFieldItemSequenceRepository optionalFieldItemSequenceRepository = new OptionalFieldItemSequenceRepository(); OptionalFieldRepository optionalFieldRepository = new OptionalFieldRepository(); //Only show products where more than one item is present OptionalFieldItemSequencesVM optionalFieldItemSequencesVM = new OptionalFieldItemSequencesVM(); optionalFieldItemSequencesVM.OptionalFieldItemSequences = optionalFieldItemSequenceRepository.GetOptionalFieldItemSequences(groupid, productId, page ?? 1); optionalFieldItemSequencesVM.OptionalFieldGroup = optionalFieldGroup; //optionalFieldItemSequencesVM.OptionalField = optionalFieldRepository.GetItem(id); //optionalFieldItemSequencesVM.OptionalFieldId = id; ViewData["Page"] = page ?? 1; return(View(optionalFieldItemSequencesVM)); }
public ActionResult EditSequence(int groupid, int page, FormCollection collection) { //Get Group OptionalFieldGroup optionalFieldGroup = new OptionalFieldGroup(); optionalFieldGroup = optionalFieldGroupRepository.GetGroup(groupid); //Check Exists if (optionalFieldGroup == null) { ViewData["ActionMethod"] = "ListGet"; return(View("RecordDoesNotExistError")); } ////Check Exists //OptionalField optionalField = new OptionalField(); //OptionalFieldRepository optionalFieldRepository = new OptionalFieldRepository(); //optionalField = optionalFieldRepository.GetItem(id); //if (optionalField == null) //{ // ViewData["ActionMethod"] = "EditSequencePost"; // return View("RecordDoesNotExistError"); //} //Check Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToOptionalFieldGroup(groupid)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } string[] sequences = collection["Sequence"].Split(new char[] { ',' }); int sequence = (page - 1 * 5) - 2; if (sequence < 0) { sequence = 1; } 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("SequenceXML"); doc.AppendChild(root); foreach (string s in sequences) { string[] primaryKey = s.Split(new char[] { '_' }); int servicingOptionItemId = Convert.ToInt32(primaryKey[0]); int versionNumber = Convert.ToInt32(primaryKey[1]); XmlElement xmlItem = doc.CreateElement("Item"); root.AppendChild(xmlItem); XmlElement xmlSequence = doc.CreateElement("Sequence"); xmlSequence.InnerText = sequence.ToString(); xmlItem.AppendChild(xmlSequence); XmlElement xmlServicingOptionItemId = doc.CreateElement("OptionalFieldItemId"); xmlServicingOptionItemId.InnerText = servicingOptionItemId.ToString(); xmlItem.AppendChild(xmlServicingOptionItemId); XmlElement xmlVersionNumber = doc.CreateElement("VersionNumber"); xmlVersionNumber.InnerText = versionNumber.ToString(); xmlItem.AppendChild(xmlVersionNumber); sequence = sequence + 1; } try { OptionalFieldItemSequenceRepository optionalFieldItemSequenceRepository = new OptionalFieldItemSequenceRepository(); optionalFieldItemSequenceRepository.UpdateOptionalFieldItemSequences(System.Xml.Linq.XElement.Parse(doc.OuterXml)); } catch (SqlException ex) { //Versioning Error if (ex.Message == "SQLVersioningError") { ViewData["ReturnURL"] = "/servicingOptionItem.mvc/EditSequence?page=" + page + "&groupid=" + groupid; 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("List", new { id = groupid })); }