/// <summary> /// 安装单列表查询 /// </summary> /// <param name="_request"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > GetInstallationorderList(InstallationorderRequest _request) { try { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); if (userInfo != null) { _request.mcs_dealerid = userInfo.mcs_dealerid; } var fetchString = _InstallationRepository.GetInstallationorderList(_request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_installationorder", FetchXml = fetchXdoc, ProxyUserId = userInfo != null ? userInfo.systemuserid : null }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = _request.PageIndex; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
public async Task <ValidateResult <string> > Voice(VoiceRequest request) { var validateResult = new ValidateResult <string>(); if (!string.IsNullOrEmpty(request.phone) && !string.IsNullOrEmpty(request.content)) { var fetchXdoc = _Repository.GetAccountFetchXml(request.phone); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "account", FetchXml = fetchXdoc.Result }; var fetchResponse = await _crmService.Execute(fetchRequest); var detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var entity = detailResult.Value.Results[0]; if (entity != null) { //插入logcall数据 var logcall = new CrmExecuteEntity("mcs_logcall", Guid.NewGuid()); logcall.Attributes.Add("mcs_fullname", "爱车APP语音转换"); logcall.Attributes.Add("mcs_mobilephone", request.phone); logcall.Attributes.Add("mcs_content", request.content); logcall.Attributes.Add("mcs_results", request.content); logcall.Attributes.Add("mcs_visittime", DateTime.Now.ToUniversalTime()); logcall.Attributes.Add("mcs_accountid", new CrmEntityReference(entity.EntityName, entity.Id)); await _crmService.Create(logcall, null); } } validateResult.Result = true; validateResult.Description = "操作成功"; return(validateResult); }
/// <summary> /// 查询车型 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > QueryVehicletype(VehicleTypeRequest request) { try { var fetchString = _baseDataRepository.QueryVehicletype(request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_vehicletype", FetchXml = fetchXdoc }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = request.page; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
/// <summary> /// 唯一线索列表查询 /// </summary> /// <param name="onlyLeadRequest"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > QueryList(OnlyLeadRequest onlyLeadRequest) { try { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); var fetchString = _onlyLeadRepository.QueryList(onlyLeadRequest); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_onlylead", FetchXml = fetchXdoc, ProxyUserId = userInfo?.systemuserid }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = onlyLeadRequest.PageIndex; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
/// <summary> /// 用户车辆列表查询 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > QueryList(UserCarInfoListRequest request) { try { var fetchString = _usercarinfoRepository.QueryList(request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_usercarinfo", FetchXml = fetchXdoc }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = request.PageIndex; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
/// <summary> /// 我的试乘试驾查询 /// </summary> /// <param name="GetDriveRecordList"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > GetDriveRecordList(TestDriveRequest Request) { try { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); var ProxyUserId = userInfo != null ? userInfo.systemuserid : null; var fetchString = _Repository.GetDriveRecordList(Request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_driverecord", FetchXml = fetchXdoc, ProxyUserId = ProxyUserId }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = Request.PageIndex; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
/// <summary> /// 查询试乘试驾附件 /// </summary> /// <param name="driverecordid"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > QueryAttachment(string driverecordid) { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); #region 查询结果集 var fetchString = _driveRecordRepository.QueryAttachment(driverecordid); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_attachment", FetchXml = fetchXdoc, ProxyUserId = userInfo?.systemuserid }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = 1; queryResult.TotalCount = 0; return(queryResult); #endregion }
public async Task <QueryResult <CrmEntity> > QueryList(int pageindex, string search, string dealeridGuid) { #region 获取记录结果集 var filter = await GetQueryListFilter(search, dealeridGuid); var fetchXdoc = await GetQueryListFetchXml(pageindex, filter); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_vehowner", FetchXml = fetchXdoc }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var resultsList = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; #endregion ; #region 组装返回结果集 var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = resultsList.Value.Results; queryResult.CurrentPage = pageindex; queryResult.TotalCount = resultsList.Value.Results.Count; return(queryResult); #endregion }
/// <summary> /// 获取预约跟进记录 /// </summary> /// <param name="logRequest"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > GetLog(AppointmentInfoLogRequest logRequest) { try { var fetchString = _appointmentInfoRepository.Querylog(logRequest); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_appointmentinfolog", FetchXml = fetchXdoc }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = logRequest.page; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
/// <summary> /// 试乘试驾路线 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > QueryDriveRouteList(DriveRouteRequest request) { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); if (userInfo != null && !string.IsNullOrWhiteSpace(userInfo.mcs_dealerid)) { // request.DealerId = Guid.Parse(userInfo.mcs_dealerid); } #region 查询结果集 var fetchString = _driveRecordRepository.QueryDriveRouteList(request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_driveroute", FetchXml = fetchXdoc, ProxyUserId = userInfo?.systemuserid }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = request.PageIndex; queryResult.TotalCount = 0; return(queryResult); #endregion }
/// <summary> /// 试乘试驾明细查询 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <DriverecordDetailResponse> GetDetail(Guid id) { try { DriverecordDetailResponse model = new DriverecordDetailResponse(); var fetchXdoc = _driveRecordRepository.GetDriveRecordDetaill(id); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_driverecord", FetchXml = fetchXdoc.Result }; var fetchResponse = await _crmService.Execute(fetchRequest); var detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; model.Detail = detailResult.Value.Results[0]; fetchXdoc = _driveRecordRepository.GetAttachmentDetaillFetchXml(id); fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_attachment", FetchXml = fetchXdoc.Result }; fetchResponse = await _crmService.Execute(fetchRequest); detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; model.AttachmentDetail = detailResult.Value.Results; return(model); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取预约时段配置记录 /// </summary> /// <param name="appointmentConfiggRequest"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > GetConfig(AppointmentConfigRequest appointmentConfiggRequest) { try { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); if (userInfo != null && !string.IsNullOrWhiteSpace(userInfo.mcs_dealerid)) { appointmentConfiggRequest.mcs_dealerid = Guid.Parse(userInfo.mcs_dealerid); } var fetchString = _appointmentInfoRepository.GetConfig(appointmentConfiggRequest); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_appointmentconfig", FetchXml = fetchXdoc }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = appointmentConfiggRequest.page; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
/// <summary> /// 列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > getlist(ActivityRequest request) { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); try { var fetchXdoc = _Repository.GetListFetchXml(request); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_activity", FetchXml = fetchXdoc.Result, ProxyUserId = userInfo?.systemuserid }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = request.PageSize; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
public async Task <CrmEntityCollection> ExecuteAsync(ICrmService crmService, string entityName, XDocument document, Guid?userId = null) { try { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); var dicHead = new Dictionary <string, IEnumerable <string> >(); dicHead.Add("Prefer", new List <string>() { "odata.include-annotations=\"*\"" }); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = entityName, FetchXml = document, ProxyUserId = userInfo?.systemuserid }; fetchRequest.Headers.Add("Prefer", dicHead["Prefer"]); var crmResponseMessage = await crmService.Execute(fetchRequest); var resultsList = crmResponseMessage as CrmRetrieveMultipleFetchResponseMessage; return(resultsList.Value); } catch (Exception ex) { return(new CrmEntityCollection()); } }
/// <summary> /// 行政区域 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > QuerySysarea(SysareaRequest request) { try { if (string.IsNullOrEmpty(request.pid)) { request.pid = await GetCountryIdByCode("CN");//默认获取中国编码 } var fetchString = _baseDataRepository.QuerySysarea(request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_sysarea", FetchXml = fetchXdoc }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = request.page; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
public async Task <int> GetUserNoticesNoReadCount(string userId) { int noreadTotalCount = 0; #region 查询总记录数 var fetchXdoc = await GetGetQueryListCountFetchXml(userId); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_user_msg", FetchXml = fetchXdoc }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var result = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; if (result != null) { noreadTotalCount = (int)result.Value.Results[0].Attributes["count"]; } #endregion return(noreadTotalCount); }
/// <summary> /// 列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > getlist(VehnetworkListRequest request) { try { var fetchXdoc = _Repository.GetListFetchXml(request); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_vehnetwork", FetchXml = fetchXdoc.Result }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = request.PageSize; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
public async Task <QueryResult <CrmEntity> > QueryListByPage(int orderstauts = 0, string searchkey = "", int pageSize = 10, int pageNum = 1, string sort = "", string token = "") { try { string filterstr = ""; if (orderstauts > 0) { filterstr += $"<condition attribute='mcs_orderstatus' operator='eq' value='{orderstauts}' />"; } if (!string.IsNullOrEmpty(searchkey)) { filterstr += $"<filter type='or' >"; filterstr += $"<condition attribute='mcs_name' operator='like' value='%{searchkey}%' />"; filterstr += $"<condition attribute='mcs_title' operator='like' value='%{searchkey}%' />"; filterstr += $"</filter>"; } var fetchxml = string.Format($@"<fetch version=""1.0"" output-format=""xml-platform"" mapping=""logical"" distinct=""false"" count=""{pageSize}"" page=""{pageNum}""> <entity name = ""mcs_supportorder"" > <attribute name = ""mcs_supportorderid"" /> <attribute name = ""mcs_name"" /> <attribute name = ""mcs_repairdate"" /> <attribute name = ""mcs_orderstatus"" /> <attribute name = ""mcs_title"" /> <filter type = ""and"" > <condition attribute='statecode' operator='eq' value='0' /> {filterstr} </filter> </entity> </fetch>"); XDocument xmlDoc = XDocument.Parse(fetchxml); var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); var request = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = EntityName, FetchXml = xmlDoc, ProxyUserId = userInfo != null ? userInfo.systemuserid : null }; var crmResponse = await _crmService.Execute(request); CrmRetrieveMultipleFetchResponseMessage response = crmResponse as CrmRetrieveMultipleFetchResponseMessage; QueryResult <CrmEntity> queryResult = new QueryResult <CrmEntity>(); if (response.Value != null) { queryResult.Results = response.Value.Results; queryResult.TotalCount = response.Value.Count; queryResult.CurrentPage = pageNum; } return(queryResult); } catch (Exception ex) { throw ex; } }
public async Task <QueryResult <JObject> > QueryOrderList(int pageindex = 1, string search = "") { #region 组装filter var filter = string.Empty; if (!string.IsNullOrEmpty(search)) { filter += $"<filter type='or'>"; filter += $"<condition attribute='mcs_name' operator='like' value='%{search}%' />"; filter += $"<condition attribute='mcs_purchasername' operator='like' value='%{search}%' />"; filter += $"<condition attribute='mcs_purchaserphone' operator='like' value='%{search}%' />"; filter += $"</filter>"; } //if (!string.IsNullOrEmpty(filter)) //{ filter = @"<filter type='and'> <condition attribute='mcs_orderclass' operator='eq' value='100' />" + filter; filter = filter + "</filter>"; //} #endregion #region 组装FetchXml var xDoc = await Task <XDocument> .Run(() => { var fetchXml = string.Empty; fetchXml = $@" <fetch version='1.0' output-format='xml-platform' mapping='logical' count='{pageCount}' page='{pageindex}' > <entity name='mcs_tc_order'> <order attribute='mcs_ordertime' descending='true' /> {filter} </entity> </fetch>"; return(XDocument.Parse(fetchXml)); });; #endregion #region 获取记录结果集 var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_tc_order", FetchXml = xDoc }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var resultsList = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; #endregion ; #region 组装数据返回 var result = new QueryResult <JObject>(); foreach (var entity in resultsList.Value.Results) { result.Results.Add(entity.Attributes); } return(result); #endregion }
/// <summary> /// 分页查询用户列表数据 /// </summary> /// <param name="searchkey"></param> /// <param name="pageSize"></param> /// <param name="pageNum"></param> /// <param name="sort"></param> /// <returns></returns> public async Task <QueryResult <CrmEntity> > QuerySystemUserByPage(string searchkey = "", string proxyUserId = "", string dealerId = "", int pageSize = 10, int pageNum = 1, string sort = "") { try { string filterstr = ""; //if (!string.IsNullOrEmpty(dealerId)) //{ // filterstr += $"<condition attribute='mcs_dealer' operator='eq' value='{dealerId}' />"; //} if (!string.IsNullOrEmpty(searchkey)) { filterstr += $"<filter type='or' >"; filterstr += $"<condition attribute='fullname' operator='like' value='%{searchkey}%' />"; filterstr += $"</filter>"; } var fetchxml = string.Format($@"<fetch version=""1.0"" output-format=""xml-platform"" mapping=""logical"" distinct=""false"" count=""{pageSize}"" page=""{pageNum}""> <entity name = ""systemuser"" > <attribute name = ""systemuserid"" /> <attribute name = ""firstname"" /> <attribute name = ""lastname"" /> <attribute name = ""mcs_dealer"" /> <attribute name = ""fullname"" /> <filter type = ""and"" > <condition attribute='isdisabled' operator='eq' value='0' /> {filterstr} </filter> </entity> </fetch>"); XDocument xmlDoc = XDocument.Parse(fetchxml); var request = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "systemuser", FetchXml = xmlDoc, ProxyUserId = string.IsNullOrEmpty(proxyUserId)?Guid.Empty:Guid.Parse(proxyUserId) }; var crmResponse = await _crmService.Execute(request); CrmRetrieveMultipleFetchResponseMessage response = crmResponse as CrmRetrieveMultipleFetchResponseMessage; QueryResult <CrmEntity> queryResult = new QueryResult <CrmEntity>(); if (response.Value != null) { queryResult.Results = response.Value.Results; queryResult.TotalCount = response.Value.Count; queryResult.CurrentPage = pageNum; } return(queryResult); } catch (Exception ex) { throw ex; } }
/// <summary> /// 明细获取 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <VehnetworkDetailRepository> getdetail(Guid id) { try { VehnetworkDetailRepository repository = new VehnetworkDetailRepository(); #region 开票明细 var fetchXdoc = _Repository.GetDetaillFetchXml(id); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_vehnetwork", FetchXml = fetchXdoc.Result }; var fetchResponse = await _crmService.Execute(fetchRequest); var detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; repository.Detail = detailResult.Value.Results[0]; #endregion #region 身份附件 fetchXdoc = _Repository.GetAttachmentDetaillFetchXml(id, partnertype, "3"); fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_attachment", FetchXml = fetchXdoc.Result }; fetchResponse = await _crmService.Execute(fetchRequest); detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; repository.CardNoDetail = detailResult.Value.Results; #endregion #region 发票附件 fetchXdoc = _Repository.GetAttachmentDetaillFetchXml(id, partnertype, "4"); fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_attachment", FetchXml = fetchXdoc.Result }; fetchResponse = await _crmService.Execute(fetchRequest); detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; repository.InvoiceDetail = detailResult.Value.Results; #endregion return(repository); } catch (Exception ex) { throw ex; } }
public async Task <QueryResult <CrmEntity> > GetUserNotices(UserNoticeRequest request) { try { var fetchString = _repository.GetUserNotices(request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_user_msg", FetchXml = fetchXdoc, }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = request.PageIndex; queryResult.TotalCount = 0; //更新消息为已读 //if (queryResult.Results!=null && queryResult.Results.Count>0) //{ // foreach (var item in queryResult.Results) // { // if (int.Parse(item.Attributes["mcs_readstatus"].ToString()) ==0) // { // await UpdateUserNoticeReadStatus(new UserNoticeRequest() { // Id= item.Id.ToString(), // mcs_readstatus=1 // });; // } // } //} return(queryResult); } catch (Exception ex) { throw ex; } }
public async Task <TestDriveFeedbackDetailModel> GetDriveFeedbackDetail(string testdriveid) { try { TestDriveFeedbackDetailModel model = new TestDriveFeedbackDetailModel(); #region 试驾反馈报告基本信息 //var dicHead = new Dictionary<string, IEnumerable<string>>(); //dicHead.Add("Prefer", new List<string>() { "odata.include-annotations=\"*\"" }); //var VehorderData = await _crmService.Retrieve("mcs_testdrivefeedbackmaster", Guid.Parse(testdrivefeedbackmasterid), string.Empty, null, dicHead); var crmRequestHelper = new CrmRequestHelper(); var fetchString_One = await _Repository.GetDriveFeedbackByRecordId(testdriveid); var VehorderData = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_testdrivefeedbackmaster", fetchString_One); if (VehorderData != null && VehorderData.Results != null && VehorderData.Results.Count > 0) { model.TestDriveFeedbackInfo = VehorderData.Results[0]; #region 用户反馈问题项 var fetchString_Two = _Repository.GetDriveFeedbackItemList(model.TestDriveFeedbackInfo.Attributes["mcs_testdrivefeedbackmasterid"].ToString()); var fetchXdoc_One = XDocument.Parse(fetchString_Two); var fetchRequest_One = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_testdrivefeedback", FetchXml = fetchXdoc_One, }; var fetchResponse = await _crmService.Execute(fetchRequest_One); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; #endregion model.DrivefeedbackList = fetchResponseResult.Value.Results; } #endregion return(model); } catch (Exception ex) { throw ex; } }
public async Task <OrderQueryInfoResponse> QueryOrderInfo(string guid) { var orderQueryInfoResponse = new OrderQueryInfoResponse(); var orderid = Guid.Parse(guid); var orderEntity = await _crmService.Retrieve("mcs_tc_order", orderid, string.Empty, null, dicHead); #region 跟进记录 var xdoc = await Task <XDocument> .Run(() => { var fetchXml = string.Empty; fetchXml = $@" <fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' > <entity name='mcs_tc_productorderitem'> <filter type='and'> <condition attribute='mcs_order' operator='eq' value='{orderid}' /> </filter> </entity> </fetch>"; return(XDocument.Parse(fetchXml)); }); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_tc_productorderitem", FetchXml = xdoc }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var productorderitemList = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; #endregion orderQueryInfoResponse.OrderInfo = orderEntity.Attributes; foreach (var orderitem in productorderitemList.Value.Results) { orderQueryInfoResponse.OrderItemArray.Add(orderitem.Attributes); } return(orderQueryInfoResponse); }
public async Task <CrmEntity> getaccountdetail(Guid id) { var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo); try { var fetchXdoc = _Repository.GetAccountFetchXml(id); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "account", FetchXml = fetchXdoc.Result, ProxyUserId = userInfo?.systemuserid }; var fetchResponse = await _crmService.Execute(fetchRequest); var detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; return(detailResult.Value.Results[0]); } catch (Exception ex) { throw ex; } }
/// <summary> /// 查询个人用户信息 /// </summary> /// <param name="systemuserid"></param> /// <returns></returns> public async Task <CrmEntity> QuerySystemUser(string systemuserid) { try { var fetchString = _baseDataRepository.QuerySystemUser(systemuserid); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "systemuser", FetchXml = fetchXdoc, ProxyUserId = Guid.Parse(systemuserid) }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; return(detailResult.Value.Results[0]); } catch (Exception ex) { throw ex; } }
public async Task <QueryResult <CrmEntity> > GetDriveFeedbackList(TestDriveFeedbackRequest Request) { try { Guid?UserId; if (string.IsNullOrEmpty(Request.UserId)) { UserId = null; } else { UserId = Guid.Parse(Request.UserId); } var fetchString = _Repository.GetDriveFeedbackList(Request); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_testdrivefeedbackmaster", FetchXml = fetchXdoc, ProxyUserId = null }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; queryResult.CurrentPage = Request.PageIndex; queryResult.TotalCount = 0; return(queryResult); } catch (Exception ex) { throw ex; } }
public async void CreateLead(TestDriveViewModel request, Guid?userid) { try { var createEntity = new CrmExecuteEntity("lead", Guid.NewGuid()); createEntity.Attributes.Add("lastname", request.mcs_fullname); createEntity.Attributes.Add("mobilephone", request.mcs_mobilephone); if (!string.IsNullOrEmpty(request.mcs_dealerid)) { createEntity.Attributes.Add("mcs_dealerid", new CrmEntityReference("mcs_dealer", Guid.Parse(request.mcs_dealerid))); } #region 用户行为赋值 var fetchString = _Repository.GetDriveBehavior("test_drive_appointment"); var fetchXdoc = XDocument.Parse(fetchString); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_behavior", FetchXml = fetchXdoc }; var fetchResponse = await _crmService.Execute(fetchRequest); var fetchResponseResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; var queryResult = new QueryResult <CrmEntity>(); queryResult.Results = fetchResponseResult.Value.Results; var mcs_behaviorid = queryResult.Results[0].Id; createEntity.Attributes.Add("mcs_behaviorid", new CrmEntityReference("mcs_behavior", mcs_behaviorid)); #endregion var entityId = await _crmService.Create(createEntity, userid); } catch (Exception ex) { } }
/// <summary> /// 问题反馈 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <TestdrivefeedbackResponse> GetTestdrivefeedback(Guid id) { try { TestdrivefeedbackResponse model = new TestdrivefeedbackResponse(); var fetchXdoc = _driveRecordRepository.GetTestdrivefeedback(id); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_testdrivefeedbackmaster", FetchXml = fetchXdoc.Result }; var fetchResponse = await _crmService.Execute(fetchRequest); var detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; if (detailResult.Value.Results.Count > 0) { model.Master = detailResult.Value.Results[0]; fetchXdoc = _driveRecordRepository.GetTestdrivefeedbackDetail(detailResult.Value.Results[0].Id); fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_testdrivefeedback", FetchXml = fetchXdoc.Result }; fetchResponse = await _crmService.Execute(fetchRequest); detailResult = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; model.Details = detailResult.Value.Results; } return(model); } catch (Exception ex) { throw ex; } }
public async Task <JObject> QueryCepconfig(string key) { var xdoc = await Task <XDocument> .Run(() => { var fetchXml = string.Empty; fetchXml = $@" <fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' > <entity name='mcs_cepconfig'> <filter type='and'> <condition attribute='mcs_name' operator='eq' value='{key}' /> </filter> </entity> </fetch>"; return(XDocument.Parse(fetchXml)); }); var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage() { EntityName = "mcs_cepconfig", FetchXml = xdoc }; fetchRequest.Headers.Add(dicHeadKey, dicHead[dicHeadKey]); var fetchResponse = await _crmService.Execute(fetchRequest); var response = fetchResponse as CrmRetrieveMultipleFetchResponseMessage; if (response.Value.Results.Count > 0) { return(response.Value.Results[0].Attributes); } else { return(null); } }