public IHttpActionResult GetCategories() { IHttpActionResult response = null; if (RegisterCategories == null) { RegisterCategories = new List <RegisterCategory>(); var command = GetCommand("usp_GetCategories", CommandType.StoredProcedure); command.Connection.Open(); var reader = command.ExecuteReader(); while (reader.Read()) { var category = new RegisterCategory { MainCategoryID = reader.GetInt32(reader.GetOrdinal("MainCategoryID")), CategoryID = reader.GetInt32(reader.GetOrdinal("CategoryID")), CategoryName = reader.GetString(reader.GetOrdinal("Category")), CategoryTypeID = reader.GetInt32(reader.GetOrdinal("CategoryTypeID")), CategoryType = reader.GetString(reader.GetOrdinal("CategoryType")) }; RegisterCategories.Add(category); } } if (RegisterCategories.Count > 0) { response = Ok(RegisterCategories); } else { response = NotFound(); } return(response); }
public ContestSettings CreateSettings(IContestInformation contest) { var defaultCat = RegisterCategory? .Where(k => k.Value != 0) .ToDictionary(k => k.Key, v => v.Value); if (defaultCat?.Count == 0) { defaultCat = null; } if (RestrictToIpRanges) { IpRanges ??= string.Empty; } else { IpRanges = null; } int restriction = (RestrictToIpRanges ? 1 : 0) | (RestrictToMinimalSite ? 2 : 0) | (RestrictToLastLoginIp ? 4 : 0); var penaltyTime = contest.RankingStrategy == CcsDefaults.RuleXCPC && PenaltyTime != 20 ? PenaltyTime : default(int?); var scoreboardPagingEnabled = UseScoreboardPaging switch { 1 => true, 2 => false, _ => default(bool?), }; var settings = contest.Settings.Clone(); settings.BalloonAvailable = contest.Kind == CcsDefaults.KindDom && UseBalloon; settings.EventAvailable = contest.Kind == CcsDefaults.KindDom && UseEvents; settings.Languages = Languages; settings.PrintingAvailable = contest.Kind == CcsDefaults.KindDom && UsePrintings; settings.RegisterCategory = defaultCat; settings.StatusAvailable = StatusAvailable; settings.PenaltyTime = penaltyTime; settings.ScoreboardPaging = scoreboardPagingEnabled; settings.PreferGymUI = contest.Kind == CcsDefaults.KindDom && PreferGymUI ? true : default(bool?); settings.RestrictIp = contest.Kind != CcsDefaults.KindDom || restriction == 0 ? default(int?) : restriction; settings.IpRanges = IpRanges?.Split(';', StringSplitOptions.RemoveEmptyEntries); return(settings); }
//figure out what the register is, in terms of how it is stored on the video card... private RegisterRank ExtractRank(string type, RegisterCategory category, int array, int size) { if (category != RegisterCategory.Float4 || type.Length < 3) { return(RegisterRank.Unknown); } RegisterRank rank = RegisterRank.Unknown; int start = 0; switch (type.Substring(0, 3)) { case "flo": //float rank = RegisterRank.FloatNx1; start = 5; break; case "int": //int rank = RegisterRank.IntNx1; start = 3; break; case "boo": //bool return(RegisterRank.Bool); default: return(RegisterRank.Unknown); } if (type.Length != start + 3) //not a matrix... { return(rank); } if (type[start + 1] != 'x' || !char.IsNumber(type[start + 2])) { return(RegisterRank.Unknown); } int dim = int.Parse(type[start + 2].ToString()); //a value may be defined as float4x4, however only float4x3 may be allocated (for example) //the rank must be the minimum of the two. if (array == -1) { dim = Math.Min(dim, size); } rank += (dim - 1); return(rank); }
public void RegisterCategoryTest() { ServiceCategory category3 = new ServiceCategory { ServiceCategoryId = 3, CategoryName = "categoria 3", CategoryDescription = "Descripcion de la categoria 3." }; mockRepository.Setup(x => x.RegisterCategory(category3)).Returns(true); var handler = new RegisterCategoryHandler(mockRepository.Object); RegisterCategory rs = new RegisterCategory(category3); var res = handler.Handle(rs, ct); Assert.IsTrue(res.Result); }
/// <inheritdoc /> public ContestSettings Clone() { return(new ContestSettings { BalloonAvailable = BalloonAvailable, EventAvailable = EventAvailable, Languages = Languages?.ToArray(), PlagiarismSet = PlagiarismSet, PrintingAvailable = PrintingAvailable, RegisterCategory = RegisterCategory?.ToDictionary(k => k.Key, v => v.Value), StatusAvailable = StatusAvailable, RestrictIp = RestrictIp, IpRanges = IpRanges, PenaltyTime = PenaltyTime, ScoreboardPaging = ScoreboardPaging, PreferGymUI = PreferGymUI, SystemTestRejudgingId = SystemTestRejudgingId, RatingChangesApplied = RatingChangesApplied, }); }
//figure out what the register is, in terms of how it is stored on the video card... private RegisterRank ExtractRank(string type, RegisterCategory category, int array, int size) { if (category != RegisterCategory.Float4 || type.Length < 3) return RegisterRank.Unknown; RegisterRank rank = RegisterRank.Unknown; int start = 0; switch (type.Substring(0, 3)) { case "flo"://float rank = RegisterRank.FloatNx1; start = 5; break; case "int"://int rank = RegisterRank.IntNx1; start = 3; break; case "boo"://bool return RegisterRank.Bool; default: return RegisterRank.Unknown; } if (type.Length != start + 3) //not a matrix... return rank; if (type[start + 1] != 'x' || !char.IsNumber(type[start + 2])) return RegisterRank.Unknown; int dim = int.Parse(type[start + 2].ToString()); //a value may be defined as float4x4, however only float4x3 may be allocated (for example) //the rank must be the minimum of the two. if (array == -1) dim = Math.Min(dim, size); rank += (dim - 1); return rank; }