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); }
/// <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); }
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 })); }
/// <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)); }
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 })); }