public HttpResponseMessage Post(ConfigItem item) { // if (!_orchardServices.Authorizer.Authorize(Permissions.ivAdminTab)) // return Request.CreateResponse(HttpStatusCode.Forbidden); try { switch ((string) item.Type) { case "member_type": return Request.CreateResponse(HttpStatusCode.OK, _configServices.SaveMemberType(item)); case "team": TeamName team = null; return Request.CreateResponse(HttpStatusCode.OK, _configServices.SaveTeamName(item, out team)); } return Request.CreateResponse(HttpStatusCode.BadRequest, "Configuration item does not exist"); } catch (Exception ex) { Logger.Log(LogLevel.Error, ex, string.Empty, null); return Request.CreateResponse(HttpStatusCode.InternalServerError); } }
public ConfigItem SaveHowOut(ConfigItem newItem, out HowOut howOut) { using (var session = NHibernateHelper.OpenSession()) { using (var transaction = session.BeginTransaction()) { try { var item = session.CreateCriteria(typeof(HowOut)) .List<HowOut>() .FirstOrDefault(x => x.Name.ToLowerInvariant() == newItem.Name.ToLowerInvariant()) ?? new HowOut { Name = newItem.Name }; if (item.Id != 0) { transaction.Rollback(); howOut = item; return null; } SetAudit(item); session.SaveOrUpdate(item); transaction.Commit(); howOut = item; newItem.Id = item.Id; } catch (Exception ex) { howOut = null; Logger.Log(LogLevel.Error, ex, string.Empty, null); transaction.Rollback(); } return newItem; } } }
public ConfigItem SaveTeamName(ConfigItem newItem, out TeamName team) { using (var session = NHibernateHelper.OpenSession()) { using (var transaction = session.BeginTransaction()) { try { var item = session.CreateCriteria(typeof(TeamName)) .List<TeamName>() .FirstOrDefault(x => x.Name.ToLowerInvariant() == newItem.Name.ToLowerInvariant()) ?? new TeamName { Name = newItem.Name }; if (item.Id != 0) { transaction.Rollback(); team = item; return null; } item.Type = newItem.Type == "Opposition" ? (int)TeamType.Opposition : (int)TeamType.Home; SetAudit(item); session.SaveOrUpdate(item); transaction.Commit(); team = item; newItem.Id = item.Id; } catch (Exception ex) { team = null; Logger.Log(LogLevel.Error, ex, string.Empty, null); transaction.Rollback(); } return newItem; } } }