Beispiel #1
0
        /// <summary>
        /// 预约单创建与修改(包括取消预约)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValidateResult <CrmEntity> > AddOrEdit(AppointmentInfoAddOrEditRequest request)
        {
            var userInfo = ContextContainer.GetValue <UserInfo>(ContextExtensionTypes.CurrentUserInfo);

            if (userInfo != null && !string.IsNullOrWhiteSpace(userInfo.mcs_dealerid))
            {
                request.appointmentinfo.mcs_dealerid = Guid.Parse(userInfo.mcs_dealerid);
            }
            if (userInfo != null && userInfo.systemuserid != null)
            {
                request.appointmentinfo.mcs_serviceadvisorid = userInfo.systemuserid;
            }
            var validateResult  = new ValidateResult <CrmEntity>();
            var reusetCrmEntity = new CrmEntity("mcs_appointmentinfo", new Guid());

            //新增预约单
            if (request.appointmentinfo.mcs_appointmentinfoid == null)
            {
                var createEntity = new CrmExecuteEntity("mcs_appointmentinfo", Guid.NewGuid());
                //预约状态 创建默认是待跟进
                createEntity.Attributes.Add("mcs_status", 10);
                BasicAssignment(createEntity, request);
                var reuset = await _crmService.Create(createEntity, userInfo?.systemuserid);

                reusetCrmEntity.Id = createEntity.Id;
            }
            //编辑预约单
            if (request.appointmentinfo.mcs_appointmentinfoid != null)
            {
                var updateEntity = new CrmExecuteEntity("mcs_appointmentinfo", (Guid)request.appointmentinfo.mcs_appointmentinfoid);
                //预约状态
                if (request.appointmentinfo.mcs_status != null)
                {
                    updateEntity.Attributes.Add("mcs_status", request.appointmentinfo.mcs_status);
                }
                BasicAssignment(updateEntity, request);
                await _crmService.Update(updateEntity, userInfo?.systemuserid);

                reusetCrmEntity.Id = (Guid)request.appointmentinfo.mcs_appointmentinfoid;
            }
            validateResult.Data        = reusetCrmEntity;
            validateResult.Result      = true;
            validateResult.Description = "操作成功";
            return(validateResult);
        }
Beispiel #2
0
        /// <summary>
        /// 预约单基础数据赋值
        /// </summary>
        /// <param name="createEntity"></param>
        /// <param name="request"></param>
        private CrmExecuteEntity BasicAssignment(CrmExecuteEntity entity, AppointmentInfoAddOrEditRequest request)
        {
            //VIN码
            if (request.appointmentinfo.mcs_customerid != null)
            {
                var vinEntityRef = new CrmEntityReference("mcs_vehowner", (Guid)request.appointmentinfo.mcs_customerid);
                entity.Attributes.Add("mcs_customerid", vinEntityRef);
            }
            //车主
            if (!string.IsNullOrWhiteSpace(request.appointmentinfo.mcs_customername))
            {
                entity.Attributes.Add("mcs_customername", request.appointmentinfo.mcs_customername);
            }
            //车牌
            if (!string.IsNullOrWhiteSpace(request.appointmentinfo.mcs_carplate))
            {
                entity.Attributes.Add("mcs_carplate", request.appointmentinfo.mcs_carplate);
            }
            //车型
            if (request.appointmentinfo.mcs_cartype != null)
            {
                var carTypeEntityRef = new CrmEntityReference("mcs_carmodel", (Guid)request.appointmentinfo.mcs_cartype);
                entity.Attributes.Add("mcs_cartype", carTypeEntityRef);
            }
            //手机号
            if (!string.IsNullOrWhiteSpace(request.appointmentinfo.mcs_customerphone))
            {
                entity.Attributes.Add("mcs_customerphone", request.appointmentinfo.mcs_customerphone);
            }
            //客户标签
            if (!string.IsNullOrWhiteSpace(request.appointmentinfo.mcs_tag))
            {
                entity.Attributes.Add("mcs_tag", request.appointmentinfo.mcs_tag);
            }
            //预约服务类型
            if (request.appointmentinfo.mcs_ordertype != null)
            {
                entity.Attributes.Add("mcs_ordertype", request.appointmentinfo.mcs_ordertype);
            }
            //预约日期
            if (request.appointmentinfo.mcs_appointmentat != null)
            {
                var mcs_appointmentat = request.appointmentinfo.mcs_appointmentat.Value.ToUniversalTime();//.ToString("yyyy-MM-dd");
                entity.Attributes.Add("mcs_appointmentat", mcs_appointmentat);
            }
            //预约时段
            if (request.appointmentinfo.mcs_appointmentconfigid != null)
            {
                var configEntityRef = new CrmEntityReference("mcs_appointmentconfig", (Guid)request.appointmentinfo.mcs_appointmentconfigid);
                entity.Attributes.Add("mcs_appointmentconfigid", configEntityRef);
            }
            //可预约数量
            if (request.appointmentinfo.mcs_surplusnum != null)
            {
                entity.Attributes.Add("mcs_surplusnum", request.appointmentinfo.mcs_surplusnum);
            }
            //客户要求
            if (!string.IsNullOrWhiteSpace(request.appointmentinfo.mcs_customercomment))
            {
                entity.Attributes.Add("mcs_customercomment", request.appointmentinfo.mcs_customercomment);
            }
            //问题描述
            if (!string.IsNullOrWhiteSpace(request.appointmentinfo.mcs_appointmendescript))
            {
                entity.Attributes.Add("mcs_appointmendescript", request.appointmentinfo.mcs_appointmendescript);
            }
            //取消原因
            if (request.appointmentinfo.mcs_cancelreasonnew != null)
            {
                entity.Attributes.Add("mcs_cancelreasonnew", request.appointmentinfo.mcs_cancelreasonnew);
            }
            //取消描述
            if (!string.IsNullOrWhiteSpace(request.appointmentinfo.mcs_canceldes))
            {
                entity.Attributes.Add("mcs_canceldes", request.appointmentinfo.mcs_canceldes);
            }

            //预约厅店
            if (request.appointmentinfo.mcs_dealerid != null)
            {
                var dealerEntityEF = new CrmEntityReference("mcs_dealer", (Guid)request.appointmentinfo.mcs_dealerid);
                entity.Attributes.Add("mcs_dealerid", dealerEntityEF);
            }
            //服务顾问
            if (request.appointmentinfo.mcs_serviceadvisorid != null)
            {
                var systemUserEntityEF = new CrmEntityReference("systemuser", (Guid)request.appointmentinfo.mcs_serviceadvisorid);
                entity.Attributes.Add("mcs_serviceadvisorid", systemUserEntityEF);
            }

            return(entity);
        }
Beispiel #3
0
 /// <summary>
 /// 预约单创建与修改(包括取消预约)
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public async Task<ValidateResult<CrmEntity>> AddOrEdit(AppointmentInfoAddOrEditRequest request)
 {
     return await _appointmentInfoService.AddOrEdit(request);
 }
 public async Task <NewtonsoftJsonActionResult <ValidateResult <CrmEntity> > > AddOrEdit(AppointmentInfoAddOrEditRequest request)
 {
     return(await app.AddOrEdit(request));
 }