Beispiel #1
0
        private async Task <string> GetCountryIdByCode(string code)
        {
            string countryid = "";

            try
            {
                var fetchXml         = $@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
  <entity name='mcs_sysarea'>
    <attribute name='mcs_sysareaid' />
    <attribute name='mcs_name' />
    <attribute name='createdon' />
    <order attribute='mcs_name' descending='false' />
    <filter type='and'>
      <condition attribute='statecode' operator='eq' value='0' />
      <condition attribute='mcs_code' operator='eq' value='{code}' />
    </filter>
  </entity>
</fetch>";
                var fetchXdoc        = XDocument.Parse(fetchXml);
                var crmRequestHelper = new CrmRequestHelper();
                var entities         = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_sysarea", fetchXdoc);

                if (entities != null && entities.Results[0] != null)
                {
                    var entity = entities.Results[0];
                    countryid = entity.Id.ToString();
                }
            }
            catch (Exception ex)
            {
                countryid = "";
            }
            return(countryid);
        }
Beispiel #2
0
        private async Task <CrmEntityCollection> GetEntities(ContentListRequest contentListRequest)
        {
            var       crmRequestHelper = new CrmRequestHelper();
            XDocument fetchXdoc        = null;
            string    entityName       = string.Empty;

            switch (contentListRequest.Type)
            {
            case ContentType.Activity:
                fetchXdoc = await _contentmanagementRepository.GetActivityListFetchXml(contentListRequest);

                entityName = "mcs_activitycontents";
                break;

            case ContentType.Front:
                fetchXdoc = await _contentmanagementRepository.GetFrontListFetchXml(contentListRequest);

                entityName = "mcs_frontcontent";
                break;

            case ContentType.News:
                fetchXdoc = await _contentmanagementRepository.GetNewsListFetchXml(contentListRequest);

                entityName = "mcs_newscontents";
                break;
            }
            return(await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc));
        }
Beispiel #3
0
        private async Task <CrmEntityReference> GetBehaviorEntityByCode(string code)
        {
            CrmEntityReference referenceEntity = null;

            try
            {
                var fetchXml         = $@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
                  <entity name='mcs_behavior'>
                    <attribute name='mcs_behaviorid' />
                    <attribute name='mcs_name' />
                    <attribute name='createdon' />
                    <order attribute='mcs_name' descending='false' />
                    <filter type='and'>
                      <condition attribute='statecode' operator='eq' value='0' />
                      <condition attribute='mcs_code' operator='eq' value='{code}' />
                    </filter>
                  </entity>
                </fetch>";
                var fetchXdoc        = XDocument.Parse(fetchXml);
                var crmRequestHelper = new CrmRequestHelper();
                var entities         = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_behavior", fetchXdoc);

                if (entities != null && entities.Results[0] != null)
                {
                    var entity = entities.Results[0];
                    referenceEntity = new CrmEntityReference(entity.EntityName, entity.Id);
                }
            }
            catch (Exception ex)
            {
                referenceEntity = null;
            }
            return(referenceEntity);
        }
Beispiel #4
0
        /// <summary>
        /// 获取潜客
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValidateResult <CrmEntity> > GetContactByPhone(string mobilePhone)
        {
            try
            {
                var       validateResult   = new ValidateResult <CrmEntity>();
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = await _repository.GetContactByMobilePhone(mobilePhone);

                var entities = await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);

                if (entities.Results.Count > 0)
                {
                    validateResult.Result = true;
                    validateResult.Data   = entities.Results[0];
                }
                else
                {
                    validateResult.Result = false;
                }
                return(validateResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #5
0
        /// <summary>
        /// 获取明细
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ValidateResult <CrmEntity> > GetDetail(Guid id)
        {
            try
            {
                var       validateResult   = new ValidateResult <CrmEntity>();
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = _shippingaddressRepository.QueryDetail(id);
                var entities = await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);

                if (entities.Results.Count > 0)
                {
                    validateResult.Result = true;
                    validateResult.Data   = entities.Results[0];
                }
                else
                {
                    validateResult.Result = false;
                }
                return(validateResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #6
0
        /// <summary>
        /// 获取注册协议
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ValidateResult <CrmEntity> > GetAgreement(string id)
        {
            try
            {
                var       validateResult   = new ValidateResult <CrmEntity>();
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = await _repository.GetAgreement(id);

                var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_frontcontent", fetchXdoc);

                if (entities.Results.Count > 0)
                {
                    validateResult.Result = true;
                    validateResult.Data   = entities.Results[0];
                }
                else
                {
                    validateResult.Result = false;
                }
                return(validateResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #7
0
        public async Task <DeliveryListResponse> getlist(DeliveryListRequest deliveryListRequest)
        {
            try
            {
                var crmRequestHelper = new CrmRequestHelper();
                var response         = new DeliveryListResponse()
                {
                };
                XDocument fetchXdoc = null;
                if (!string.IsNullOrWhiteSpace(deliveryListRequest.SearchKey))
                {
                    var deliveryListDtoModel = new DeliveryListDtoModel();
                    deliveryListDtoModel.vinEntitys = GetCrmEntities(vinEntityName, deliveryListRequest, crmRequestHelper).Result;
                    deliveryListDtoModel.roEntitys  = GetCrmEntities(roEntityName, deliveryListRequest, crmRequestHelper).Result;
                    fetchXdoc = await _deliveryRepository.GetListFetchXml(deliveryListRequest, deliveryListDtoModel);
                }
                else
                {
                    fetchXdoc = await _deliveryRepository.GetListFetchXml(deliveryListRequest, null);
                }
                var entities = await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);

                response.Deliverys     = entities.Results;
                response.ALLTotalCount = entities.Count;
                response.PageSize      = deliveryListRequest.PageSize;
                response.CurrentPage   = deliveryListRequest.PageIndex;
                return(response);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #8
0
 /// <summary>
 /// 获取列表
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public ValidateResult <List <CrmEntity> > GetList(ShippingaddressListRequest request)
 {
     try
     {
         var       validateResult   = new ValidateResult <List <CrmEntity> >();
         var       crmRequestHelper = new CrmRequestHelper();
         XDocument fetchXdoc        = null;
         fetchXdoc = _shippingaddressRepository.QueryList(request);
         var entities = crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);
         if (entities.Result.Results.Count > 0)
         {
             validateResult.Result = true;
             validateResult.Data   = entities.Result.Results;
         }
         else
         {
             validateResult.Result = false;
         }
         return(validateResult);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #9
0
        /// <summary>
        /// 获取用户标签
        /// </summary>
        /// <param name="userDetailRequest"></param>
        /// <returns></returns>
        public async Task <UserTagListResponse> getusertag(UserDetailRequest userDetailRequest)
        {
            try
            {
                var response         = new UserTagListResponse();
                var crmRequestHelper = new CrmRequestHelper();
                var fetchRequest     = new CrmRetrieveCollectionAttributeRequestMessage()
                {
                    EntityName      = "mcs_user",
                    EntityId        = Guid.Parse(userDetailRequest.id),
                    AttributeName   = "mcs_mcs_user_mcs_usertag",
                    QueryExpression = "$select=mcs_name"
                };
                fetchRequest.Headers.Add("Prefer", dicHead["Prefer"]);
                var crmResponseMessage = await _crmService.Execute(fetchRequest);

                var entities = crmResponseMessage as CrmRetrieveCollectionAttributeResponseMessage;
                response.tags = entities.Value.Results;
                return(response);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #10
0
        /// <summary>
        /// 增减用户积分记录
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValidateResult> DeDucationIntegral(UserDeDucationIntegralRequest request)
        {
            var validateResult = new ValidateResult();

            try
            {
                var entity = new CrmExecuteEntity("mcs_memberintegraldetail", Guid.NewGuid());
                if (!string.IsNullOrEmpty(request.UserId))
                {
                    var       crmRequestHelper = new CrmRequestHelper();
                    XDocument fetchXdoc        = null;
                    fetchXdoc = await _repository.getuserscorebalance(new UserDetailRequest { id = request.UserId });

                    var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_member", fetchXdoc);

                    if (entities.Results != null && entities.Results.Count > 0)
                    {
                        entity.Attributes.Add("mcs_memberid", new CrmEntityReference("mcs_member", entities.Results[0].Id));
                        var bonuspoint = entities.Results[0].Attributes["mcs_bonuspoint"];
                        var balance    = bonuspoint == null ? 0 : (Int32)bonuspoint;
                        entity.Attributes.Add("mcs_bonuspoint", balance);
                        entity.Attributes.Add("mcs_integralpointname", "积分支付");
                        var updateEntity = new CrmExecuteEntity("mcs_member", entities.Results[0].Id);
                        if (request.IntegralType != null)
                        {
                            entity.Attributes.Add("mcs_integraltype", request.IntegralType);
                        }
                        if (request.Integral != 0)
                        {
                            entity.Attributes.Add("mcs_num", request.Integral);
                            updateEntity.Attributes.Add("mcs_bonuspoint", balance - request.Integral);
                        }
                        await _crmService.Update(updateEntity);

                        await _crmService.Create(entity);

                        validateResult.Result      = true;
                        validateResult.Description = "操作成功";
                    }
                    else
                    {
                        validateResult.Result      = false;
                        validateResult.Description = "用户不存在";
                    }
                }
                else
                {
                    validateResult.Result      = false;
                    validateResult.Description = "用户Id不存在";
                }
            }
            catch (Exception e)
            {
                validateResult.Result      = false;
                validateResult.Description = e.Message;
            }
            return(validateResult);
        }
Beispiel #11
0
        public async Task <ValidateResult <string> > addorderpay(OrderPayEditRequest orderPayEditRequest)
        {
            try
            {
                var validateResult   = new ValidateResult <string>();
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, entityName, Guid.Parse(orderPayEditRequest.delivery));

                if (entity != null)
                {
                    var deliverystatus = entity.Attributes.Value <int>("mcs_deliverystatus");
                    //已检测
                    if (deliverystatus >= 5)
                    {
                        validateResult.Result      = false;
                        validateResult.Description = "交车单状态不符合!";
                        return(validateResult);
                    }
                    var deliveryef   = new CrmEntityReference(entity.EntityName, entity.Id);
                    var createentity = new CrmExecuteEntity(orderpayEntityName, Guid.NewGuid());
                    createentity.Attributes.Add("mcs_paycategory", orderPayEditRequest.paycategory);
                    createentity.Attributes.Add("mcs_payon", orderPayEditRequest.payon.ToUniversalTime());
                    createentity.Attributes.Add("mcs_vehdelivery", deliveryef);
                    var vehorderId = entity.Attributes.Value <string>("_mcs_vehorder_value");
                    if (!string.IsNullOrEmpty(vehorderId))
                    {
                        var vehorderrf = new CrmEntityReference(roEntityName, Guid.Parse(vehorderId));
                        createentity.Attributes.Add("mcs_vehorder", vehorderrf);
                    }
                    var dealerid = entity.Attributes.Value <string>("_mcs_dealer_value");
                    if (!string.IsNullOrEmpty(dealerid))
                    {
                        var dealerrf = new CrmEntityReference(dealerEntityName, Guid.Parse(dealerid));
                        createentity.Attributes.Add("mcs_dealer", dealerrf);
                    }
                    createentity.Attributes.Add("mcs_amount", orderPayEditRequest.amount);
                    createentity.Attributes.Add("mcs_batchcode", orderPayEditRequest.batchcode);
                    await _crmService.Create(createentity);

                    validateResult.Result      = true;
                    validateResult.Description = "操作成功";
                    return(validateResult);
                }
                else
                {
                    validateResult.Result      = false;
                    validateResult.Description = "交车单不存在!";
                    return(validateResult);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #12
0
        public async Task <CrmEntity> get(DeliveryDetailRequest deliveryDetailRequest)
        {
            try
            {
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, entityName, Guid.Parse(deliveryDetailRequest.Id));

                return(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #13
0
        public async Task <CrmEntity> getorderpay(CollectionDetailRequest collectionDetailRequest)
        {
            try
            {
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, orderpayEntityName, Guid.Parse(collectionDetailRequest.Id), Guid.Parse(collectionDetailRequest.UserId));

                return(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #14
0
        public async Task <CrmEntity> QueryById(Guid entityId)
        {
            try
            {
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, EntityName, entityId, Guid.Empty);

                return(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #15
0
        /// <summary>
        /// 获取原始线索详情
        /// </summary>
        public async Task <CrmEntity> Get(OriginalclueDetailRequest originalclueDetailRequest)
        {
            try
            {
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, entityName, Guid.Parse(originalclueDetailRequest.Id), Guid.Parse(originalclueDetailRequest.UserId));

                return(entity);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #16
0
        /// <summary>
        /// 获取详情
        /// </summary>
        /// <param name="userDetailRequest"></param>
        /// <returns></returns>
        public async Task <CrmEntity> getuserdetail(UserDetailRequest userDetailRequest)
        {
            try
            {
                var validateResult   = new ValidateResult <CrmEntity>();
                var crmRequestHelper = new CrmRequestHelper();
                var entitie          = await crmRequestHelper.Retrieve(_crmService, entityName, Guid.Parse(userDetailRequest.id));

                return(entitie);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #17
0
        private async Task <string> GetMemberintegralpoint(string key)
        {
            var       crmRequestHelper = new CrmRequestHelper();
            XDocument fetchXdoc        = null;

            fetchXdoc = await _repository.GetMemberintegralpoint(key);

            var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_memberintegralpoint", fetchXdoc);

            if (entities != null && entities.Results != null && entities.Results.Count > 0)
            {
                return(entities.Results[0].Attributes["mcs_num"]?.ToString());
            }
            return(null);
        }
Beispiel #18
0
        private async Task <string> GetConfig(string key)
        {
            var       crmRequestHelper = new CrmRequestHelper();
            XDocument fetchXdoc        = null;

            fetchXdoc = await _configRepository.GetConfigFetchXml(key);

            var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_cepconfig", fetchXdoc);

            if (entities != null && entities.Results != null && entities.Results.Count > 0)
            {
                return(entities.Results[0].Attributes["mcs_val"]?.ToString());
            }
            return(null);
        }
Beispiel #19
0
        /// <summary>
        /// 获取验证码
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValidateResult> ValCode(UsermessageRequest request)
        {
            try
            {
                var       validateResult   = new ValidateResult();
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = await _repository.GetMes(request);

                var entities = await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);

                if (entities.Results.Count > 0)
                {
                    var ent       = entities.Results[0];
                    var code      = ent.Attributes["mcs_name"].ToString();
                    var createdon = DateTime.Parse(ent.Attributes["createdon"].ToString());
                    //180秒过期判断
                    if (createdon.AddSeconds(180) >= new DateTime())
                    {
                        //判断当前验证码是否错误
                        if (code != request.valcode)
                        {
                            validateResult.Result      = false;
                            validateResult.Description = "短信验证码错误!";
                        }
                        else
                        {
                            validateResult.Result = true;
                        }
                    }
                    else
                    {
                        validateResult.Result      = false;
                        validateResult.Description = "短信验证码过期!";
                    }
                }
                else
                {
                    validateResult.Result      = false;
                    validateResult.Description = "短信验证码不存在!";
                }
                return(validateResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #20
0
        public async Task <CrmEntity> getdeliverorderflow(DeliveryDetailRequest deliveryDetailRequest)
        {
            try
            {
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = fetchXdoc = await _deliveryRepository.Getdeliverorderflow(deliveryDetailRequest);

                var entities = await crmRequestHelper.ExecuteAsync(_crmService, systemuserEntityName, fetchXdoc);

                return(entities.Results[0]);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #21
0
        public async Task <CrmEntity> getdetail(Guid id)
        {
            try
            {
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = _campaignonlineregRepository.QueryDetail(id);
                var entities = await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);

                return(entities.Results[0]);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #22
0
        /// <summary>
        /// 根据编码获取用户
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public async Task <CrmEntity> GetUserToCode(string code)
        {
            var validateResult = new ValidateResult();

            var       crmRequestHelper = new CrmRequestHelper();
            XDocument fetchXdoc        = null;

            fetchXdoc = _questionRepository.QueryUser(code);
            var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_user", fetchXdoc);

            if (entities.Results.Count > 0)
            {
                return(entities.Results[0]);
            }
            return(null);
        }
Beispiel #23
0
        public async Task <AMPageResponse> GenerateAMPage(Guid pageId)
        {
            var response = new AMPageResponse();

            try
            {
                //先查询落地页实体数据
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, "mcs_am_page", pageId);

                if (entity == null)
                {
                    throw new Exception("未找到对应的落地页模板数据");
                }
                //数据id作为文件名
                var fileName = "/" + entity.Attributes["mcs_am_pageid"].ToString() + ".html";
                //写入目标相对地址
                var resultPath = @"HtmlResources/Activities";
                //从模板地址读取数据写入新地址
                var prjRootPath  = Directory.GetCurrentDirectory();
                var templateHtml = File.ReadAllText(prjRootPath + @"\wwwroot\HtmlResources\Templates\Temp.html");
                //先替换一下两个链接部分
                //通过配置值获取绝对路径,方便前端处理
                var templateUrl = await GetConfigValue(crmRequestHelper, "Key_HtmlTemplateUrlConfig");

                var absoluteFilePath = templateUrl + resultPath + fileName;
                templateHtml = templateHtml.Replace("$pageurl$", absoluteFilePath);
                templateHtml = templateHtml.Replace("$logurl$", templateUrl);
                //替换其中的自定义项
                var targetHtml = await TransHtml(pageId, templateHtml, crmRequestHelper);

                response.Url = absoluteFilePath;
                var targetPath = prjRootPath + @"\wwwroot\" + resultPath;
                if (!Directory.Exists(targetPath))
                {
                    Directory.CreateDirectory(targetPath);
                }
                File.WriteAllText(targetPath + fileName, targetHtml);
            }
            catch (Exception ex)
            {
                response.IsSuccess = false;
                response.Url       = ex.Message + ";" + ex.InnerException?.Message;
            }
            return(response);
        }
Beispiel #24
0
        /// <summary>
        /// 密码修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ValidateResult> UpdateUserPwd(UserLoginRequest model)
        {
            var userInfo       = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo);
            var validateResult = new ValidateResult();

            try
            {
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = await _repository.GetUserPwd(model);

                var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_userkeys", fetchXdoc);

                if (entities.Results.Count > 0)
                {
                    var res    = entities.Results[0];
                    var entity = new CrmExecuteEntity("mcs_userkeys", res.Id);
                    model.pwd = EncrypHelper.encrypt(model.pwd);
                    if (!string.IsNullOrEmpty(model.pwd))
                    {
                        entity.Attributes.Add("mcs_hashvalue", model.pwd);
                    }
                    //c端用户实体
                    await _crmService.Update(entity, userInfo?.systemuserid);

                    #region 组装数据返回
                    validateResult.Result      = true;
                    validateResult.Description = "操作成功";
                }
                else
                {
                    validateResult.Result      = false;
                    validateResult.Description = "操作失败";
                }

                #endregion
            }
            catch (Exception e)
            {
                validateResult.Result      = false;
                validateResult.Description = e.Message;
            }

            return(validateResult);
        }
Beispiel #25
0
        public async Task <ValidateResult <decimal> > gettailmoney(string id)
        {
            try
            {
                var validateResult   = new ValidateResult <decimal>();
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, entityName, Guid.Parse(id));

                if (entity != null)
                {
                    var deliverystatus = entity.Attributes.Value <int>("mcs_settlestatus");
                    //结清状态0未结算1已结算
                    if (deliverystatus != 0)
                    {
                        validateResult.Result      = false;
                        validateResult.Description = "交车单结清状态不符合!";
                        return(validateResult);
                    }
                    //整车订单id
                    var vehorderId = entity.Attributes.Value <string>("_mcs_vehorder_value");
                    //整车订单实体
                    var vehorderrf = await crmRequestHelper.Retrieve(_crmService, roEntityName, Guid.Parse(vehorderId));

                    var totalamount = vehorderrf.Attributes.Value <decimal>("mcs_totalamount");
                    var earnest     = vehorderrf.Attributes.Value <decimal>("mcs_earnest");
                    var tailmoney   = totalamount - earnest;

                    validateResult.Result = true;
                    validateResult.Data   = tailmoney;
                    return(validateResult);
                }
                else
                {
                    validateResult.Result      = false;
                    validateResult.Description = "交车单不存在!";
                    return(validateResult);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #26
0
        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;
            }
        }
Beispiel #27
0
        public async Task <ValidateResult <string> > submitpdi(DeliveryEditRequest deliveryEditRequest)
        {
            try
            {
                var validateResult   = new ValidateResult <string>();
                var crmRequestHelper = new CrmRequestHelper();
                var entity           = await crmRequestHelper.Retrieve(_crmService, entityName, Guid.Parse(deliveryEditRequest.id));

                if (entity != null)
                {
                    var deliverystatus = entity.Attributes.Value <int>("mcs_deliverystatus");
                    //待检测
                    if (deliverystatus != 2)
                    {
                        validateResult.Result      = false;
                        validateResult.Description = "交车单状态不符合!";
                        return(validateResult);
                    }
                    var delivery   = new CrmExecuteEntity(entityName, Guid.Parse(deliveryEditRequest.id));
                    var systemuser = new CrmEntityReference(systemuserEntityName, Guid.Parse(deliveryEditRequest.adviser));
                    delivery.Attributes.Add("mcs_serviceproxyid", systemuser);
                    delivery.Attributes.Add("mcs_deliverystatus", 3);
                    delivery.Attributes.Add("mcs_submitpdi", true);
                    delivery.Attributes.Add("mcs_submitpdion", DateTime.UtcNow);
                    await _crmService.Update(delivery);

                    validateResult.Result      = true;
                    validateResult.Description = "操作成功";
                    return(validateResult);
                }
                else
                {
                    validateResult.Result      = false;
                    validateResult.Description = "交车单不存在!";
                    return(validateResult);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #28
0
        /// <summary>
        /// 获取客户标签
        /// </summary>
        /// <returns></returns>
        public async Task <CustomerlabelListResponse> GetCustomerLabelList(CustomerlabelListRequest customerlabelListRequest)
        {
            try
            {
                var response = new CustomerlabelListResponse()
                {
                };
                var fetchXdoc = await _customerLabelRepository.GetAll();

                var crmRequestHelper = new CrmRequestHelper();
                var entities         = await crmRequestHelper.ExecuteAsync(_crmService, tagEntityName, fetchXdoc, Guid.Parse(customerlabelListRequest.UserId));

                response.customerlabels = entities.Results;
                return(response);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #29
0
        public async Task <CrmEntity> getdetail(Guid orderid)
        {
            try
            {
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = await _salesorderRepository.GetDetailFetchXml(orderid);

                var entities = await crmRequestHelper.ExecuteAsync(_crmService, entityName, fetchXdoc);

                if (entities != null && entities.Results != null && entities.Results.Count > 0)
                {
                    return(entities.Results[0]);
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #30
0
        /// <summary>
        /// 安全问题设置列表获取
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValidateResult <List <CrmEntity> > > GetSecurityquestion()
        {
            var       validateResult   = new ValidateResult <List <CrmEntity> >();
            var       crmRequestHelper = new CrmRequestHelper();
            XDocument fetchXdoc        = null;

            fetchXdoc = await _repository.GetSecurityquestion();

            var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_securityquestion", fetchXdoc);

            if (entities.Results.Count > 0)
            {
                validateResult.Result = true;
                validateResult.Data   = entities.Results;
            }
            else
            {
                validateResult.Result = false;
            }
            return(validateResult);
        }