/// <summary> /// 获取视图模块 /// </summary> /// <param name="context">上下文</param> /// <param name="moduleId">The 模块 identifier.</param> /// <param name="Id">Id标识</param> /// <param name="copy">The copy.</param> public ViewModuleConfig GetViewModuleConfig(HttpContext context, Guid moduleId, long Id, int copy) { var view = new ViewModuleConfig { ModuleId = moduleId }; var shareModule = Resolve <ITaskModuleConfigService>().GetSingle(context, Id); if (shareModule != null) { view.ShareModule = shareModule; if (!string.IsNullOrEmpty(shareModule.ConfigValue)) { var shareBaseConfig = JsonConvert.DeserializeObject <ShareBaseConfigList>(shareModule.ConfigValue); if (shareBaseConfig != null && shareBaseConfig.RuleItems.Count > 0) { view.ConfigurationValue = shareModule.ConfigValue; // 动态将ShareModel的值复制到视图中 view = AutoMapping.SetValue(shareModule, view); view = AutoMapping.SetValue(shareBaseConfig, view); view = AutoMapping.SetValue(shareBaseConfig.OrderUser, view); view = AutoMapping.SetValue(shareBaseConfig.ShareUser, view); view = AutoMapping.SetValue(shareBaseConfig.ProductRule, view); view = AutoMapping.SetValue(shareBaseConfig.BaseRule, view); } } view.Id = shareModule.Id; // 如果是复制模式 if (copy == 1) { view.Id = 0; view.ShareModule.Id = 0; view.IsLock = false; view.IsCopy = true; } } else { view.ShareModule = new ShareModule(); IList <AssetsRule> ruleItems = new List <AssetsRule>(); var rule = new AssetsRule { MoneyTypeId = Currency.Cny.GetCustomAttr <FieldAttribute>().GuidId.ToGuid(), Ratio = 0.8m }; ruleItems.Add(rule); var moneyType = Resolve <IAutoConfigService>().GetList <MoneyTypeConfig>().FirstOrDefault(r => r.Id != Currency.Cny.GetCustomAttr <FieldAttribute>().GuidId.ToGuid() && r.Status == Status.Normal); rule = new AssetsRule { MoneyTypeId = moneyType.Id, Ratio = 0.2m }; ruleItems.Add(rule); view.RuleItems = ruleItems; } return(view); }
public Tuple <ServiceResult, RewardRuleOutput> GetEditView(Guid moduleId, ObjectId id) { #region 安全验证 var taskModuleAttribute = Resolve <ITaskQueueService>().GetTaskModuleAttribute(moduleId); if (taskModuleAttribute == null) { return(new Tuple <ServiceResult, RewardRuleOutput>(ServiceResult.FailedWithMessage("类型不存在,请确定Id是否输入正确"), null)); } #endregion 安全验证 var view = new RewardRuleOutput { AutoForm = AutoFormMapping.Convert(taskModuleAttribute.ConfigurationType.FullName), Base = new RewardEditOutputBase { Name = taskModuleAttribute.Name, Title = taskModuleAttribute.Name, Intro = taskModuleAttribute.Intro, Summary = $"{taskModuleAttribute.Name}的简要说明" }, ModuleId = moduleId }; IList <AssetsRule> ruleItems = new List <AssetsRule>(); var rule = new AssetsRule { MoneyTypeId = Currency.Cny.GetCustomAttr <FieldAttribute>().GuidId.ToGuid(), Ratio = 0.8m }; ruleItems.Add(rule); var moneyType = Resolve <IAutoConfigService>().GetList <MoneyTypeConfig>().FirstOrDefault(r => r.Id != Currency.Cny.GetCustomAttr <FieldAttribute>().GuidId.ToGuid() && r.Status == Status.Normal); rule = new AssetsRule { MoneyTypeId = moneyType.Id, Ratio = 0.2m }; ruleItems.Add(rule); view.RuleItems = ruleItems; return(new Tuple <ServiceResult, RewardRuleOutput>(ServiceResult.Success, view)); }