public ActionResult DeleteSubjectToClauseWording(SubjectToClauseWording subjectToClauseWording)
        {
            var result = AdminModuleManager.DeleteSubjectToClauseWording(subjectToClauseWording);

            return(new JsonNetResult
            {
                Data = result
            });
        }
        public ActionResult CreateSubjectToClauseWording(SubjectToClauseWording subjectToClauseWording)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpException(406, "Not Acceptable - Invalid Data");
            }



            var newSubjectToClauseWording = AdminModuleManager.CreateSubjectToClauseWording(subjectToClauseWording);

            return(new JsonNetResult
            {
                Data = newSubjectToClauseWording
            });
        }
        public string DeleteSubjectToClauseWording(SubjectToClauseWording subjectToClauseWording)
        {
            using (ConsoleRepository)
            {
                try
                {
                    ConsoleRepository.Attach(subjectToClauseWording);
                    ConsoleRepository.Delete(subjectToClauseWording);
                    ConsoleRepository.SaveChanges();
                    return "Success";
                }
                catch (Exception ex)
                {
                    return "Failed";
                }

            }
        }
       public SubjectToClauseWording EditSubjectToClauseWording(SubjectToClauseWording subjectToClauseWording)
       {
           using (var transactopnScope = new System.Transactions.TransactionScope(TransactionScopeOption.Required,
 new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted }))
           using (ConsoleRepository)
           {
               ConsoleRepository.Query<SubjectToClauseWording>(mw => mw.Id == subjectToClauseWording.Id).First().Title = subjectToClauseWording.Title;
               // ConsoleRepository.Attach(subjectToClauseWording);
               ConsoleRepository.SaveChanges();
               //Get the new version
               var newSubjectToClauseWording =
                   ConsoleRepository.Query<SubjectToClauseWording>(mw => mw.Key == subjectToClauseWording.Key && mw.IsObsolete == false)
                                    .First();
               var affectedTeamOfficeSettings =
                   ConsoleRepository.Query<SubjectToClauseWordingSetting>(stc => stc.SubjectToClauseWording.Key == subjectToClauseWording.Key).ToList();
               foreach (var affectedTeamOfficeSetting in affectedTeamOfficeSettings)
               {
                   affectedTeamOfficeSetting.SubjectToClauseWording = newSubjectToClauseWording;
               }
               ConsoleRepository.SaveChanges();
               transactopnScope.Complete();
               return newSubjectToClauseWording;
           }
       }
 public SubjectToClauseWording CreateSubjectToClauseWording(SubjectToClauseWording subjectToClauseWording)
 {
     using (ConsoleRepository)
     {
         ConsoleRepository.Add(subjectToClauseWording);
         ConsoleRepository.SaveChanges();
         return subjectToClauseWording;
     }
 }
        public ActionResult DeleteSubjectToClauseWording(SubjectToClauseWording subjectToClauseWording)
        {
            try
            {
                var result = _adminModuleManager.DeleteSubjectToClauseWording(subjectToClauseWording);

                return new JsonNetResult
                {
                    Data = result
                };
            }
			catch (Exception ex) // TODO: Remove
            {
                _logHandler.WriteLog(ex.ToString(), LogSeverity.Error, LogCategory.BusinessComponent);
                throw new HttpException(500, "Server Error");
            }
        }
        public ActionResult EditSubjectToClauseWording(SubjectToClauseWording subjectToClauseWording)
        {
            if (!ModelState.IsValid)
				throw new HttpException(406, "Not Acceptable - Invalid Data"); // TODO: Use Http status code enum and cast

            try
            {
                var updatedSubjectToClauseWording = _adminModuleManager.EditSubjectToClauseWording(subjectToClauseWording);

                return new JsonNetResult
                {
                    Data = updatedSubjectToClauseWording
                };
            }
			catch (Exception ex) // TODO: Remove
            {
                _logHandler.WriteLog(ex.ToString(), LogSeverity.Error, LogCategory.BusinessComponent);
                throw new HttpException(500, "Server Error");
            }
        }