public void ImportFromExcel(string excelFileName, string dataSheet, InsuranceType insType, bool isCashFlow) { var govs = _db.Entities .Where(e => e.Identity.Contains(string.Format("{0}(guid'", _db.Governors.RequestUri.PathAndQuery))) .Select(ed => ProxyActivator.CreateProxy <Governor, BLL.Governor>(ed.Entity as Governor)).ToList(); XlsObject <BLL.AssetValue> parser; if (isCashFlow) { parser = new AssetsCashXlsObject(govs, insType, excelFileName, dataSheet); } else { parser = new AssetsValXlsObject(govs, insType, excelFileName, dataSheet); } var list = parser.SelectAll().Select(val => Newtonsoft.Json.JsonConvert.SerializeObject(val)).ToList(); UriBuilder urib = new UriBuilder(_db.BaseUri); urib.Path = string.Format("{0}/CreateBatch", _db.Assets.RequestUri.PathAndQuery); var r = _db.Execute <bool>(urib.Uri, "POST", true , new System.Data.Services.Client.BodyOperationParameter("Values", list) ).FirstOrDefault(); if (!r) { throw new InvalidOperationException("ImportFromExcel"); } }
public IEnumerable <BLL.AssetValue> GetList(FilterParameterCollection filters, int pageIndex, int pageSize, SortParameterCollection orderBy) { lock (_db) { orderBy.DefaultOrder = defaultSorting; orderBy.PropertyNameResolver = propResolver; if (filters != null) { filters.PropertyNameResolver = propResolver; } int skip = pageIndex * pageSize; var list = _db.Assets.AddFilters(filters).AddOrders(orderBy).Skip(skip).Take(pageSize); var govCtx = _db.Governors; foreach (var m in list) { //provide action like '$expand' for Governors var gov = govCtx.GetById(m.GovernorId); if (gov == null) { gov = govCtx.ToList().FirstOrDefault(g => g.Id == m.GovernorId); } m.Governor = gov; yield return(ProxyActivator.CreateProxy <AssetValue, BLL.AssetValue>(m)); } } }
public IEnumerable <BLL.Governor> GetList(FilterParameterCollection filters, int pageIndex, int pageSize, SortParameterCollection orderBy) { lock (_db) { orderBy.DefaultOrder = defaultSorting; int skip = pageIndex * pageSize; var list = _db.Governors.AddFilters(filters).AddOrders(orderBy).Skip(skip).Take(pageSize); foreach (var m in list) { yield return(ProxyActivator.CreateProxy <Governor, BLL.Governor>(m)); } } }
public IActionResult Post() { var request = Request.HasFormContentType ? new GatewayCommonRequest(Request.Form) : new GatewayCommonRequest(Request.Body); String service = $"{_typeFullName}.Post()"; _logger.Trace(TraceType.API.ToString(), CallResultStatus.OK.ToString(), service, ":", LogPhase.ACTION, "CPI.Gateway入站请求", request); if (!request.IsValid) { _logger.Trace(TraceType.API.ToString(), CallResultStatus.ERROR.ToString(), service, $"{nameof(request)}.IsValid", LogPhase.ACTION, $"请求参数验证失败:{request.ErrorMessage}", request); return(this.Failure(request.AppId, ErrorCode.INVALID_ARGUMENT, request.ErrorMessage)); } if (DateTime.TryParse(request.Timestamp, out DateTime requestTime)) { var now = DateTime.Now; if (requestTime < now.AddMinutes(-10) || requestTime > now.AddMinutes(10)) { return(this.Failure(request.AppId, ErrorCode.INVALID_ARGUMENT, "发送请求的时间不正确")); } } if (!VerifySign(request)) { _logger.Trace(TraceType.API.ToString(), CallResultStatus.ERROR.ToString(), service, "VerifySign(...)", LogPhase.ACTION, "请求参数验签失败"); return(this.Failure(request.AppId, ErrorCode.SIGN_VERIFY_FAILED)); } var invoker = ProxyActivator.GetInvocation(request); if (invoker == null) { _logger.Trace(TraceType.API.ToString(), CallResultStatus.ERROR.ToString(), service, "ProxyActivator.GetInvocation(...)", LogPhase.ACTION, $"不支持的请求方法:{request.Method}"); return(this.Failure(request.AppId, ErrorCode.METHOD_NOT_SUPPORT)); } String invokerName = invoker.GetType().FullName; _logger.Trace(TraceType.API.ToString(), CallResultStatus.OK.ToString(), service, $"{invokerName}.Invoke()", LogPhase.BEGIN, "开始服务调用"); var invokeResult = invoker.Invoke(); _logger.Trace(TraceType.API.ToString(), CallResultStatus.OK.ToString(), service, $"{invokerName}.Invoke()", LogPhase.END, "结束服务调用"); return(!invokeResult.Success ? this.Failure(request.AppId, invokeResult.ErrorCode, invokeResult.ErrorMessage) : this.Success(request.AppId, invokeResult.Value)); }
public IEnumerable <BLL.WorkCalendar> GetList(FilterParameterCollection filters, int pageIndex, int pageSize, SortParameterCollection orderBy) { lock (_db) { orderBy.DefaultOrder = defaultSorting; int skip = pageIndex * pageSize; if (filters != null) { filters.OperatorActionResolver = opResolver; } var list = _db.Holidays.AddFilters(filters).AddOrders(orderBy).Skip(skip).Take(pageSize); foreach (var m in list) { yield return(ProxyActivator.CreateProxy <WorkCalendar, BLL.WorkCalendar>(m)); } } }
public void Update(BLL.AssetValue o) { var proxy = o as IDtoProxy; if (proxy != null) { Guid govId = o.Governor.Id; var dto = proxy.Dto as AssetValue; if (govId != dto.GovernorId) { dto.GovernorId = govId; dto.Governor = _db.Governors.GetById(govId); o.Governor = ProxyActivator.CreateProxy <Governor, BLL.Governor>(dto.Governor); //_db.SetLink(dto, "Governor", gov); } _db.UpdateObject(dto); _db.SaveChanges(System.Data.Services.Client.SaveChangesOptions.ReplaceOnUpdate); } o.GovernorId = o.Governor.Id; }
public void Factory_ShouldThrowOnInvalidParam([ValueSource(nameof(BadParamz))] ITuple paramz) => Assert.Throws <MissingMemberException>(() => ProxyActivator.Create(typeof(List <string>)).Invoke(paramz));
public void Factory_ShouldCreateANewInstance([ValueSource(nameof(Paramz))] ITuple paramz) { List <string> instance = (List <string>)ProxyActivator.Create(typeof(List <string>)).Invoke(paramz); Assert.IsNotNull(instance); }
public void Create_ShouldBuildAFactory() => Assert.DoesNotThrow(() => ProxyActivator.Create(typeof(List <string>)));