public static void ApproveImportantService(ServiceType_ImportantService data)
        {
            var service = CustomerService.GetCustomerService(data.ServiceID);

            if (service == null)
            {
                return;
            }
            if (data.ApproveStatus == 1)
            {
                service.IsImportantTouSu = true;
            }
            else
            {
                service.IsImportantTouSu = false;
            }
            service.Save();
            var serviceTypeList = ServiceType.GetServiceTypes().ToArray();
            var myServiceType   = serviceTypeList.FirstOrDefault(p => p.ID == service.ServiceType1ID);

            if (myServiceType == null || data.ApplicationType == 4)
            {
                data.Save();
                return;
            }
            var myServiceType2List = serviceTypeList.Where(p => service.ServiceType2IDList.Contains(p.ID)).ToArray();
            var myServiceType3List = serviceTypeList.Where(p => service.ServiceType3IDList.Contains(p.ID)).ToArray();

            #region 派单时效
            var myPaiDanServiceTypeItem = ServiceType.GetAvailableServiceType(myServiceType2List, myServiceType3List, myServiceType, typeid: 1);
            data.PaiDanTime = myPaiDanServiceTypeItem.PaiDanTime;
            #endregion
            #region 回复时效
            var myResponseServiceTypeItem = ServiceType.GetAvailableServiceType(myServiceType2List, myServiceType3List, myServiceType, typeid: 2);
            data.ResponseTime = myResponseServiceTypeItem.ResponseTime;
            #endregion
            #region 核查时效
            var myCheckServiceTypeItem = ServiceType.GetAvailableServiceType(myServiceType2List, myServiceType3List, myServiceType, typeid: 3);
            data.CheckTime = myCheckServiceTypeItem.CheckTime;
            #endregion
            #region 处理时效
            var myProcessServiceTypeItem = ServiceType.GetAvailableServiceType(myServiceType2List, myServiceType3List, myServiceType, typeid: 4);
            data.ChuliTime = myCheckServiceTypeItem.ChuliTime;
            #endregion
            #region 办结时效
            var myBanJieServiceTypeItem = ServiceType.GetAvailableServiceType(myServiceType2List, myServiceType3List, myServiceType, typeid: 5);
            data.BanJieTime = myBanJieServiceTypeItem.BanJieTime;
            #endregion
            #region 关单时效
            var myGuanDanServiceTypeItem = ServiceType.GetAvailableServiceType(myServiceType2List, myServiceType3List, myServiceType, typeid: 7);
            data.GuanDanTime = myGuanDanServiceTypeItem.GuanDanTime;
            #endregion
            #region 回访时效
            var myHuiFangServiceTypeItem = ServiceType.GetAvailableServiceType(myServiceType2List, myServiceType3List, myServiceType, typeid: 7);
            data.HuiFangTime = myHuiFangServiceTypeItem.HuiFangTime;
            #endregion
            if (data.ApplicationType == 2)//启用第三方(一倍时间)
            {
                data.PaiDanTime   = data.PaiDanTime > 0 ? data.PaiDanTime * 2 : 0;
                data.ResponseTime = data.ResponseTime > 0 ? data.ResponseTime * 2 : 0;
                data.CheckTime    = data.CheckTime > 0 ? data.CheckTime * 2 : 0;
                data.ChuliTime    = data.ChuliTime > 0 ? data.ChuliTime * 2 : 0;
                data.BanJieTime   = data.BanJieTime > 0 ? data.BanJieTime * 2 : 0;
                data.GuanDanTime  = data.GuanDanTime > 0 ? data.GuanDanTime * 2 : 0;
                data.HuiFangTime  = data.HuiFangTime > 0 ? data.HuiFangTime * 2 : 0;
            }
            else
            {
                int addHour = 0;
                if (data.ApplicationType == 1)//启用第三方(三天)
                {
                    addHour = 24 * 3;
                }
                else if (data.ApplicationType == 3)//修转赔偿意见未达成一致(十五天)
                {
                    addHour = 24 * 15;
                }
                data.PaiDanTime   = data.PaiDanTime > 0 ? data.PaiDanTime + addHour : 0;
                data.ResponseTime = data.ResponseTime > 0 ? data.ResponseTime + addHour : 0;
                data.CheckTime    = data.CheckTime > 0 ? data.CheckTime + addHour : 0;
                data.ChuliTime    = data.ChuliTime > 0 ? data.ChuliTime + addHour : 0;
                data.BanJieTime   = data.BanJieTime > 0 ? data.BanJieTime + addHour : 0;
                data.GuanDanTime  = data.GuanDanTime > 0 ? data.GuanDanTime + addHour : 0;
                data.HuiFangTime  = data.HuiFangTime > 0 ? data.HuiFangTime + addHour : 0;
            }
            data.Save();
        }
Esempio n. 2
0
 public static void SetServiceTypeData(ServiceType data, ServiceType oldData = null, ServiceType_ImportantService importantData = null)
 {
     if (oldData == null && importantData == null)
     {
         return;
     }
     if (data == null)
     {
         data = new ServiceType();
     }
     if (importantData != null)
     {
         data.DealTime           = importantData.DealTime;
         data.PaiDanTime         = importantData.PaiDanTime;
         data.CheckTime          = importantData.CheckTime;
         data.ResponseTime       = importantData.ResponseTime;
         data.ChuliTime          = importantData.ChuliTime;
         data.BanJieTime         = importantData.BanJieTime;
         data.HuiFangTime        = importantData.HuiFangTime;
         data.GuanDanTime        = importantData.GuanDanTime;
         data.DisableHolidayTime = importantData.DisableHolidayTime;
         data.StartHour          = importantData.StartHour;
         data.EndHour            = importantData.EndHour;
     }
     else if (oldData != null)
     {
         data.PaiDanTime         = oldData.PaiDanTime;
         data.CheckTime          = oldData.CheckTime;
         data.ResponseTime       = oldData.ResponseTime;
         data.ChuliTime          = oldData.ChuliTime;
         data.BanJieTime         = oldData.BanJieTime;
         data.HuiFangTime        = oldData.HuiFangTime;
         data.GuanDanTime        = oldData.GuanDanTime;
         data.DisableHolidayTime = oldData.DisableHolidayTime;
         data.StartHour          = oldData.StartHour;
         data.EndHour            = oldData.EndHour;
     }
 }