/// <summary> /// Allocate a single register. /// </summary> public Register AllocateRegister(RCategory category, RType type) { // Allow an additional register var result = new Register(lastRegisterIndex++, category, type); registers.Add(result); return result; }
/// <summary> /// Allocate a single register. /// </summary> public Register AllocateRegister(RCategory category, RType type) { // Allow an additional register var result = new Register(lastRegisterIndex++, category, type); registers.Add(result); return(result); }
/// <summary> /// Allocate a double register used for wide arguments. /// </summary> public Tuple<Register, Register> AllocateWideRegister(RCategory category) { // Allow an additional register var first = new Register(lastRegisterIndex++, category, RType.Wide) { Flags = RFlags.KeepWithNext }; var second = new Register(lastRegisterIndex++, category, RType.Wide2); registers.Add(first); registers.Add(second); return Tuple.Create(first, second); }
public static KeyValueTypeStringModel ToKeyValueModel(this RCategory category, bool @checked) { if (category == null) { return(null); } return(new KeyValueTypeStringModel() { Value = category.Id, Checked = @checked, Text = category.Name }); }
public async Task <CategoryGetResponse> CategoryGet(CategoryGetRequest request) { CategoryGetResponse response = new CategoryGetResponse(); try { RCategory[] categories = await _categoryService.Get(request.LanguageCurrentId); if (categories.Length > 0) { if (!string.IsNullOrEmpty(request.Id)) { RCategory currentCategory = categories.FirstOrDefault(p => p.Id == request.Id); if (currentCategory != null) { categories = RCategory.RemoveCurrentTree(categories, currentCategory); } } response.Parents = categories?.Select(p => p.ToModel()).ToArray(); } RLanguage[] languages = await _languageService.Get(); if (languages.Length > 0) { response.Languages = languages.Select(p => p.ToKeyValueModel()).ToArray(); } if (!string.IsNullOrEmpty(request.Id)) { RCategory category = await _categoryService.Get(request.LanguageId, request.Id); if (category == null) { response.SetFail(BaseResponse.ErrorCodeEnum.CategoryNotFound); return(response); } response.Category = category.ToModel(); } else { response.Category = new CategoryModel(); } response.SetSucess(); } catch (Exception e) { response.SetFail(e); _logger.LogError(e, e.Message, request); } return(response); }
/// <summary> /// Allocate a double register used for wide arguments. /// </summary> public Tuple <Register, Register> AllocateWideRegister(RCategory category) { // Allow an additional register var first = new Register(lastRegisterIndex++, category, RType.Wide) { Flags = RFlags.KeepWithNext }; var second = new Register(lastRegisterIndex++, category, RType.Wide2); registers.Add(first); registers.Add(second); return(Tuple.Create(first, second)); }
public static JsTreeModel ToJstreeStateModel(this RCategory category, bool opened, bool selected, bool disabled) { if (category == null) { return(null); } return(new JsTreeModel() { Id = category.Id, Text = category.Name, Parent = string.IsNullOrEmpty(category.ParentId) ? "#" : category.ParentId, State = new JstreeStateModel() { Disabled = disabled, Opened = opened, Selected = selected } }); }
public static CategoryModel ToModel(this RCategory category) { if (category == null) { return(null); } return(new CategoryModel() { Name = category.Name, ParentId = category.ParentId, Description = category.Description, DisplayOrder = category.DisplayOrder, Id = category.Id, LanguageId = category.LanguageId, Status = category.Status, Code = category.Code, Logos = category.Logos }); }
public async Task <ICommandResult> Handle(CategoryChangeCommand mesage) { try { Category category = new Category(); RCategory categoryFromDb = await _categoryService.Get(mesage.LanguageId, mesage.Id); //string code = string.Empty; //if (string.IsNullOrEmpty(categoryFromDb.Code)) //{ // long systemIdentity = await _commonService.GetNextId(typeof(Customer)); // code = Common.Common.GenerateCodeFromId(systemIdentity, 3); //} category.Change(mesage); await _categoryService.ChangeToDb(category); //await _categoryRepository.Change(category); ICommandResult result = new CommandResult() { Message = "", ObjectId = category.Id, Status = CommandResult.StatusEnum.Sucess }; return(result); } catch (Exception e) { e.Data["Param"] = mesage; ICommandResult result = new CommandResult() { Message = e.Message, Status = CommandResult.StatusEnum.Fail }; return(result); } }
/// <summary> /// Default ctor /// </summary> public Register(int index, RCategory category, RType type) { this.index = index; this.category = category; this.type = type; }
/// <summary> /// Allocate a register for the given type. /// </summary> protected override RegisterSpec Allocate(TypeReference type, bool forceObject, RCategory category, object parameter) { var isWide = !forceObject && type.IsWide(); if (isWide) { var pair = body.AllocateWideRegister(category); switch (category) { case RCategory.Temp: return(new RegisterSpec(pair.Item1, pair.Item2, type)); case RCategory.Variable: case RCategory.VariablePreventOptimization: case RCategory.TempVariable: return(new VariableRegisterSpec(pair.Item1, pair.Item2, type, (AstVariable)parameter)); case RCategory.Argument: return(new ArgumentRegisterSpec(pair.Item1, pair.Item2, type, ParameterWrapper.Wrap(parameter))); default: throw new ArgumentException("Unknown category " + category); } } var isPrimitive = !forceObject && (type is PrimitiveType); var register = body.AllocateRegister(category, isPrimitive ? RType.Value : RType.Object); switch (category) { case RCategory.Temp: return(new RegisterSpec(register, null, type)); case RCategory.Variable: case RCategory.VariablePreventOptimization: case RCategory.TempVariable: return(new VariableRegisterSpec(register, null, type, (AstVariable)parameter)); case RCategory.Argument: return(new ArgumentRegisterSpec(register, null, type, ParameterWrapper.Wrap(parameter))); default: throw new ArgumentException("Unknown category " + category); } }
/// <summary> /// Allocate a register for the given type. /// </summary> protected abstract RegisterSpec Allocate(TypeReference type, bool forceObject, RCategory category, object parameter);
/// <summary> /// Allocate a register for the given type. /// </summary> protected override RegisterSpec Allocate(TypeReference type, bool forceObject, RCategory category, object parameter) { var isWide = !forceObject && type.IsWide(); if (isWide) { var pair = body.AllocateWideRegister(category); switch (category) { case RCategory.Temp: return new RegisterSpec(pair.Item1, pair.Item2, type); case RCategory.Variable: return new VariableRegisterSpec(pair.Item1, pair.Item2, type, (AstVariable)parameter); case RCategory.Argument: return new ArgumentRegisterSpec(pair.Item1, pair.Item2, type, ParameterWrapper.Wrap(parameter)); default: throw new ArgumentException("Unknown category " + category); } } var isPrimitive = !forceObject && (type is PrimitiveType); var register = body.AllocateRegister(category, isPrimitive ? RType.Value : RType.Object); switch (category) { case RCategory.Temp: return new RegisterSpec(register, null, type); case RCategory.Variable: return new VariableRegisterSpec(register, null, type, (AstVariable) parameter); case RCategory.Argument: return new ArgumentRegisterSpec(register, null, type, ParameterWrapper.Wrap(parameter)); default: throw new ArgumentException("Unknown category " + category); } }