Example #1
0
        public bool UpdateVipBaoYangPackage(VipBaoYangPackageViewModel package)
        {
            var success = false;

            try
            {
                var inputPackage = new VipBaoYangPackageDbModel(package);
                var dbPackage    = dbScopeReadManager.Execute(conn => DALVipBaoYangPackage.SelectVipBaoYangPackageByPkid(conn, package.PKID));
                if (dbPackage != null)
                {
                    var oldData = JsonConvert.SerializeObject(dbPackage);
                    dbPackage.Brands = inputPackage.Brands;

                    success = dbScopeManager.Execute(conn => DALVipBaoYangPackage.UpdateVipBaoYangPackage(conn, dbPackage));
                    if (success)
                    {
                        dbPackage.LastUpdateDateTime = DateTime.Now;
                        var newData = JsonConvert.SerializeObject(dbPackage);
                        InsertLog(dbPackage.PID, oldData, newData, "Update", package.CreateUser);
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(success);
        }
Example #2
0
        /// <summary>
        /// 添加保养套餐
        /// </summary>
        /// <param name="package"></param>
        /// <returns></returns>
        public bool InsertVipBaoYangPackage(VipBaoYangPackageViewModel package)
        {
            var result    = false;
            var productId = string.Empty;

            try
            {
                dbScopeManager.CreateTransaction(conn =>
                {
                    var pkid = DALVipBaoYangPackage.InsertVipBaoYangPackage(conn, new VipBaoYangPackageDbModel(package));
                    if (pkid > 0)
                    {
                        productId = $"BY-TUHU-BXGSDCBY|{pkid.ToString()}";
                        result    = DALVipBaoYangPackage.UpdateVipBaoYangPackagePID(conn, pkid, productId) > 0;
                    }
                    if (result)
                    {
                        package.PKID = pkid;
                        package.PID  = productId;
                        VipBaoYangPackageService.CreateProduct(pkid.ToString(), package.PackageName, package.CreateUser);
                    }
                });

                if (result)
                {
                    InsertLog(productId, null, JsonConvert.SerializeObject(package), "Insert", package.CreateUser);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(result);
        }
Example #3
0
        public JsonResult InsertVipBaoYangPackage(VipBaoYangPackageViewModel model)
        {
            if (model == null)
            {
                return(Json(new { status = false, msg = "参数不能为空" }));
            }
            var validationResults = model.GetValidationResults();

            if (!string.IsNullOrEmpty(validationResults))
            {
                return(Json(new { status = false, msg = validationResults }));
            }

            if (manager.IsExistsPackageName(model.PackageName, model.PKID))
            {
                return(Json(new { status = false, msg = "套餐名称已存在" }));
            }
            model.CreateUser  = User.Identity.Name;
            model.GetRuleGUID = model.Source == "Interface" ? model.GetRuleGUID : Guid.Empty;
            var result = false;

            if (model.PKID <= 0)
            {
                result = manager.InsertVipBaoYangPackage(model);
            }
            else
            {
                result = manager.UpdateVipBaoYangPackage(model);
            }
            return(Json(new { status = result }));
        }
Example #4
0
        /// <summary>
        /// 根据主键Id获取套餐详情
        /// </summary>
        /// <param name="pkid"></param>
        /// <returns></returns>
        public VipBaoYangPackageViewModel SelectVipBaoYangPackageByPkid(int pkid)
        {
            VipBaoYangPackageViewModel result = null;

            try
            {
                var package = dbScopeReadManager.Execute(conn => DALVipBaoYangPackage.SelectVipBaoYangPackageByPkid(conn, pkid));
                result = new VipBaoYangPackageViewModel(package);
                var user = BaoYangExternalService.GetCompanyUserInfo(result.VipUserId);
                result.VipUserName = user?.UserName;
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
            return(result);
        }
        /// <summary>
        /// 更新结算用户信息
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="pkid"></param>
        /// <param name="settlementVipUserId"></param>
        /// <returns></returns>
        public static int UpdateVipBaoYangPackage(SqlConnection conn, VipBaoYangPackageViewModel package)
        {
            const string sql = @"    
            UPDATE  BaoYang..VipBaoYangPackageConfig
            SET     SettlementVipUserId = @SettlementVipUserId ,
                    GetRuleGUID = @GetRuleGUID ,
                    Source = @Source ,
                    LastUpdateDateTime = GETDATE()
            WHERE   PKID = @PKID";

            return(conn.Execute(sql, new
            {
                PKID = package.PKID,
                SettlementVipUserId = package.SettlementVipUserId == Guid.Empty ? null : package.SettlementVipUserId.ToString(),
                GetRuleGUID = package.GetRuleGUID == Guid.Empty ? null : package.GetRuleGUID.ToString(),
                Source = package.Source
            }, commandType: CommandType.Text));
        }
Example #6
0
        public bool UpdateVipBaoYangPackage(VipBaoYangPackageViewModel package)
        {
            var success = false;

            try
            {
                var inputPackage = new VipBaoYangPackageDbModel(package);
                VipBaoYangPackageDbModel dbPackage = null;
                var oldData = string.Empty;
                dbScopeManager.CreateTransaction(conn =>
                {
                    dbPackage            = DALVipBaoYangPackage.SelectVipBaoYangPackageByPkid(conn, package.PKID);
                    dbPackage.OilConfigs = DALVipBaoYangPackage.SelectBaoYangPackageOilConfigs(conn, package.PKID).ToList();
                    oldData = JsonConvert.SerializeObject(dbPackage);
                    dbPackage.OilConfigs = inputPackage.OilConfigs;
                    if (dbPackage != null)
                    {
                        var updateResult = DALVipBaoYangPackage.UpdateVipBaoYangPackage(conn, package);
                        if (updateResult > 0)
                        {
                            success = DALVipBaoYangPackage.DeleteBaoYangPackageOilConfigs(conn, package.PKID);
                            if (success)
                            {
                                dbPackage.OilConfigs.ForEach(x => DALVipBaoYangPackage.InsertBaoYangPackageOilConfig(conn, x));
                            }
                        }
                    }
                });

                if (success)
                {
                    dbPackage.LastUpdateDateTime = DateTime.Now;
                    var newData = JsonConvert.SerializeObject(dbPackage);
                    InsertLog(dbPackage.PID, oldData, newData, "Update", package.CreateUser);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }

            return(success);
        }
        public JsonResult InsertVipBaoYangPackage(VipBaoYangPackageViewModel model)
        {
            Func <string> validFunc = () =>
            {
                if (model == null)
                {
                    return("参数不能为空!");
                }
                if (string.IsNullOrWhiteSpace(model.PackageName))
                {
                    return("套餐名称不能为空");
                }
                SettlementMethod method;
                if (!Enum.TryParse(model.SettlementMethod, out method))
                {
                    return("结算方式不存在");
                }
                var gradesTmpl = new List <int> {
                    1, 2, 3
                };
                model.Brands = model.Brands?.Select(brand => new BaoYangPackageOilBrand
                {
                    Brand  = brand.Brand,
                    Grades = brand.Grades?.Where(x => gradesTmpl.Contains(x)).ToList() ?? new List <int>(),
                }).Where(brand => brand.Grades.Any()).ToList();
                if (model.Brands == null || !model.Brands.Any())
                {
                    return("品牌不能为空");
                }
                var brands = model.Brands.Select(x => x.Brand).ToList();
                if (brands.Distinct().Count() < brands.Count)
                {
                    return("机油品牌重复");
                }
                model.SettlementMethod = method.ToString();
                model.PackageName      = model.PackageName.Trim();
                if (manager.IsExistsPackageName(model.PackageName, model.PKID))
                {
                    return("套餐名称已存在");
                }
                return(string.Empty);
            };

            var validResult = validFunc();

            if (!string.IsNullOrEmpty(validResult))
            {
                return(Json(new { status = false, msg = validResult }));
            }
            model.CreateUser = User.Identity.Name;
            var result = false;

            if (model.PKID <= 0)
            {
                result = manager.InsertVipBaoYangPackage(model);
            }
            else if (User.Identity.Name == "*****@*****.**" ||
                     User.Identity.Name == "*****@*****.**" ||
                     User.Identity.Name == "*****@*****.**" ||
                     User.Identity.Name == "*****@*****.**" ||
                     User.Identity.Name == "*****@*****.**")
            {
                result = manager.UpdateVipBaoYangPackage(model);
            }
            return(Json(new { status = result }));
        }