예제 #1
0
        /// <summary>
        /// 新增或编辑 logcall
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValidateResult <CrmEntity> > AddOrEditEntity(LogCallRequest request)
        {
            var validateResult = new ValidateResult <CrmEntity>();
            var userInfo       = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo);

            try
            {
                Guid             guid   = string.IsNullOrEmpty(request.mcs_logcallid) ? Guid.NewGuid() : Guid.Parse(request.mcs_logcallid);
                CrmExecuteEntity Entity = new CrmExecuteEntity("mcs_logcall", guid);
                if (!string.IsNullOrEmpty(request.mcs_onlyleadid))
                {
                    Entity.Attributes.Add("mcs_onlyleadid", new CrmEntityReference("mcs_onlylead", Guid.Parse(request.mcs_onlyleadid)));
                }
                if (!string.IsNullOrEmpty(request.accountid))
                {
                    Entity.Attributes.Add("mcs_accountid", new CrmEntityReference("account", Guid.Parse(request.accountid)));
                }
                if (!string.IsNullOrEmpty(request.mcs_content))
                {
                    Entity.Attributes.Add("mcs_content", request.mcs_content);
                }
                if (!string.IsNullOrEmpty(request.mcs_fullname))
                {
                    Entity.Attributes.Add("mcs_fullname", request.mcs_fullname);
                }
                if (!string.IsNullOrEmpty(request.mcs_mobilephone))
                {
                    Entity.Attributes.Add("mcs_mobilephone", request.mcs_mobilephone);
                }
                if (!string.IsNullOrEmpty(request.mcs_results))
                {
                    Entity.Attributes.Add("mcs_results", request.mcs_results);
                }
                if (request.mcs_visittime.HasValue)
                {
                    Entity.Attributes.Add("mcs_visittime", request.mcs_visittime.Value);
                }

                if (!string.IsNullOrEmpty(request.mcs_logcallid))
                {
                    await _crmService.Update(Entity, userInfo?.systemuserid);
                }
                else
                {
                    guid = await _crmService.Create(Entity, userInfo?.systemuserid);
                }

                validateResult.Result      = true;
                validateResult.Description = "操作成功";
            }
            catch (Exception ex)
            {
                validateResult.Result      = false;
                validateResult.Description = "操作失败,原因:" + ex.Message;
                throw ex;
            }


            return(validateResult);
        }
예제 #2
0
        /// <summary>
        /// 查询与唯一线索关联的跟进记录(logcall)
        /// </summary>
        /// <param name="activityrequest"></param>
        /// <returns></returns>
        public async Task <QueryResult <CrmEntity> > GetLogCallList(LogCallRequest logcallrequest)
        {
            try
            {
                var userInfo    = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo);
                var ProxyUserId = userInfo != null ? userInfo.systemuserid : null;
                var fetchString = _onlyLeadRepository.GetLogCallList(logcallrequest);

                var fetchXdoc    = XDocument.Parse(fetchString);
                var fetchRequest = new CrmRetrieveMultipleFetchRequestMessage()
                {
                    EntityName  = "mcs_logcall",
                    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 = logcallrequest.PageIndex;
                queryResult.TotalCount  = 0;
                return(queryResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        public async Task <NewtonsoftJsonActionResult <QueryResult <CrmEntity> > > GetLogCallById(string mcs_logcallid = "", string systemuserid = "")
        {
            var logcallrequest = new LogCallRequest()
            {
                mcs_logcallid = mcs_logcallid,
                UserId        = systemuserid
            };
            var list = await app.GetLogCallList(logcallrequest);

            return(list);
        }
예제 #4
0
        /// <summary>
        /// 查询logcall的fetchString
        /// </summary>
        /// <param name="logcallrequest"></param>
        /// <returns></returns>
        public string GetLogCallList(LogCallRequest logcallrequest)
        {
            var filter = string.Empty;

            //if (!string.IsNullOrWhiteSpace(logcallrequest.Search))
            //{
            //    filter += $"<filter type='or'>";
            //    filter += $"<condition attribute='mcs_name' operator='like' value='%{onlyLeadRequest.Search}%' />";
            //    filter += $"<condition attribute='mcs_userid' operator='like' value='%{onlyLeadRequest.Search}%' />";
            //    filter += $"<condition attribute='mcs_mobilephone' operator='like' value='%{onlyLeadRequest.Search}%' />";
            //    filter += $"<condition attribute='mcs_emailaddress1' operator='like' value='%{onlyLeadRequest.Search}%' />";
            //    filter += $"</filter>";
            //}
            if (logcallrequest.mcs_onlyleadid != null)//唯一线索主键id
            {
                filter += $"<condition attribute='mcs_onlyleadid' operator='eq' value='{logcallrequest.mcs_onlyleadid}' />";
            }
            //根据销售机会查询培育任务
            if (!string.IsNullOrEmpty(logcallrequest.accountid))
            {
                filter += $"<condition attribute='mcs_accountid' operator='eq' value='{logcallrequest.accountid}' />";
            }

            if (logcallrequest.mcs_logcallid != null)//logcall主键id
            {
                filter += $"<condition attribute='mcs_logcallid' operator='eq' value='{logcallrequest.mcs_logcallid}' />";
            }
            var fetchString = $@"<fetch version='1.0' count='{logcallrequest.PageSize}' page='{logcallrequest.PageIndex}' output-format='xml-platform' mapping='logical' distinct='false'>
               <entity name='mcs_logcall'>
                <attribute name='mcs_name' />
                <attribute name='createdon' />
                <attribute name='mcs_logcallid' />
                <attribute name='mcs_accountid' />
                <attribute name='mcs_fullname' />
                <attribute name='mcs_mobilephone' />
                <attribute name='mcs_content' />
                <attribute name='mcs_visittime' />
                <attribute name='mcs_results' />
                <attribute name='mcs_contactid' />                
                <attribute name='mcs_onlyleadid' />
                <order attribute='createdon' descending='true' />
                <filter type='and'>
                  <condition attribute='statecode' operator='eq' value='0' />
                    {filter}
                </filter>
              </entity>
            </fetch>";

            return(fetchString);
        }
예제 #5
0
        public async Task <NewtonsoftJsonActionResult <ValidateResult <CrmEntity> > > AddOrEditLogcall(LogCallRequest request)
        {
            var result = await app.AddOrEditEntity(request);

            return(result);
        }
예제 #6
0
        public async Task <NewtonsoftJsonActionResult <QueryResult <CrmEntity> > > GetLogCallList(LogCallRequest logcallrequest)
        {
            //var logcallrequest = new LogCallRequest()
            //{
            //    entityid = entityid,
            //    UserId = systemuserid,
            //    PageIndex = page,
            //    PageSize = pageSize,
            //    Sort = sort
            //};
            var list = await app.GetLogCallList(logcallrequest);

            return(list);
        }
예제 #7
0
파일: AppOnlyLead.cs 프로젝트: rhw1111/DCEM
 /// <summary>
 /// logcall 新增或编辑
 /// </summary>
 /// <param name="activityrequest"></param>
 /// <returns></returns>
 public async Task <ValidateResult <CrmEntity> > AddOrEditEntity(LogCallRequest request)
 {
     return(await _onlyLeadService.AddOrEditEntity(request));
 }
예제 #8
0
파일: AppOnlyLead.cs 프로젝트: rhw1111/DCEM
 /// <summary>
 /// 查询与唯一线索关联的跟进记录(logcall)
 /// </summary>
 /// <param name="logcallrequest"></param>
 /// <returns></returns>
 public async Task <QueryResult <CrmEntity> > GetLogCallList(LogCallRequest logcallrequest)
 {
     return(await _onlyLeadService.GetLogCallList(logcallrequest));
 }