/// <summary>
        /// 添加机油粘度特殊地区配置
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static int AddOilViscosityRegionConfig(SqlConnection conn, OilViscosityRegionModel model)
        {
            var sql        = @"INSERT  INTO BaoYang..OilViscosityRegionPriorityConfig
                                ( RegionId, OilViscosity )
                        VALUES  ( @RegionId, @OilViscosity )
                        SELECT  SCOPE_IDENTITY();";
            var parameters = new SqlParameter[] {
                new SqlParameter("@RegionId", model.RegionId),
                new SqlParameter("@OilViscosity", model.OilViscosity)
            };

            return(Convert.ToInt32(SqlHelper.ExecuteScalar(conn, CommandType.Text, sql, parameters)));
        }
        /// <summary>
        /// 更新机油粘度特殊地区配置
        /// </summary>
        /// <param name="conn"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static bool UpdateOilViscosityRegionConfig(SqlConnection conn, OilViscosityRegionModel model)
        {
            var sql        = @"UPDATE  BaoYang..OilViscosityRegionPriorityConfig
                        SET     OilViscosity = @OilViscosity ,
                                IsDeleted = 0 ,
                                LastUpdateDateTime = GETDATE()
                        WHERE   RegionId = @RegionId;";
            var parameters = new SqlParameter[] {
                new SqlParameter("@RegionId", model.RegionId),
                new SqlParameter("@OilViscosity", model.OilViscosity)
            };

            return(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, parameters) > 0);
        }
示例#3
0
        /// <summary>
        /// 批量新增或更新机油粘度特殊地区配置
        /// </summary>
        /// <param name="regionIds"></param>
        /// <param name="oilViscosity"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public bool MultAddOrEditOilViscosityRegionConfig(List <int> regionIds, string oilViscosity, string user)
        {
            var result = false;

            try
            {
                if (regionIds != null && regionIds.Any() && !string.IsNullOrWhiteSpace(oilViscosity))
                {
                    var insertModels = new List <OilViscosityRegionModel>();
                    var backupModels = new List <OilViscosityRegionModel>();
                    var updateModels = new List <OilViscosityRegionModel>();
                    var logData      = new List <BaoYangOprLog>();
                    foreach (var regionId in regionIds)
                    {
                        var oldValue = GetOilViscosityRegionConfigByRegionId(regionId);
                        if (oldValue == null)
                        {
                            var insertModel = new OilViscosityRegionModel
                            {
                                RegionId           = regionId,
                                OilViscosity       = oilViscosity,
                                CreateDateTime     = DateTime.Now,
                                LastUpdateDateTime = DateTime.Now
                            };
                            insertModels.Add(insertModel);
                        }
                        else
                        {
                            if (oldValue.IsDeleted)
                            {
                                backupModels.Add(oldValue);
                            }
                            else
                            {
                                updateModels.Add(oldValue);
                            }
                        }
                    }
                    dbScopeManagerGungnir.CreateTransaction(conn =>
                    {
                        foreach (var insertModel in insertModels)
                        {
                            var pkid = DalBaoYangOilViscosityPriorityConfig.AddOilViscosityRegionConfig(conn, insertModel);
                            if (pkid < 1)
                            {
                                throw new Exception($"AddOilViscosityRegionConfig失败,{JsonConvert.SerializeObject(insertModel)}");
                            }
                            insertModel.PKID = pkid;
                            var log          = new BaoYangOprLog
                            {
                                LogType     = "OilViscosityRegionConfig",
                                IdentityID  = insertModel.RegionId.ToString(),
                                OldValue    = null,
                                NewValue    = JsonConvert.SerializeObject(insertModel),
                                Remarks     = $"添加机油粘度配置:{oilViscosity}",
                                OperateUser = user,
                            };
                            logData.Add(log);
                        }
                        foreach (var oldValue in updateModels)
                        {
                            var updateModel = new OilViscosityRegionModel
                            {
                                PKID               = oldValue.PKID,
                                RegionId           = oldValue.RegionId,
                                OilViscosity       = oilViscosity,
                                CreateDateTime     = oldValue.CreateDateTime,
                                LastUpdateDateTime = DateTime.Now,
                                IsDeleted          = false
                            };
                            var updateResult = DalBaoYangOilViscosityPriorityConfig.UpdateOilViscosityRegionConfig(conn, updateModel);
                            if (!updateResult)
                            {
                                throw new Exception($"UpdateOilViscosityRegionConfig失败,{JsonConvert.SerializeObject(updateModel)}");
                            }

                            var log = new BaoYangOprLog
                            {
                                LogType     = "OilViscosityRegionConfig",
                                IdentityID  = updateModel.RegionId.ToString(),
                                OldValue    = JsonConvert.SerializeObject(oldValue),
                                NewValue    = JsonConvert.SerializeObject(updateModel),
                                Remarks     = $"更新机油粘度配置:{oilViscosity}",
                                OperateUser = user,
                            };
                            logData.Add(log);
                        }
                        foreach (var backupModel in backupModels)
                        {
                            var updateModel = new OilViscosityRegionModel
                            {
                                PKID               = backupModel.PKID,
                                RegionId           = backupModel.RegionId,
                                OilViscosity       = oilViscosity,
                                CreateDateTime     = backupModel.CreateDateTime,
                                LastUpdateDateTime = DateTime.Now,
                                IsDeleted          = false
                            };
                            var updateResult = DalBaoYangOilViscosityPriorityConfig.UpdateOilViscosityRegionConfig(conn, updateModel);
                            if (!updateResult)
                            {
                                throw new Exception($"UpdateOilViscosityRegionConfig失败,{JsonConvert.SerializeObject(updateModel)}");
                            }

                            var log = new BaoYangOprLog
                            {
                                LogType     = "OilViscosityRegionConfig",
                                IdentityID  = updateModel.RegionId.ToString(),
                                OldValue    = JsonConvert.SerializeObject(backupModel),
                                NewValue    = JsonConvert.SerializeObject(updateModel),
                                Remarks     = $"添加机油粘度配置:{oilViscosity}",
                                OperateUser = user,
                            };
                            logData.Add(log);
                        }
                        result = true;
                    });
                    foreach (var log in logData)
                    {
                        LoggerManager.InsertLog("BYOprLog", log);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error("MultiAddOrEditOilViscosityRegionConfig", ex);
            }
            return(result);
        }