Пример #1
0
        /// <summary>
        /// 新增或更新对应关系
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public JsonResult UpsertPingAnRegionPackageMap(PingAnRegionPackageMap data)
        {
            RegionPackageMapManager mananger = new RegionPackageMapManager();
            var result = mananger.UpsertPingAnRegionPackageMap(data, User.Identity.Name);

            return(Json(new { status = result.Item1, msg = result.Item2 ?? "操作失败" }, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 新增对应关系
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static bool InsertPingAnRegionPackageMap(SqlConnection conn, PingAnRegionPackageMap data)
        {
            const string sql = @"
            INSERT INTO Tuhu_thirdparty..PingAnRegionPackageMap
                    ( RegionId ,
                      PackageId ,
                      BYPackagePID ,
                      BusinessId ,
                      CreatedDateTime ,
                      UpdatedDateTime
                    )
             VALUES ( @RegionId ,
                      @PackageId ,
                      @BYPackagePID ,
                      @BusinessId ,
                      GETDATE() ,
                      GETDATE()
                    );";

            return(conn.Execute(sql, new
            {
                PackageId = data.PackageId,
                BYPackagePID = data.BYPackagePID,
                BusinessId = data.BusinessId,
                RegionId = data.RegionId
            }, commandType: CommandType.Text) > 0);
        }
        /// <summary>
        /// 更新对应关系
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static bool UpdatePingAnRegionPackageMap(SqlConnection conn, PingAnRegionPackageMap data)
        {
            const string sql = @"
             UPDATE Tuhu_thirdparty..PingAnRegionPackageMap
             SET    PackageId = @PackageId ,
                    BYPackagePID = @BYPackagePID ,
                    UpdatedDateTime = GETDATE()
             WHERE  PKID = @PKID
                    AND BusinessId = @BusinessId; ";

            return(conn.Execute(sql, new
            {
                PackageId = data.PackageId != null && data.PackageId != Guid.Empty ? data.PackageId : null,
                BYPackagePID = !string.IsNullOrEmpty(data.BYPackagePID) ? data.BYPackagePID : null,
                BusinessId = data.BusinessId,
                RegionId = data.RegionId,
                PKID = data.PKID
            }, commandType: CommandType.Text) > 0);
        }
        /// <summary>
        /// 新增对应关系
        /// </summary>
        /// <param name="data"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public Tuple <bool, string> UpsertPingAnRegionPackageMap(PingAnRegionPackageMap data, string user)
        {
            var result = false;
            var msg    = "";

            try
            {
                dbScopeManager.CreateTransaction(conn =>
                {
                    var allConfig = DALRegionPackageMap.GetAllPingAnRegionPackageMapList(conn);
                    var isExist   = false;
                    if (!string.IsNullOrEmpty(data.BYPackagePID))
                    {
                        isExist = allConfig?.Where(_ => String.Equals(_.BYPackagePID, data.BYPackagePID))?.Count() > 0;
                    }
                    else if (data.PackageId != null && data.PackageId != Guid.Empty)
                    {
                        isExist = allConfig?.Where(_ => String.Equals(_.PackageId, data.PackageId))?.Count() > 0;
                    }
                    data.RegionId = data.CityId > 0 ? data.CityId : (data.ProvinceId > 0 ? data.ProvinceId : 0);
                    if (!isExist)
                    {
                        result = DALRegionPackageMap.InsertPingAnRegionPackageMap(conn, data);
                    }
                    else
                    {
                        msg = "该美容包或保养套餐已存在关联关系";
                    }
                });
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(Tuple.Create(result, msg));
        }