public Result <List <Dictionary <string, CloudData> > > GetList(InterfaceSetting interfaceSetting, FilterDefinition <BsonDocument> filter, int pageIndex = 0) { //自定义查询列表 var interfaceFields = _interfaceFieldsRepository.GetInterfaceFieldMetaFieldUpperKeyDicByInterfaceFieldsId(interfaceSetting.InterfaceFieldsId); //处理查询列 var projection = Builders <BsonDocument> .Projection.Include("_id"); foreach (var item in interfaceFields.Values) { projection = projection.Include(item.MetaFieldShortCode); } int skipSize = (pageIndex - 1) > 0 ? ((pageIndex - 1) * interfaceSetting.PageSize) : 0; var datas = TranslatorBsonToCloudData(_chameleonDataDbContext.GetCollectionBson(interfaceSetting.MetaObjectCode).Find(filter).Skip(skipSize).Limit(interfaceSetting.PageSize).Sort(StructureSortDefinition(interfaceSetting.InterfaceSortId)).Project(projection).ToList() ?? new List <BsonDocument>(0), interfaceFields); var result = Result <List <Dictionary <string, CloudData> > > .Success($"查询成功,共{datas.Count}条记录", datas); result.MoreMessage = new List <string> { datas.Count.ToString() }; return(result); }
public override IReportSettingUserControl[] GetReportSettingControls() { IReportSettingUserControl[] settingUserControls = new IReportSettingUserControl[2]; settingUserControls[0] = new BaseInfoSetting(); settingUserControls[1] = new InterfaceSetting(); return(settingUserControls); }
public Result BatchUpdate(InterfaceSetting interfaceSetting, FilterDefinition <BsonDocument> filter, BsonDocument bsonDocument) { if (interfaceSetting == null) { return(Result.Error("接口设置参数不能为空")); } if (bsonDocument == null) { return(Result.Error("数据为空,更新终止")); } //获取全部接口校验 var verificationDic = _interfaceVerificationRepository.GetMetaFieldUpperKeyDicByInterfaceVerificationId(interfaceSetting.InterfaceVerificationId); //获取到字段列表以编码为Key大写的字典 var metaFields = _metaFieldRepository.GetMetaFieldShortCodeUpperDicByMetaObjectId(interfaceSetting.MetaObjectId); BsonDocument bsonElementsToModify = new BsonDocument(); foreach (var bsonElement in bsonDocument) { string upperKey = bsonElement.Name.ToUpperInvariant(); if (!metaFields.ContainsKey(upperKey)) { continue; } //校验值是否符合接口校验设置 if (verificationDic.ContainsKey(upperKey)) { var verification = verificationDic[upperKey]; if (!_interfaceVerificationService.IsMatch(verification, Convert.ToString(bsonElement.Value))) { return(Result.Error(!string.IsNullOrEmpty(verification.VerificationTips) ? verification.VerificationTips : $"字段[{bsonElement.Name}]传递的值[{bsonElement.Value}]格式不正确")); } } //检查字段的值是否符合字段类型 var checkResult = _metaFieldService.CheckAndGetFieldValueByFieldType(metaFields[upperKey], bsonElement.Value); if (checkResult.IsSuccess) { bsonElementsToModify.Add(new BsonElement(metaFields[upperKey].ShortCode, BsonValue.Create(checkResult.Data))); } else { return(Result.Error($"字段[{bsonElement.Name}]传递的值[{bsonElement.Value}]不符合字段定义的类型")); } } //设置更新并执行更新操作 var updateDefinitions = bsonElementsToModify.Select(item => Builders <BsonDocument> .Update.Set(item.Name, item.Value)).ToArray(); _chameleonDataDbContext.GetCollectionBson(interfaceSetting.MetaObjectCode).UpdateMany(filter, Builders <BsonDocument> .Update.Combine(updateDefinitions)); return(Result.Success($"修改成功")); }
public IActionResult AddLogic(InterfaceSetting entity) { var result = Result.Success() .ContinueEnsureArgumentNotNullOrEmpty(entity, nameof(entity)) .ContinueEnsureArgumentNotNullOrEmpty(entity.Name, nameof(entity.Name)) .ContinueEnsureArgumentNotNullOrEmpty(entity.Code, nameof(entity.Code)) .ContinueAssert(_ => entity.Code.IsAlnum(2, 50), "编码不合法,2-50位且只能包含字母和数字(字母开头)") .ContinueAssert(_ => entity.PageSize > 0, "分页页大小不能<=0") .Continue(_ => { entity.CloudApplicationtId = CurrentApplicationId; entity.CloudApplicationCode = CurrentApplicationCode; entity.MetaObjectId = CurrentMetaObjectId; entity.MetaObjectCode = CurrentMetaObjectCode; entity.CreateBy = CurrentUserId; entity.Code = string.Concat(CurrentMetaObjectCode, ".", entity.Code); entity.PageSize = entity.PageSize; //暂时写死每页300条 return(_InterfaceSettingService.Add(entity)); }); if (!result.IsSuccess) { return(View("Add", result.ToResponseModel(data: entity))); } return(Redirect($"/InterfaceSetting/List?metaObjectId={CurrentMetaObjectId}&metaObjectCode={CurrentMetaObjectCode}")); }
public IActionResult UpdateLogic(InterfaceSetting entity) { var result = Result.Success() .ContinueEnsureArgumentNotNullOrEmpty(entity, nameof(entity)) .ContinueEnsureArgumentNotNullOrEmpty(entity.Name, nameof(entity.Name)) .ContinueAssert(_ => entity.Id != Guid.Empty, "Id Can Not Be Null") .Continue(_ => { entity.ModifyBy = CurrentUserId; return(_InterfaceSettingService.UpdateWithOutCode(entity, item => { item.InterfaceType = entity.InterfaceType; item.InterfaceConditionId = entity.InterfaceConditionId; item.InterfaceVerificationId = entity.InterfaceVerificationId; item.InterfaceFieldsId = entity.InterfaceFieldsId; item.PageSize = entity.PageSize; })); }); if (!result.IsSuccess) { return(View("Update", result.ToResponseModel(entity))); } return(Redirect($"/InterfaceSetting/List?metaObjectId={CurrentMetaObjectId}&metaObjectCode={CurrentMetaObjectCode}")); }
public object GetDynamicScriptDataSourceResult(InterfaceSetting interfaceSetting, Dictionary <string, string> argumentsUpperKeyDic) { var script = _triggerScriptRepository.GetById(interfaceSetting.DataSousrceId); var result = _triggerScriptService.ExecuteTriggerScript <object>(script, new object[] { argumentsUpperKeyDic }); return(result.IsSuccess ? result.Data : throw new InvalidOperationException(result.Message)); }
public override IReportSettingUserControl[] GetReportSettingControls() { IReportSettingUserControl[] settingUserControls = new IReportSettingUserControl[5]; settingUserControls[0] = new BaseInfoSetting(); settingUserControls[1] = new ConditionSetting(); settingUserControls[2] = new TreeSetting(); settingUserControls[3] = new DetailReportSetting(); settingUserControls[4] = new InterfaceSetting(); return(settingUserControls); }
public Result <Dictionary <string, CloudData> > Get(InterfaceSetting interfaceSetting, FilterDefinition <BsonDocument> filter) { var listResult = GetList(interfaceSetting, filter, 0); if (listResult.IsSuccess) { return(Result <Dictionary <string, CloudData> > .Success("查询成功", listResult.Data.FirstOrDefault())); } return(Result <Dictionary <string, CloudData> > .Error(listResult.Message)); }
public Setting(string settingFile) { _settingFile = settingFile; Project = new ProjectSetting(); General = new GeneralSetting(); Interface = new InterfaceSetting(); Theme = new ThemeSetting(); Script = new ScriptSetting(); Log = new LogSetting(); ReadFromFile(); }
public object GetJsonDataSourceResult(InterfaceSetting interfaceSetting) { var entity = _triggerScriptRepository.GetById(interfaceSetting.DataSousrceId); try { return(JObject.Parse(entity.Script)); } catch { try { return(JArray.Parse(entity.Script)); } catch (Exception ex) { return(string.Empty); } } }
public Result <int> GetCount(InterfaceSetting interfaceSetting, FilterDefinition <BsonDocument> filter) { return(Result <int> .Success("查询成功", Convert.ToInt32(_chameleonDataDbContext.GetCollectionBson(interfaceSetting.MetaObjectCode).CountDocuments(filter)))); }
public Result Delete(InterfaceSetting interfaceSetting, FilterDefinition <BsonDocument> filter) { _chameleonDataDbContext.GetCollectionBson(interfaceSetting.MetaObjectCode).DeleteMany(filter); return(Result.Success($"删除成功")); }
public Result BatchAdd(InterfaceSetting interfaceSetting, IEnumerable <BsonDocument> bsonsList) { if (interfaceSetting == null) { return(Result.Error("接口设置参数不能为空")); } if (bsonsList == null || !bsonsList.Any()) { return(Result.Success($"没有任何数据需要插入")); } //获取全部接口校验 var verificationDic = _interfaceVerificationRepository.GetMetaFieldUpperKeyDicByInterfaceVerificationId(interfaceSetting.InterfaceVerificationId); //获取到字段列表以编码为Key大写的字典 var metaFields = _metaFieldRepository.GetMetaFieldShortCodeUpperDicByMetaObjectId(interfaceSetting.MetaObjectId); List <BsonDocument> insertBsonsList = new List <BsonDocument>(bsonsList.Count()); foreach (var bsonDocument in bsonsList) { if (bsonDocument == null) { return(Result.Error("数据为空,插入终止")); } BsonDocument bsonElementsToAdd = new BsonDocument(); foreach (var bsonElement in bsonDocument) { string upperKey = bsonElement.Name.ToUpperInvariant(); if (!metaFields.ContainsKey(upperKey)) { continue; } //校验值是否符合接口校验设置 if (verificationDic.ContainsKey(upperKey)) { var verification = verificationDic[upperKey]; if (!_interfaceVerificationService.IsMatch(verification, Convert.ToString(bsonElement.Value))) { return(Result.Error(!string.IsNullOrEmpty(verification.VerificationTips) ? verification.VerificationTips : $"字段[{bsonElement.Name}]传递的值[{bsonElement.Value}]格式不正确")); } } //检查字段的值是否符合字段类型 var checkResult = _metaFieldService.CheckAndGetFieldValueByFieldType(metaFields[upperKey], bsonElement.Value); if (checkResult.IsSuccess) { bsonElementsToAdd.Add(new BsonElement(metaFields[upperKey].ShortCode, BsonValue.Create(checkResult.Data))); } else { return(Result.Error($"字段[{bsonElement.Name}]传递的值[{bsonElement.Value}]不符合字段定义的类型")); } } //获取系统内置的bson元素 var systemBsonDocument = _metaFieldService.GetSystemFieldBsonDocument(); //设置系统字段及其默认值 foreach (var presetBsonElement in systemBsonDocument) { //如果传入的字段已经有了,那么这里就不预置了 if (!bsonElementsToAdd.Contains(presetBsonElement.Name)) { bsonElementsToAdd.Add(presetBsonElement); } } //补充字段 bsonElementsToAdd.SetElement(new BsonElement("MetaObject", interfaceSetting.MetaObjectCode)); if (bsonElementsToAdd.Any()) { insertBsonsList.Add(bsonElementsToAdd); } } if (insertBsonsList.Any()) { _chameleonDataDbContext.GetCollectionBson(interfaceSetting.MetaObjectCode).InsertMany(insertBsonsList); } return(Result.Success($"插入成功! 成功{insertBsonsList.Count}条,失败{bsonsList.Count() - insertBsonsList.Count}条.")); }
public OrderModel setOrderModel(DataModel data) { OrderModel book = new OrderModel(); book.productOid = data.productOid; book.packageOid = data.packageOid; book.memberUuid = data.memberUuid; book.contactFirstname = data.contactFirstname; // "昶宇"; book.contactLastname = data.contactLastname; // "林"; book.contactEmail = data.contactEmail; //"*****@*****.**"; book.telCountryCd = data.telCountryCd; // "886"; book.contactTel = data.contactTel; // "934233332"; book.contactCountryCd = data.contactCountryCd; // "TW"; book.lstGoDt = data.lstGoDt; // "20180906"; book.eventOid = data.eventOid; book.eventBackupData = data.eventBackupData == null ?"" : data.eventBackupData.Replace("-", ""); book.price1Qty = data.price1Qty; //; book.price2Qty = data.price2Qty; book.price3Qty = data.price3Qty; // 0; book.price4Qty = data.price4Qty; book.payMethod = data.payMethod; // "ONLINE_CITI"; book.deviceId = data.deviceId; // "6ed75d896bbef9575563bfe33ab21e07"; book.tokenKey = data.tokenKey; // "6f0748b65c09999b8818abfb3cf1846a";//"46da9fc1c7a765d20957c431d498c88f"; book.crtDevice = data.crtDevice; // "Macintosh"; book.crtBrowser = data.crtBrowser; // "Chrome"; book.crtBrowserVersion = data.crtBrowserVersion; //"68.0.3440.106"; //book.couponUuid = data.couponUuid; //book.priceCoupon = data.priceCoupon; book.adCampaign = data.adCampaign; book.sourceCode = data.sourceCode; //"WEB"; book.sourceParam1 = data.sourceParam1; // "4026"; //book.sourceParam2 = ""; //book.sourceParam3 = ""; book.guideLang = data.guideLang; // "zh-tw"; book.note = data.note; // "this is order note"; book.hasRank = data.hasRank; // "Y"; book.multipricePlatform = data.multipricePlatform; // "01"; book.currency = data.currency; //"TWD"; book.currPriceTotal = data.currPriceTotal.ToString(); // "500"; //book.card = new cardInfo() { cardNo = "" }; //不確定有沒有.. //book.asiaMileMemberNo = "";//不確定有沒有.. //book.asiaMileMemberFirstName = "";//不確定有沒有.. //book.asiaMileMemberLastName = "";//不確定有沒有.. book.orderCusList = data.travelerData; List <modules> ListM = new List <modules>(); // BookingRepostory_3 dd = new BookingRepostory_3(); ListM.Add(this.getFlightInfo2(data)); ListM.Add(this.getShuttleInfo2(data)); ListM.Add(this.getRendCar2(data)); ListM.Add(this.getPsgData2(data)); ListM.Add(this.getSendData2(data)); ListM.Add(this.getOtherData2(data)); ListM.Add(this.getContactData2(data)); book.modules = ListM; book.productUrlOid = data.productUrlOid; // 17379; book.productName = data.productName; // "浪漫水金九"; //string[] c = new string[1]; c[0] = "A01-001-00001"; book.productCity = data.productCity; // c; //string[] c2 = new string[1]; c2[0] = "A01-001"; book.productCountry = data.productCountry; // c2; book.productMainCat = data.productMainCat; // "M07"; book.productOrderHandler = data.productOrderHandler; // "KKDAY"; book.payPmchOid = data.payPmchOid; // "1"; book.couponFailureCode = data.couponFailureCode; // null; //string[] c3 = new string[1]; book.allowedCardNumberArray = data.allowedCardNumberArray; // c3; book.alsoUpdateMember = data.alsoUpdateMember; // true; book.riskStatus = data.riskStatus; // "03"; Pmch pmchObj = new Pmch(); pmchObj.pmchOid = "1"; pmchObj.pmchCode = "CITI_CREDITCARD"; pmchObj.pmchPayURL = "citi/payment/auth"; pmchObj.is3D = "0"; pmchObj.acctdocReceiveMethod = "ONLINE_CITI"; InterfaceSetting interSetting = new InterfaceSetting(); interSetting.isNeedCardInput = "true"; List <LogoList> loglList = new List <LogoList>(); LogoList logo = new LogoList(); logo.logoName = "JCB"; logo.logoUrl = "JCB_URL"; loglList.Add(logo); logo = new LogoList(); logo.logoName = "MASTER"; logo.logoUrl = "MASTER_URL"; loglList.Add(logo); logo = new LogoList(); logo.logoName = "VISA"; logo.logoUrl = "VISA_URL"; loglList.Add(logo); interSetting.logoList = loglList; List <string> acceptedCardTypeListStr = new List <string>(); acceptedCardTypeListStr.Add("MASTERCARD"); acceptedCardTypeListStr.Add("JCB"); acceptedCardTypeListStr.Add("VISA"); interSetting.acceptedCardTypeList = acceptedCardTypeListStr; interSetting.acceptedCurrency = "TWD"; List <string> otherInfoList = new List <string>(); otherInfoList.Add("01"); interSetting.otherInfoList = otherInfoList; pmchObj.interfaceSetting = interSetting; pmchObj.title = "信用卡付款"; pmchObj.bg_class = null; List <string> card_classList = new List <string>(); card_classList.Add("jcb_logo"); card_classList.Add("master_logo"); card_classList.Add("visa_logo"); pmchObj.card_class_list = card_classList; book.pmch = pmchObj; return(book); }