Esempio n. 1
0
        public async Task <ValidateResult> AddAnswercontent(QuestionAddRequest model)
        {
            ValidateResult ts = await _appQuestion.AddAnswercontent(model);

            CrmEntity ent = await _appQuestion.GetUserToCode(model.mcs_answername);

            //await _appUser.IntegralCreate(IntegralQuestion_Key, ent.Id.ToString());
            return(ts);
        }
Esempio n. 2
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ValidateResult> AddAnswercontent(QuestionAddRequest model)
        {
            var validateResult = new ValidateResult();

            try
            {
                var       crmRequestHelper = new CrmRequestHelper();
                XDocument fetchXdoc        = null;
                fetchXdoc = _questionRepository.QueryQiestion(model.mcs_questionnairesetting);
                var entities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_questionnairesetting", fetchXdoc);

                if (entities.Results.Count > 0)
                {
                    fetchXdoc = _questionRepository.QueryUser(model.mcs_answername);
                    var userentities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_user", fetchXdoc);

                    if (userentities.Results.Count > 0)
                    {
                        fetchXdoc = _questionRepository.QueryDeliverychannel(model.mcs_deliverychannel);
                        var deliverychannelentities = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_deliverychannel", fetchXdoc);

                        //回答渠道获取
                        if (deliverychannelentities.Results.Count > 0)
                        {
                            foreach (var item in model.model)
                            {
                                Guid id     = Guid.NewGuid();
                                var  entity = new CrmExecuteEntity("mcs_answercontent", id);
                                entity.Attributes.Add("mcs_answername", new CrmEntityReference("mcs_user", userentities.Results[0].Id));
                                entity.Attributes.Add("mcs_deliverychannel", new CrmEntityReference("mcs_deliverychannel", deliverychannelentities.Results[0].Id));
                                entity.Attributes.Add("mcs_questionnairesetting", new CrmEntityReference("mcs_questionnairesetting", entities.Results[0].Id));

                                string starttime = entities.Results[0].Attributes["*****@*****.**"].ToString();
                                string endtime   = entities.Results[0].Attributes["*****@*****.**"].ToString();
                                if ((!string.IsNullOrEmpty(starttime)) && (!string.IsNullOrEmpty(starttime)))
                                {
                                    if (DateTime.Parse(starttime) <= DateTime.Now && DateTime.Parse(endtime) >= DateTime.Now)
                                    {
                                        string mcs_awardcategory = entities.Results[0].Attributes["*****@*****.**"].ToString();
                                        string mcs_awardamount   = entities.Results[0].Attributes["*****@*****.**"].ToString();
                                        string mcs_awardcount    = string.Format("奖励类别:{0},奖励数量{1}", mcs_awardcategory, mcs_awardamount);
                                        entity.Attributes.Add("mcs_awardcount", mcs_awardcount);
                                        entity.Attributes.Add("mcs_isaward", 1);
                                    }
                                    else
                                    {
                                        entity.Attributes.Add("mcs_isaward", 2);
                                    }
                                }
                                else
                                {
                                    entity.Attributes.Add("mcs_isaward", 2);
                                }

                                if (!string.IsNullOrEmpty(item.mcs_answer))
                                {
                                    entity.Attributes.Add("mcs_answer", item.mcs_answer);
                                }
                                if (!string.IsNullOrEmpty(item.mcs_answercontentcode))
                                {
                                    entity.Attributes.Add("mcs_answercontentcode", item.mcs_answercontentcode);
                                }
                                if (!string.IsNullOrEmpty(item.mcs_name))
                                {
                                    entity.Attributes.Add("mcs_name", item.mcs_name);
                                }
                                entity.Attributes.Add("mcs_questions", new CrmEntityReference("mcs_questions", item.mcs_questions));
                                await _crmService.Create(entity);
                            }
                            //判断是否有试驾记录,如果有写入试驾反馈
                            if (!string.IsNullOrEmpty(model.driverecordid))
                            {
                                fetchXdoc = _questionRepository.GetDriverecord(model.driverecordid);
                                var driverecord = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_driverecord", fetchXdoc);

                                if (driverecord.Results.Count > 0)
                                {
                                    Guid id     = Guid.NewGuid();
                                    var  entity = new CrmExecuteEntity("mcs_testdrivefeedbackmaster", id);
                                    entity.Attributes.Add("mcs_username", userentities.Results[0].Attributes["mcs_name"].ToString());
                                    //新逻辑 存储id
                                    //entity.Attributes.Add("mcs_userid", userentities.Results[0].Attributes["mcs_code"].ToString());
                                    entity.Attributes.Add("mcs_userid", userentities.Results[0].Attributes["mcs_userid"].ToString());
                                    entity.Attributes.Add("mcs_driverecordid", new CrmEntityReference("mcs_driverecord", driverecord.Results[0].Id));
                                    entity.Attributes.Add("mcs_surveytime", DateTime.Now);
                                    entity.Attributes.Add("mcs_userphone", userentities.Results[0].Attributes["mcs_phone"].ToString());

                                    fetchXdoc = _questionRepository.GetOnlylead(userentities.Results[0].Id.ToString());
                                    var onlylead = await crmRequestHelper.ExecuteAsync(_crmService, "mcs_onlylead", fetchXdoc);

                                    if (onlylead.Results.Count > 0)
                                    {
                                        entity.Attributes.Add("mcs_onlyleadid", new CrmEntityReference("mcs_onlylead", onlylead.Results[0].Id));
                                    }
                                    await _crmService.Create(entity);

                                    foreach (var item in model.model)
                                    {
                                        Guid testdriveid     = Guid.NewGuid();
                                        var  testdriveentity = new CrmExecuteEntity("mcs_testdrivefeedback", testdriveid);
                                        testdriveentity.Attributes.Add("mcs_survey", model.mcs_questionnairesetting);
                                        testdriveentity.Attributes.Add("mcs_username", userentities.Results[0].Attributes["mcs_name"].ToString());
                                        testdriveentity.Attributes.Add("mcs_userphone", userentities.Results[0].Attributes["mcs_phone"].ToString());
                                        testdriveentity.Attributes.Add("mcs_userid", userentities.Results[0].Attributes["mcs_code"].ToString());
                                        testdriveentity.Attributes.Add("mcs_surveyquestion", item.mcs_name);
                                        testdriveentity.Attributes.Add("mcs_suveryanswer", item.mcs_answer);
                                        testdriveentity.Attributes.Add("mcs_surveytype", item.mcs_type);
                                        testdriveentity.Attributes.Add("mcs_driverecordid", new CrmEntityReference("mcs_driverecord", driverecord.Results[0].Id));
                                        if (onlylead.Results.Count > 0)
                                        {
                                            testdriveentity.Attributes.Add("mcs_onlyleadid", new CrmEntityReference("mcs_onlylead", onlylead.Results[0].Id));
                                        }
                                        testdriveentity.Attributes.Add("mcs_testdrivefeedbackmasterid", new CrmEntityReference("mcs_testdrivefeedbackmaster", id));
                                        await _crmService.Create(testdriveentity);
                                    }
                                }
                            }


                            #region 组装数据返回
                            validateResult.Result      = true;
                            validateResult.Description = "操作成功";
                            return(validateResult);

                            #endregion
                        }
                    }
                }
                validateResult.Result      = false;
                validateResult.Description = "来源数据异常!";
            }
            catch (Exception e)
            {
                validateResult.Result      = false;
                validateResult.Description = e.Message;
            }

            return(validateResult);
        }
Esempio n. 3
0
 public Task <ValidateResult> AddAnswercontent(QuestionAddRequest model)
 {
     return(_questionService.AddAnswercontent(model));
 }