示例#1
0
        /// <summary>
        /// 添加保养活动地区配置
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static int AddBaoYangActivityRegion(SqlConnection conn, BaoYangActivityVehicleAndRegionModel model)
        {
            var sql        = @"INSERT  INTO BaoYang..BaoYangActivityVehicleAndRegion
                                ( VehicleId ,
                                  RegionId ,
                                  ActivityId ,
                                  Type ,
                                  CreateDateTime ,
                                  LastUpdateDateTime
                                )
                        VALUES  ( NULL ,
                                  @RegionId ,
                                  @ActivityId ,
                                  N'Region' ,
                                  GETDATE() ,
                                  GETDATE()
                                )
                                SELECT  SCOPE_IDENTITY();";
            var parameters = new SqlParameter[] {
                new SqlParameter("@RegionId", model.RegionId),
                new SqlParameter("@ActivityId", model.ActivityId)
            };

            return(Convert.ToInt32(SqlHelper.ExecuteScalar(conn, CommandType.Text, sql, parameters)));
        }
示例#2
0
        /// <summary>
        /// 更新保养活动地区配置
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static bool UpdateBaoYangActivityRegion(SqlConnection conn, BaoYangActivityVehicleAndRegionModel model)
        {
            var sql        = @"UPDATE  BaoYang..BaoYangActivityVehicleAndRegion
                        SET     ActivityId = @ActivityId ,
                                LastUpdateDateTime = GETDATE()
                        WHERE   RegionId = @RegionId
                                AND Type = N'Region';";
            var parameters = new SqlParameter[] {
                new SqlParameter("@RegionId", model.RegionId),
                new SqlParameter("@ActivityId", model.ActivityId)
            };

            return(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, parameters) > 0);
        }
示例#3
0
        /// <summary>
        /// 批量新增或更新保养活动地区配置
        /// </summary>
        /// <param name="regionIds"></param>
        /// <param name="activityId"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public Tuple <bool, bool> MultiAddOrEditBaoYangActivityRegion(List <int> regionIds, string activityId, string user)
        {
            var result      = false;
            var cacheResult = false;

            try
            {
                if (regionIds != null && regionIds.Any() && !string.IsNullOrWhiteSpace(activityId))
                {
                    var insertModels = new List <BaoYangActivityVehicleAndRegionModel>();
                    var updateModels = new List <BaoYangActivityVehicleAndRegionModel>();
                    var logData      = new List <BaoYangOprLog>();
                    foreach (var regionId in regionIds)
                    {
                        var oldValue = GetBaoYangActivityRegionByRegionId(regionId);
                        if (oldValue == null)
                        {
                            var insertModel = new BaoYangActivityVehicleAndRegionModel
                            {
                                VehicleId          = null,
                                ActivityId         = activityId,
                                RegionId           = regionId,
                                Type               = "Region",
                                CreateDateTime     = DateTime.Now,
                                LastUpdateDateTime = DateTime.Now
                            };
                            insertModels.Add(insertModel);
                        }
                        else
                        {
                            updateModels.Add(oldValue);
                        }
                    }
                    dbScopeManagerGungnir.CreateTransaction(conn =>
                    {
                        foreach (var insertModel in insertModels)
                        {
                            var pkid = DalBaoYangActivitySetting.AddBaoYangActivityRegion(conn, insertModel);
                            if (pkid < 1)
                            {
                                throw new Exception($"AddBaoYangActivityRegion失败,{JsonConvert.SerializeObject(insertModel)}");
                            }
                            insertModel.PKID = pkid;
                            var log          = new BaoYangOprLog
                            {
                                LogType     = "BaoYangActivityRegion",
                                IdentityID  = insertModel.RegionId.ToString(),
                                OldValue    = null,
                                NewValue    = JsonConvert.SerializeObject(insertModel),
                                Remarks     = "Add",
                                OperateUser = user,
                            };
                            logData.Add(log);
                        }
                        foreach (var oldValue in updateModels)
                        {
                            var updateModel = new BaoYangActivityVehicleAndRegionModel
                            {
                                PKID               = oldValue.PKID,
                                VehicleId          = oldValue.VehicleId,
                                ActivityId         = activityId,
                                RegionId           = oldValue.RegionId,
                                Type               = oldValue.Type,
                                CreateDateTime     = oldValue.CreateDateTime,
                                LastUpdateDateTime = DateTime.Now
                            };
                            var updateResult = DalBaoYangActivitySetting.UpdateBaoYangActivityRegion(conn, updateModel);
                            if (!updateResult)
                            {
                                throw new Exception($"UpdateBaoYangActivityRegion失败,{JsonConvert.SerializeObject(updateModel)}");
                            }

                            var log = new BaoYangOprLog
                            {
                                LogType     = "BaoYangActivityRegion",
                                IdentityID  = updateModel.RegionId.ToString(),
                                OldValue    = JsonConvert.SerializeObject(oldValue),
                                NewValue    = JsonConvert.SerializeObject(updateModel),
                                Remarks     = "Update",
                                OperateUser = user,
                            };
                            logData.Add(log);
                        }
                        result = true;
                    });
                    foreach (var log in logData)
                    {
                        LoggerManager.InsertLog("BYOprLog", log);
                    }
                    cacheResult = CleanBaoYangActivityRegionCache(regionIds);
                }
            }
            catch (Exception ex)
            {
                Logger.Error("MultiAddOrEditBaoYangActivityRegion", ex);
            }
            return(Tuple.Create(result, cacheResult));
        }