public ActionResult Delete(int id, string languageCode)
        {
            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            OptionalFieldLanguage optionalFieldLanguage = new OptionalFieldLanguage();

            optionalFieldLanguage = optionalFieldLanguageRepository.GetItem(id, languageCode);

            //Check Exists
            if (optionalFieldLanguage == null)
            {
                ViewData["ActionMethod"] = "ViewGet";
                return(View("RecordDoesNotExistError"));
            }

            OptionalFieldLanguageVM optionalFieldLanguageVM = new OptionalFieldLanguageVM();

            optionalFieldLanguageVM.OptionalFieldLanguage = optionalFieldLanguage;

            // Need the name for breadcrumbs
            OptionalFieldRepository optionalFieldRespository = new OptionalFieldRepository();
            OptionalField           optionalField            = optionalFieldRespository.GetItem(id);

            ViewData["OptionalFieldName"] = optionalField.OptionalFieldName;

            return(View(optionalFieldLanguageVM));
        }
        // GET: Create A Single OptionalFieldLanguage
        public ActionResult Create(int id)
        {
            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            OptionalFieldLanguageVM optionalFieldLanguageVM = new OptionalFieldLanguageVM();

            //Need the name for breadcrumbs
            OptionalFieldRepository optionalFieldRespository = new OptionalFieldRepository();
            OptionalField           optionalField            = optionalFieldRespository.GetItem(id);

            if (optionalField != null)
            {
                ViewData["OptionalFieldName"] = optionalField.OptionalFieldName;
            }

            //Set Default Option Size
            OptionalFieldLanguage optionalFieldLanguage = new OptionalFieldLanguage();

            optionalFieldLanguage.OptionalFieldId         = id;
            optionalFieldLanguage.OptionalFieldSize       = 0;
            optionalFieldLanguageVM.OptionalFieldLanguage = optionalFieldLanguage;

            //Languages
            optionalFieldLanguageVM.OptionalFieldLanguages = new SelectList(optionalFieldLanguageRepository.GetAllAvailableLanguages(id), "LanguageCode", "LanguageName");

            return(View(optionalFieldLanguageVM));
        }
        // GET: View A Single OptionalFieldLanguage
        public ActionResult View(int id, string languageCode)
        {
            OptionalFieldLanguage optionalFieldLanguage = optionalFieldLanguageRepository.GetItem(id, languageCode);

            //Check Exists
            if (optionalFieldLanguage == null)
            {
                ViewData["ActionMethod"] = "ViewGet";
                return(View("RecordDoesNotExistError"));
            }

            OptionalFieldLanguageVM optionalFieldLanguageVM = new OptionalFieldLanguageVM();

            optionalFieldLanguageVM.OptionalFieldLanguage = optionalFieldLanguage;

            //Need the name for breadcrumbs
            OptionalFieldRepository optionalFieldRespository = new OptionalFieldRepository();
            OptionalField           optionalField            = optionalFieldRespository.GetItem(id);

            if (optionalField != null)
            {
                ViewData["OptionalFieldName"] = optionalField.OptionalFieldName;
            }

            //Languages
            optionalFieldLanguageVM.OptionalFieldLanguages = new SelectList(optionalFieldLanguageRepository.GetAllAvailableLanguages(id), "LanguageCode", "LanguageName");

            return(View(optionalFieldLanguageVM));
        }
        public ActionResult Edit(OptionalFieldLanguageVM optionalFieldLanguageVM)
        {
            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            OptionalFieldLanguage optionalFieldLanguage = new OptionalFieldLanguage();

            optionalFieldLanguage = optionalFieldLanguageRepository.GetItem(
                optionalFieldLanguageVM.OptionalFieldLanguage.OptionalFieldId,
                optionalFieldLanguageVM.OptionalFieldLanguage.LanguageCode
                );

            //Check Exists
            if (optionalFieldLanguage == null)
            {
                ViewData["ActionMethod"] = "EditPost";
                return(View("RecordDoesNotExistError"));
            }

            //Update Model from Form
            try
            {
                UpdateModel(optionalFieldLanguageVM);
            }
            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
            {
                optionalFieldLanguageRepository.Update(optionalFieldLanguageVM);
            }
            catch (SqlException ex)
            {
                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 = optionalFieldLanguage.OptionalFieldId }));
        }
        //Delete From DB
        public void Delete(OptionalFieldLanguage optionalFieldLanguage)
        {
            string adminUserGuid = HttpContext.Current.User.Identity.Name.Split(new[] { '|' })[0];

            db.spDesktopDataAdmin_DeleteOptionalFieldLanguage_v1(
                optionalFieldLanguage.OptionalFieldId,
                optionalFieldLanguage.LanguageCode,
                adminUserGuid,
                optionalFieldLanguage.VersionNumber
                );
        }
        public ActionResult Delete(int id, FormCollection collection)
        {
            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            OptionalFieldLanguage optionalFieldLanguage = new OptionalFieldLanguage();

            optionalFieldLanguage = optionalFieldLanguageRepository.GetItem(id, collection["OptionalFieldLanguage.LanguageCode"]);

            //Check Exists
            if (optionalFieldLanguage == null)
            {
                ViewData["ActionMethod"] = "DeletePost";
                return(View("RecordDoesNotExistError"));
            }

            //Delete Item
            try
            {
                optionalFieldLanguage.VersionNumber = Int32.Parse(collection["OptionalFieldLanguage.VersionNumber"]);
                optionalFieldLanguageRepository.Delete(optionalFieldLanguage);
            }
            catch (SqlException ex)
            {
                //Versioning Error - go to standard versionError page
                if (ex.Message == "SQLVersioningError")
                {
                    ViewData["ReturnURL"] = "/OptionalFieldLanguage.mvc/Delete/" + optionalFieldLanguage.OptionalFieldId.ToString();
                    return(View("VersionError"));
                }
                //Restraint Error - go to standard DeleteError page
                if (ex.Message == "SQLDeleteError")
                {
                    ViewData["ReturnURL"] = "/OptionalFieldLanguage.mvc/Delete/" + optionalFieldLanguage.OptionalFieldId.ToString();
                    return(View("DeleteError"));
                }
                //Generic Error
                ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details";
                return(View("Error"));
            }

            //Return
            return(RedirectToAction("List", new { id = optionalFieldLanguage.OptionalFieldId }));
        }
        // GET: Edit A Single OptionalFieldValue
        public ActionResult Edit(int id, string languageCode)
        {
            //Check Access Rights to Domain
            if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName))
            {
                ViewData["Message"] = "You do not have access to this item";
                return(View("Error"));
            }

            OptionalFieldLanguage optionalFieldLanguage = optionalFieldLanguageRepository.GetItem(id, languageCode);

            //Check Exists
            if (optionalFieldLanguage == null)
            {
                ViewData["ActionMethod"] = "EditGet";
                return(View("RecordDoesNotExistError"));
            }

            OptionalFieldLanguageVM optionalFieldLanguageVM = new OptionalFieldLanguageVM();

            //Get the Languages
            LanguageRepository languageRepository = new LanguageRepository();

            optionalFieldLanguageVM.OptionalFieldLanguages = new SelectList(
                languageRepository.GetAllLanguages().ToList(),
                "LanguageCode",
                "LanguageName",
                optionalFieldLanguage.LanguageCode
                );

            //Need the name for breadcrumbs
            OptionalFieldRepository optionalFieldRespository = new OptionalFieldRepository();
            OptionalField           optionalField            = optionalFieldRespository.GetItem(id);

            if (optionalField != null)
            {
                ViewData["OptionalFieldName"] = optionalField.OptionalFieldName;
            }

            optionalFieldLanguageVM.OptionalFieldLanguage = optionalFieldLanguage;

            return(View(optionalFieldLanguageVM));
        }
 public OptionalFieldLanguageVM(OptionalFieldLanguage optionalFieldLanguage)
 {
     OptionalFieldLanguage = optionalFieldLanguage;
 }