Beispiel #1
0
        /// <summary>
        /// 保存融资信息
        /// </summary>
        /// yaoy    16.08.29
        /// <param name="data"></param>
        /// <returns></returns>
        public bool SaveFinanceData(string data)
        {
            var result    = true;
            var _instance = new Instance();
            var _finance  = new Finance.Finance();

            JObject              jo = (JObject)JsonConvert.DeserializeObject(data);
            StringReader         sr = new StringReader(jo["D1"].ToString());
            FinanceNodeGroupInfo financeNodeGroup = (FinanceNodeGroupInfo)_serializer.Deserialize(new JsonTextReader(sr), typeof(FinanceNodeGroupInfo));

            using (TransactionScope scope = new TransactionScope())
            {
                if (financeNodeGroup.FinanceInfo.FinanceId == null)
                {
                    result &= _finance.Add(financeNodeGroup);

                    _instance.SetData(financeNodeGroup.FinanceInfo.InstanceId, new { FinanceId = financeNodeGroup.FinanceInfo.FinanceId });
                }
                else
                {
                    result &= _finance.Modify(financeNodeGroup);
                }

                if (result)
                {
                    scope.Complete();
                }
            }

            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// 添加
        /// </summary>
        /// qiy		16.03.31
        /// <param name="financeNodeGroup">值</param>
        /// <returns></returns>
        public bool Add(FinanceNodeGroupInfo financeNodeGroup)
        {
            bool result = true;

            var financeInfo      = financeNodeGroup.FinanceInfo;
            var vehicleInfo      = financeNodeGroup.VehicleInfo;
            var applicants       = financeNodeGroup.Applicants;
            var financeExtraInfo = financeNodeGroup.FinanceExtraInfo;

            var _creditAccount = new Credit.Account();
            var creditAccount  = _creditAccount.Get(User.User.CurrentUserId);

            financeInfo.Type     = FinanceInfo.TypeEnum.车辆融资;
            financeInfo.CreateBy = creditAccount.UserId;
            financeInfo.CreateOf = creditAccount.CreditId;

            using (TransactionScope scope = new TransactionScope())
            {
                financeMapper.Insert(financeInfo);
                result &= financeInfo.FinanceId > 0;

                if (result)
                {
                    financeExtraInfo.FinanceId = financeInfo.FinanceId.Value;
                    result &= financeExtraMapper.Insert(financeExtraInfo) > 0;
                }

                if (result)
                {
                    vehicleMapper.Insert(financeInfo.FinanceId.Value, vehicleInfo);
                }

                if (applicants != null)
                {
                    foreach (var applicant in applicants)
                    {
                        applicant.FinanceId = financeInfo.FinanceId.Value;

                        result &= _applicant.Add(applicant);
                    }
                }

                if (result)
                {
                    scope.Complete();
                }
            }

            return(result);
        }
Beispiel #3
0
        /// <summary>
        /// 获取
        /// </summary>
        /// yand    16.09.09
        /// <param name="financeId">融资标识</param>
        /// <returns></returns>
        public FinanceNodeGroupInfo GetFinanceNodeGroupInfo(int financeId)
        {
            FinanceNodeGroupInfo fngi = new FinanceNodeGroupInfo();

            FinanceInfo finance = financeMapper.Find(financeId);

            if (finance != null)
            {
                fngi.FinanceInfo      = finance;
                fngi.VehicleInfo      = vehicleMapper.Find(financeId);
                fngi.FinanceExtraInfo = new FinanceExtra().Get(financeId);

                BLL.Vehicle.IVehicleOption _vehicle = new BLL.Vehicle.VehicleIautos();

                _vehicle.Get(fngi.VehicleInfo);

                fngi.Applicants = _applicant.List(financeId);
            }

            return(fngi);
        }
Beispiel #4
0
        /// <summary>
        /// 修改
        /// </summary>
        /// qiy		16.03.31
        /// qiy     16.05.31
        /// yangj   16.07.26    新增融资预估金额
        /// zouql   16.08.04    新增融资实际金额
        /// <param name="value">值</param>
        /// <returns></returns>
        public bool Modify(FinanceNodeGroupInfo financeNodeGroup)
        {
            bool result = true;

            var financeInfo      = financeNodeGroup.FinanceInfo;
            var financeExtraInfo = financeNodeGroup.FinanceExtraInfo;
            var vehicleInfo      = financeNodeGroup.VehicleInfo;
            var applicants       = financeNodeGroup.Applicants;

            FinanceInfo          finance       = Get(financeInfo.FinanceId.Value);
            VehicleInfo          vehicle       = new Vehicle().Get(financeInfo.FinanceId.Value);
            FinanceExtraInfo     financeExtra  = new BLL.Finance.FinanceExtra().Get(financeInfo.FinanceId.Value);
            List <ApplicantInfo> applicantList = new Applicant().List(financeInfo.FinanceId.Value);

            if (finance == null)
            {
                return(false);
            }

            using (TransactionScope scope = new TransactionScope())
            {
                if (vehicleInfo != null)
                {
                    // 车辆基本信息
                    vehicle.VehicleKey   = vehicleInfo.VehicleKey;
                    vehicle.BuyCarPrice  = vehicleInfo.BuyCarPrice;
                    vehicle.RegisterCity = vehicleInfo.RegisterCity;
                    vehicle.SallerName   = vehicleInfo.SallerName;
                    vehicle.PlateNo      = vehicleInfo.PlateNo;
                    vehicle.FrameNo      = vehicleInfo.FrameNo;
                    vehicle.EngineNo     = vehicleInfo.EngineNo;
                    vehicle.RegisterDate = vehicleInfo.RegisterDate;
                    vehicle.RunningMiles = vehicleInfo.RunningMiles;
                    vehicle.FactoryDate  = vehicleInfo.FactoryDate;
                    vehicle.BuyCarYears  = vehicleInfo.BuyCarYears;
                    vehicle.Color        = vehicleInfo.Color;

                    result &= vehicleMapper.Update(finance.FinanceId.Value, vehicleInfo) > 0;
                }
                else
                {
                    result &= vehicleMapper.Delete(finance.FinanceId.Value) > 0;
                }

                // 存在申请信息
                if (applicants != null)
                {
                    // 融资信息不存在对应的申请人信息
                    if (applicantList == null)
                    {
                        applicantList = new List <ApplicantInfo>();
                    }

                    result &= Applicants(applicants, applicantList);
                }
                // 不存在申请人信息
                else
                {
                    // 融资信息存在对应的申请人信息,删除申请人信息
                    if (applicantList != null)
                    {
                        foreach (var applicant in applicantList)
                        {
                            result &= _applicant.Delete(applicant.ApplicantId.Value);
                        }
                    }
                }

                // 融资基本信息
                finance.Type               = FinanceInfo.TypeEnum.车辆融资;
                finance.ProduceId          = financeInfo.ProduceId;
                finance.IntentionPrincipal = financeInfo.IntentionPrincipal;
                finance.OncePayMonths      = financeInfo.OncePayMonths;
                finance.Remarks            = financeInfo.Remarks;

                result &= financeMapper.Update(finance) > 0;

                if (financeExtra != null)
                {
                    if (financeExtraInfo != null)
                    {
                        result &= financeExtraMapper.Update(financeExtraInfo) > 0;
                    }
                }


                if (result)
                {
                    scope.Complete();
                }
            }

            return(result);
        }
Beispiel #5
0
        public IHttpActionResult Get(int financeId)
        {
            FinanceNodeGroupInfo finance = Finance.GetFinanceNodeGroupInfo(financeId);

            return(finance != null ? (IHttpActionResult)Ok(finance) : NotFound());
        }