/// <summary>
 /// 转换为数据传输对象
 /// </summary>
 /// <param name="entity">实体</param>
 public static CarFinancePolicyDto ToDto(this CarFinancePolicy entity)
 {
     if (entity == null)
     {
         return(new CarFinancePolicyDto());
     }
     return(new CarFinancePolicyDto {
         Id = entity.Id,
         BRAND_CODE = entity.BRAND_CODE,
         BRAND_NAME = entity.BRAND_NAME,
         CLASS_CODE = entity.CLASS_CODE,
         CLASS_NAME = entity.CLASS_NAME,
         TYPE_CODE = entity.TYPE_CODE,
         TYPE_NAME = entity.TYPE_NAME,
         SUBTYPE_CODE = entity.SUBTYPE_CODE,
         SUBTYPE_NAME = entity.SUBTYPE_NAME,
         TAG_LEVEL = entity.TAG_LEVEL,
         BIZ_TYPE = entity.BIZ_TYPE,
         TAG_IDS = entity.TAG_IDS,
         TAG_JSON = entity.TAG_JSON,
         CREATE_PSN = entity.CREATE_PSN,
         CREATE_DATE = entity.CREATE_DATE,
         UPDATE_PSN = entity.UPDATE_PSN,
         UPDATE_DATE = entity.UPDATE_DATE,
         BU_NO = entity.BU_NO,
         BG_NO = entity.BG_NO,
         DEL_FLAG = entity.DEL_FLAG,
         UDF1 = entity.UDF1,
         UDF2 = entity.UDF2,
         UDF3 = entity.UDF3,
         UDF4 = entity.UDF4,
         UDF5 = entity.UDF5
     });
 }
Exemplo n.º 2
0
        /// <summary>
        /// 保存二手车金融政策
        /// </summary>
        /// <returns></returns>
        private bool SaveUCPolicy(CarFinancePolicyDto info, out string msg)
        {
            bool flag = false;

            if (string.IsNullOrEmpty(info.UDF1))
            {
                msg = "车架号不能为空!";
                return(flag);
            }

            try
            {
                if (string.IsNullOrEmpty(info.Id))
                {
                    var uclist = _carFinancePolicyRepository.GetAllList(m => m.UDF1 == info.UDF1);

                    if (uclist == null || uclist.Count == 0)
                    {
                        _initHelper.InitAdd(info, Convert.ToDecimal(AbpSession.USR_ID), AbpSession.ORG_NO, AbpSession.BG_NO);
                        info.Id = Guid.NewGuid().ToString("N");
                        flag    = _carFinancePolicyRepository.Insert(info.ToEntity()) != null ? true : false;
                    }
                    else
                    {
                        CarFinancePolicy ucinfo = uclist.FirstOrDefault();
                        ucinfo.TAG_IDS     = info.TAG_IDS;
                        ucinfo.TAG_JSON    = info.TAG_JSON;
                        ucinfo.UPDATE_PSN  = AbpSession.USR_ID;
                        ucinfo.UPDATE_DATE = DateTime.Now;

                        flag = _carFinancePolicyRepository.Update(info.ToEntity()) != null ? true : false;
                    }
                }
                else
                {
                    _initHelper.InitUpdate(info, AbpSession.USR_ID);
                    flag = _carFinancePolicyRepository.Update(info.ToEntity()) != null ? true : false;
                }
                msg = flag ? "保存成功" : "保存失败";
            }
            catch (Exception ex)
            {
                flag = false;
                msg  = ex.Message;
            }

            return(flag);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 新增车型标签
        /// </summary>
        /// <returns></returns>
        public bool InsertTYpeTag(CarFinancePolicyDto info, ref string msg)
        {
            bool flag = false;
            //查询车型信息
            var typelist = _carFinancePolicyRepository.GetAllList(m => m.TYPE_CODE == info.TYPE_CODE && m.TAG_LEVEL == 3);

            if (typelist == null || typelist.Count == 0)//新增
            {
                flag = InsertPolicyInfo(info, ref msg);
                if (!flag)
                {
                    msg = "新增车型金融政策失败";
                    return(false);
                }
                string newIds = info.TAG_IDS;
                flag = UpdatePolicyInfo(info, newIds);
            }
            else //修改标签(1.修改车型下的标签,2.同时修改车型下已有的车型细分标签)
            {
                bool subflag = false;

                CarFinancePolicy pInfo = typelist.FirstOrDefault();

                //修改车型下已有车型细分的标签
                //string oriIds = pInfo.TAG_IDS;
                string newIds = info.TAG_IDS;

                subflag = UpdatePolicyInfo(pInfo.ToDto(), newIds);

                if (subflag)
                {
                    var obj = JsonConvert.DeserializeObject <List <TagJson> >(info.TAG_JSON).OrderBy(c => c.SORT_NO);
                    pInfo.TAG_IDS  = info.TAG_IDS;
                    pInfo.TAG_JSON = JsonConvert.SerializeObject(obj);
                    _initHelper.InitUpdate(pInfo, AbpSession.USR_ID);
                    flag = _carFinancePolicyRepository.Update(pInfo) != null ? true : false;
                }
            }

            msg = flag ? "操作成功" : "操作失败";
            return(flag);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取可选和已选标签
        /// </summary>
        /// <param name="code">车型编码</param>
        /// <param name="level">车型级别</param>
        /// <param name="subCode">车型细分编码</param>
        /// <param name="vin">车架号</param>
        /// <returns></returns>
        public Dictionary <string, IList <FinanceTagConfig> > GetOptionalTagList(string code, int level, string subCode, string vin = "")
        {
            #region 参数验证
            if (string.IsNullOrEmpty(code) || string.IsNullOrEmpty(level + ""))
            {
                throw new Exception("code和level参数不允许为空");
            }

            int result;
            if (int.TryParse(level + "", out result))
            {
                if (level < 3 || level > 4)
                {
                    throw new Exception("level参数有误");
                }
            }
            else
            {
                throw new Exception("level应为数字类型");
            }
            #endregion

            Dictionary <string, IList <FinanceTagConfig> > dic = new Dictionary <string, IList <FinanceTagConfig> >();
            try
            {
                var financeTagConfigs = _financeTagConfigRepository.GetAllList(m => m.BU_NO == AbpSession.ORG_NO && m.DEL_FLAG == 1);
                //string[] arr = (from tag in financeTagConfigs select tag.Id).ToArray();

                string where = string.Empty;
                //存车型数据
                IList <CarFinancePolicy> cartypelist     = null;
                IList <FinanceTagConfig> optionalTagList = null; //可选标签
                IList <FinanceTagConfig> usedTagList     = null; //已使用标签

                switch (level)
                {
                case 3:
                    cartypelist = _carFinancePolicyRepository.GetAllList(m => m.TYPE_CODE == code && m.TAG_LEVEL == 3);

                    if (cartypelist == null || cartypelist.Count == 0)
                    {
                        optionalTagList = financeTagConfigs;
                    }
                    else
                    {
                        CarFinancePolicy info = cartypelist.FirstOrDefault();
                        var tagids            = info.TAG_IDS.Replace("'", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                        optionalTagList = (from tag in financeTagConfigs where !tagids.Contains(tag.Id) select tag).ToList();
                        usedTagList     = (from tag in financeTagConfigs where tagids.Contains(tag.Id) select tag).ToList();
                    }
                    break;

                case 4:
                    if (string.IsNullOrEmpty(vin))    //新车
                    {
                        where = string.Format("SUBTYPE_CODE='{0}'", subCode);
                        //车型细分信息
                        var subtypeInfos = _carFinancePolicyRepository.FirstOrDefault(m => m.SUBTYPE_CODE == subCode);

                        if (subtypeInfos != null)
                        {
                            var tagids = subtypeInfos.TAG_IDS.Replace("'", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                            optionalTagList = (from tag in financeTagConfigs where !tagids.Contains(tag.Id) select tag).ToList();
                            usedTagList     = (from tag in financeTagConfigs where tagids.Contains(tag.Id) select tag).ToList();
                        }
                        else
                        {
                            cartypelist = _carFinancePolicyRepository.GetAllList(m => m.TYPE_CODE == code && m.TAG_LEVEL == 3);
                            if (cartypelist == null || cartypelist.Count == 0)
                            {
                                optionalTagList = financeTagConfigs;
                                break;
                            }
                            CarFinancePolicy cinfo = cartypelist[0];

                            var tagids = cinfo.TAG_IDS.Replace("'", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                            optionalTagList = (from tag in financeTagConfigs where !tagids.Contains(tag.Id) select tag).ToList();
                            usedTagList     = (from tag in financeTagConfigs where tagids.Contains(tag.Id) select tag).ToList();
                        }
                    }
                    else    //二手车
                    {
                        //车型细分信息
                        var subtypeInfos = _carFinancePolicyRepository.FirstOrDefault(m => m.SUBTYPE_CODE == subCode && m.UDF1 == vin);

                        if (subtypeInfos != null)
                        {
                            var tagids = subtypeInfos.TAG_IDS.Replace("'", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                            optionalTagList = (from tag in financeTagConfigs where !tagids.Contains(tag.Id) select tag).ToList();
                            usedTagList     = (from tag in financeTagConfigs where tagids.Contains(tag.Id) select tag).ToList();
                        }
                        else
                        {
                            optionalTagList = financeTagConfigs;
                            usedTagList     = null;
                        }
                    }
                    break;

                default:
                    break;
                }

                dic.Add("OPTIONAL", optionalTagList);
                dic.Add("USED", usedTagList);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(dic);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 新增车型细分标签
        /// </summary>
        /// <returns></returns>
        public bool InsertSubTYpeTag(CarFinancePolicyDto info, ref string msg)
        {
            bool flag = false;

            try
            {
                var typeList = _carFinancePolicyRepository.GetAllList(m => m.TYPE_CODE == info.TYPE_CODE && m.TAG_LEVEL == 3);

                flag = CheckSubTypeTag(typeList, ref info, out msg);
                if (!flag)
                {
                    return(false);
                }
                var list = _carFinancePolicyRepository.GetAllList(m => m.SUBTYPE_CODE == info.SUBTYPE_CODE && m.TAG_LEVEL == 4);
                if (list == null || list.Count == 0)//新增
                {
                    flag = InsertPolicyInfo(info, ref msg);
                }
                else if (string.IsNullOrEmpty(info.Id))//修改标签
                {
                    CarFinancePolicy pInfo = list.FirstOrDefault();
                    var oldTags            = pInfo.TAG_IDS.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    var newTags            = info.TAG_IDS.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    var result             = oldTags.Except <string>(newTags).ToList();
                    if (result.Count > 0)
                    {
                        var newTagIds = string.Join(",", result) + "," + info.TAG_IDS;

                        var      financeTagConfigs = _financeTagConfigRepository.GetAllList(m => m.BU_NO == AbpSession.ORG_NO);
                        string[] arr     = (from tag in financeTagConfigs select tag.Id).ToArray();
                        var      tagList = (from tag in financeTagConfigs where arr.Contains(newTagIds) select tag).ToList();

                        List <object> jsonList = new List <object>();
                        foreach (var tag in tagList)
                        {
                            jsonList.Add(new { TAG_ID = tag.Id, TAG_NAME = tag.TAG_NAME, TAG_DESCRIBE = tag.TAG_DESCRIBE, SORT_NO = Convert.ToInt32(tag.SORT_NO) });
                        }
                        info.TAG_JSON = JsonConvert.SerializeObject(jsonList);
                        info.TAG_IDS  = newTagIds;
                    }
                    pInfo.TAG_IDS  = info.TAG_IDS;
                    pInfo.TAG_JSON = info.TAG_JSON;
                    _initHelper.InitUpdate(pInfo, AbpSession.USR_ID);
                    flag = _carFinancePolicyRepository.Update(pInfo) != null ? true : false;
                }
                else
                {
                    CarFinancePolicy pInfo = list.FirstOrDefault();
                    pInfo.TAG_IDS  = info.TAG_IDS;
                    pInfo.TAG_JSON = info.TAG_JSON;
                    _initHelper.InitUpdate(pInfo, AbpSession.USR_ID);
                    flag = _carFinancePolicyRepository.Update(pInfo) != null ? true : false;
                }
                msg = flag ? "操作成功" : "操作失败";
            }
            catch (Exception ex)
            {
                flag = false;
                msg  = "错误消息:" + ex.Message;
            }
            return(flag);
        }