/// <summary>
        /// 判断当前节点是否已存在相同的
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public int  ExistNum(CarTypeModelEntity entity)
        {
            ///id=0,判断总数,ID>0判断除自己之外的总数
            string sql = @"Select count(1) from dbo.[CarTypeModel] WITH(NOLOCK) ";

            string where = "where ";
            if (entity.Id == 0)
            {
                where = where + "  (ModelName=@ModelName) ";
            }
            else
            {
                where = where + " id<>@Id and  (ModelName=@ModelName) ";
            }
            sql = sql + where;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            if (entity.Id > 0)
            {
                db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id);
            }

            db.AddInParameter(cmd, "@ModelName", DbType.String, entity.ModelName);
            object identity = db.ExecuteScalar(cmd);

            if (identity == null || identity == DBNull.Value)
            {
                return(0);
            }
            return(Convert.ToInt32(identity));
        }
        /// <summary>
        /// 读取记录列表。
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public IList <CarTypeModelEntity> GetCarTypeModelAll(int seriesid)
        {
            string sql = @"SELECT    [Id],[Code],[ParentCode],[BoxType],[Capacity],[CarYear],[ModelName],[SeriesId],[Status],[Engine] from dbo.[CarTypeModel] WITH(NOLOCK)	where SeriesId=@SeriesId and Status=1 Order By ModelName  ";
            IList <CarTypeModelEntity> entityList = new List <CarTypeModelEntity>();
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@SeriesId", DbType.Int32, seriesid);
            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                while (reader.Read())
                {
                    CarTypeModelEntity entity = new CarTypeModelEntity();
                    entity.Id         = StringUtils.GetDbInt(reader["Id"]);
                    entity.Code       = StringUtils.GetDbString(reader["Code"]);
                    entity.ParentCode = StringUtils.GetDbString(reader["ParentCode"]);
                    entity.BoxType    = StringUtils.GetDbString(reader["BoxType"]);
                    entity.Capacity   = StringUtils.GetDbString(reader["Capacity"]);
                    entity.CarYear    = StringUtils.GetDbInt(reader["CarYear"]);
                    entity.ModelName  = StringUtils.GetDbString(reader["ModelName"]);
                    entity.SeriesId   = StringUtils.GetDbInt(reader["SeriesId"]);
                    entity.Status     = StringUtils.GetDbInt(reader["Status"]);
                    entity.Engine     = StringUtils.GetDbString(reader["Engine"]);
                    entityList.Add(entity);
                }
            }
            return(entityList);
        }
        /// <summary>
        /// 根据主键值读取记录。如果数据库不存在这条数据将返回null
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public CarTypeModelEntity GetCarTypeModel(int id)
        {
            string    sql = @"SELECT  [Id],[Code],[ParentCode],[BoxType],[Capacity],[CarYear],[ModelName],[SeriesId],[Status],[Engine]
							FROM
							dbo.[CarTypeModel] WITH(NOLOCK)	
							WHERE [Id]=@id"                            ;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@Id", DbType.Int32, id);
            CarTypeModelEntity entity = new CarTypeModelEntity();

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                if (reader.Read())
                {
                    entity.Id         = StringUtils.GetDbInt(reader["Id"]);
                    entity.Code       = StringUtils.GetDbString(reader["Code"]);
                    entity.ParentCode = StringUtils.GetDbString(reader["ParentCode"]);
                    entity.BoxType    = StringUtils.GetDbString(reader["BoxType"]);
                    entity.Capacity   = StringUtils.GetDbString(reader["Capacity"]);
                    entity.CarYear    = StringUtils.GetDbInt(reader["CarYear"]);
                    entity.ModelName  = StringUtils.GetDbString(reader["ModelName"]);
                    entity.SeriesId   = StringUtils.GetDbInt(reader["SeriesId"]);
                    entity.Status     = StringUtils.GetDbInt(reader["Status"]);
                    entity.Engine     = StringUtils.GetDbString(reader["Engine"]);
                }
            }
            return(entity);
        }
        /// <summary>
        /// 读取记录列表。
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="columns">需要返回的列,不提供任何列名时默认将返回所有列</param>
        public IList <CarTypeModelEntity> GetCarTypeModelList(int pagesize, int pageindex, ref int recordCount)
        {
            string sql = @"SELECT   [Id],[Code],[ParentCode],[BoxType],[Capacity],[CarYear],[ModelName],[SeriesId],[Status],[Engine]
						FROM
						(SELECT ROW_NUMBER() OVER (ORDER BY Id desc) AS ROWNUMBER,
						 [Id],[Code],[ParentCode],[BoxType],[Capacity],[CarYear],[ModelName],[SeriesId],[Status],[Engine] from dbo.[CarTypeModel] WITH(NOLOCK)	
						WHERE  1=1 ) as temp 
						where rownumber BETWEEN ((@PageIndex - 1) * @PageSize + 1) AND @PageIndex * @PageSize"                        ;

            string sql2 = @"Select count(1) from dbo.[CarTypeModel] with (nolock) ";
            IList <CarTypeModelEntity> entityList = new List <CarTypeModelEntity>();
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@PageIndex", DbType.Int32, pageindex);
            db.AddInParameter(cmd, "@PageSize", DbType.Int32, pagesize);

            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                while (reader.Read())
                {
                    CarTypeModelEntity entity = new CarTypeModelEntity();
                    entity.Id         = StringUtils.GetDbInt(reader["Id"]);
                    entity.Code       = StringUtils.GetDbString(reader["Code"]);
                    entity.ParentCode = StringUtils.GetDbString(reader["ParentCode"]);
                    entity.BoxType    = StringUtils.GetDbString(reader["BoxType"]);
                    entity.Capacity   = StringUtils.GetDbString(reader["Capacity"]);
                    entity.CarYear    = StringUtils.GetDbInt(reader["CarYear"]);
                    entity.ModelName  = StringUtils.GetDbString(reader["ModelName"]);
                    entity.SeriesId   = StringUtils.GetDbInt(reader["SeriesId"]);
                    entity.Status     = StringUtils.GetDbInt(reader["Status"]);
                    entity.Engine     = StringUtils.GetDbString(reader["Engine"]);
                    entityList.Add(entity);
                }
            }
            cmd = db.GetSqlStringCommand(sql2);
            using (IDataReader reader = db.ExecuteReader(cmd))
            {
                if (reader.Read())
                {
                    recordCount = StringUtils.GetDbInt(reader[0]);
                }
                else
                {
                    recordCount = 0;
                }
            }
            return(entityList);
        }
        /// <summary>
        /// 根据主键值更新记录的全部字段(注意:该方法不会对自增字段、timestamp类型字段以及主键字段更新!如果要更新主键字段,请使用Update方法)。
        /// 如果数据库有数据被更新了则返回True,否则返回False
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="carTypeModel">待更新的实体对象</param>
        public int UpdateCarTypeModel(CarTypeModelEntity entity)
        {
            string    sql = @" UPDATE dbo.[CarTypeModel] SET
                       [Code]=@Code,[ParentCode]=@ParentCode,[BoxType]=@BoxType,[Capacity]=@Capacity,[CarYear]=@CarYear,[ModelName]=@ModelName,[SeriesId]=@SeriesId,[Status]=@Status,[Engine]=@Engine
                       WHERE [Id]=@id";
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@Id", DbType.Int32, entity.Id);
            db.AddInParameter(cmd, "@Code", DbType.String, entity.Code);
            db.AddInParameter(cmd, "@ParentCode", DbType.String, entity.ParentCode);
            db.AddInParameter(cmd, "@BoxType", DbType.String, entity.BoxType);
            db.AddInParameter(cmd, "@Capacity", DbType.String, entity.Capacity);
            db.AddInParameter(cmd, "@CarYear", DbType.Int32, entity.CarYear);
            db.AddInParameter(cmd, "@ModelName", DbType.String, entity.ModelName);
            db.AddInParameter(cmd, "@SeriesId", DbType.Int32, entity.SeriesId);
            db.AddInParameter(cmd, "@Status", DbType.Int32, entity.Status);
            db.AddInParameter(cmd, "@Engine", DbType.String, entity.Engine);
            return(db.ExecuteNonQuery(cmd));
        }
        /// <summary>
        /// 插入一条记录到表CarTypeModel,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0。
        /// 该方法提供给界面等UI层调用
        /// </summary>
        /// <param name="carTypeModel">要添加的CarTypeModel数据实体对象</param>
        public int AddCarTypeModel(CarTypeModelEntity carTypeModel)
        {
            if (carTypeModel.Id > 0)
            {
                return(UpdateCarTypeModel(carTypeModel));
            }
            else if (string.IsNullOrEmpty(carTypeModel.ModelName))
            {
                return((int)CommonStatus.ADD_Fail_Empty);
            }

            else if (CarTypeModelBLL.Instance.IsExist(carTypeModel))
            {
                return((int)CommonStatus.ADD_Fail_Exist);
            }
            else
            {
                return(CarTypeModelDA.Instance.AddCarTypeModel(carTypeModel));
            }
        }
        /// <summary>
        /// 插入一条记录到表CarTypeModel,如果表中存在自增字段,则返回值为新记录的自增字段值,否则返回0
        /// </summary>
        /// <param name="db">数据库操作对象</param>
        /// <param name="carTypeModel">待插入的实体对象</param>
        public int AddCarTypeModel(CarTypeModelEntity entity)
        {
            string    sql = @"insert into CarTypeModel( [Code],[ParentCode],[BoxType],[Capacity],[CarYear],[ModelName],[SeriesId],[Status],[Engine])VALUES
			            ( @Code,@ParentCode,@BoxType,@Capacity,@CarYear,@ModelName,@SeriesId,@Status,@Engine);
			SELECT SCOPE_IDENTITY();"            ;
            DbCommand cmd = db.GetSqlStringCommand(sql);

            db.AddInParameter(cmd, "@Code", DbType.String, entity.Code);
            db.AddInParameter(cmd, "@ParentCode", DbType.String, entity.ParentCode);
            db.AddInParameter(cmd, "@BoxType", DbType.String, entity.BoxType);
            db.AddInParameter(cmd, "@Capacity", DbType.String, entity.Capacity);
            db.AddInParameter(cmd, "@CarYear", DbType.Int32, entity.CarYear);
            db.AddInParameter(cmd, "@ModelName", DbType.String, entity.ModelName);
            db.AddInParameter(cmd, "@SeriesId", DbType.Int32, entity.SeriesId);
            db.AddInParameter(cmd, "@Status", DbType.Int32, entity.Status);
            db.AddInParameter(cmd, "@Engine", DbType.String, entity.Engine);
            object identity = db.ExecuteScalar(cmd);

            if (identity == null || identity == DBNull.Value)
            {
                return(0);
            }
            return(Convert.ToInt32(identity));
        }
Example #8
0
        /// <summary>
        /// 网站首页
        /// </summary>
        /// <returns></returns>
        public ActionResult List()
        {
            int classid        = QueryString.IntSafeQ("cl");
            int brandid        = QueryString.IntSafeQ("bd");
            int cartypemodelid = QueryString.IntSafeQ("ct");//车型
            int siteid         = QueryString.IntSafeQ("s");

            if (siteid == 0)
            {
                siteid = (int)SiteIdEnum.BathRoom;
            }

            int producttype = QueryString.IntSafeQ("pt");

            if (producttype == 0)
            {
                producttype = (int)ProductType.Normal;
            }
            int pageindex      = QueryString.IntSafeQ("pageindex");
            int _classmenutype = (int)ClassMenuTypeEnum.Normal;//分类列表选择类型
            int _pagesize      = CommonKey.PageSizeList;
            int _recordCount   = 0;
            int order_i        = 0;//默认排序
            int _classtype     = -1;

            _classtype        = QueryString.IntSafeQ("clt");
            ViewBag.ClassType = _classtype;
            if (pageindex == 0)
            {
                pageindex = 1;
            }
            ViewBag.SelectClassId  = classid;
            ViewBag.SelectBrandId  = brandid;
            ViewBag.CarTypeModelId = cartypemodelid;
            ViewBag.ProductType    = producttype;
            int    rediclassid = classid;
            string classidstr  = "";//分类子集

            //获取选择的品牌
            if (brandid > 0)
            {
                BrandEntity brand = BrandBLL.Instance.GetBrand(brandid, true);
                ViewBag.SelectBrandName = brand.Name;
            }
            //获取选择的车型
            if (cartypemodelid > 0)
            {
                CarTypeModelEntity cartypemodel = CarTypeModelBLL.Instance.GetCarTypeModel(cartypemodelid);
                ViewBag.SelectCarTypeName = cartypemodel.ModelName;
            }
            if (classid > 0)
            {
                ClassesFoundEntity _classentity = ClassesFoundBLL.Instance.GetClassesFound(classid, true);
                siteid = _classentity.SiteId;
                if (_classentity.RedirectClassId > 0)
                {
                    rediclassid = _classentity.RedirectClassId;
                }
                ViewBag.SelectClassName = _classentity.Name;
                //获取分类子集
                IList <int> classintlist = new List <int>();
                classintlist = ClassesFoundBLL.Instance.GetSubClassEndList(rediclassid);

                if (classintlist != null && classintlist.Count > 0)
                {
                    classidstr = string.Join("_", classintlist);
                }
                else
                {
                    classidstr = StringUtils.GetDbString(rediclassid);
                }
            }
            if (classid > 0)
            {
                ClassesFoundEntity _classentity = ClassesFoundBLL.Instance.GetClassesFound(classid, true);
                if (_classentity.RedirectClassId > 0)
                {
                    rediclassid = _classentity.RedirectClassId;
                }
                ViewBag.SelectClassName = _classentity.Name;
                IList <int> classintlist = new List <int>();
                if (_classentity.RedirectClassId > 0)
                {
                    classintlist = ClassesFoundBLL.Instance.GetSubClassEndList(_classentity.RedirectClassId);
                }
                else
                {
                    classintlist = ClassesFoundBLL.Instance.GetSubClassEndList(classid);
                }
                if (classintlist != null && classintlist.Count > 0)
                {
                    classidstr = string.Join("_", classintlist);
                }
                else if (_classentity.RedirectClassId > 0)
                {
                    classidstr = StringUtils.GetDbString(_classentity.RedirectClassId);
                }
                else
                {
                    classidstr = StringUtils.GetDbString(classid);
                }
            }
            else
            {
                IList <int> classintlist = new List <int>();
                classintlist = ClassesFoundBLL.Instance.GetSubClassEndListBySite(siteid);

                if (classintlist != null && classintlist.Count > 0)
                {
                    classidstr = string.Join("_", classintlist);
                }
            }
            IList <VWProductEntity> _productlist = new List <VWProductEntity>();// ProductBLL.Instance.GetProductListProcCYC(_pagesize, pageindex, ref _recordCount, classidstr, brandid, "", order_i, producttype,  cartypemodelid,jishi);

            MemberLoginEntity member = CookieBLL.GetLoginCookie();

            if (member != null && member.MemId > 0)
            {
                ViewBag.MemId     = member.MemId;
                ViewBag.MemStatus = member.Status;
                foreach (VWProductEntity _entity in _productlist)
                {
                    _entity.ActualPrice = Calculate.GetPrice(member.Status, member.IsStore, member.StoreType, member.MemGrade, _entity.TradePrice, _entity.Price, _entity.IsBP, _entity.DealerPrice);
                }
            }
            else
            {
                foreach (VWProductEntity _entity in _productlist)
                {
                    _entity.ActualPrice = 0;
                }
            }

            ViewBag.ProductList = _productlist;
            ViewBag.SiteId      = siteid;
            int maxpage = _recordCount / _pagesize;

            if (_recordCount % _pagesize > 0)
            {
                maxpage = maxpage + 1;
            }
            ViewBag.MaxPageIndex   = maxpage;
            ViewBag.ClassmMenuType = _classmenutype;
            return(View());
        }
        public string GetJsonList()
        {
            ListObj result      = new ListObj();
            int     classid     = QueryString.IntSafeQ("cl");
            int     brandid     = QueryString.IntSafeQ("bd");
            int     cartype     = QueryString.IntSafeQ("ct");
            int     producttype = QueryString.IntSafeQ("pt");
            int     jishi       = QueryString.IntSafeQ("js");

            if (jishi == 0)
            {
                jishi = (int)JiShiSongEnum.Normal;
            }
            if (producttype == 0)
            {
                producttype = (int)ProductType.Normal;
            }
            int siteid = QueryString.IntSafeQ("s");

            if (siteid <= 0)
            {
                siteid = (int)SiteEnum.Default;
            }
            int pageindex  = QueryString.IntSafeQ("pageindex");
            int pagesize   = CommonKey.PageSizeList;
            int record     = 0;
            int order_i    = 0;//默认排序
            int _classtype = -1;

            _classtype        = QueryString.IntSafeQ("clt");
            ViewBag.ClassType = _classtype;
            if (pageindex == 0)
            {
                pageindex = 1;
            }
            ViewBag.SelectClassId = classid;
            ViewBag.SelectBrandId = brandid;
            ViewBag.CarType       = cartype;
            int    _classmenutype = (int)ClassMenuTypeEnum.Normal; //分类列表选择类型
            int    rediclassid    = classid;
            string classidstr     = "";                            //分类子集

            //获取选择的车型
            if (cartype > 0)
            {
                CarTypeModelEntity cartypemodel = CarTypeModelBLL.Instance.GetCarTypeModel(cartype);
                ViewBag.SelectCarTypeName = cartypemodel.ModelName;
            }

            if (classid > 0)
            {
                ClassesFoundEntity _classentity = ClassesFoundBLL.Instance.GetClassesFound(classid, true);
                if (_classentity.RedirectClassId > 0)
                {
                    rediclassid = _classentity.RedirectClassId;
                }
                ViewBag.SelectClassName = _classentity.Name;
                IList <int> classintlist = new List <int>();
                if (_classentity.RedirectClassId > 0)
                {
                    classintlist = ClassesFoundBLL.Instance.GetSubClassEndList(_classentity.RedirectClassId);
                }
                else
                {
                    classintlist = ClassesFoundBLL.Instance.GetSubClassEndList(classid);
                }
                if (classintlist != null && classintlist.Count > 0)
                {
                    classidstr = string.Join("_", classintlist);
                }
                else if (_classentity.RedirectClassId > 0)
                {
                    classidstr = StringUtils.GetDbString(_classentity.RedirectClassId);
                }
                else
                {
                    classidstr = StringUtils.GetDbString(classid);
                }
            }
            else
            {
                IList <int> classintlist = new List <int>();
                classintlist = ClassesFoundBLL.Instance.GetSubClassEndListBySite(siteid);

                if (classintlist != null && classintlist.Count > 0)
                {
                    classidstr = string.Join("_", classintlist);
                }
            }


            IList <VWProductEntity> _productlist = new List <VWProductEntity>();// ProductBLL.Instance.GetProductListProcCYC(pagesize, pageindex, ref record, classidstr, brandid, "", order_i, producttype,  cartype ,jishi);

            MemberLoginEntity member = CookieBLL.GetLoginCookie();

            if (member != null && member.MemId > 0)
            {
                ViewBag.MemId     = member.MemId;
                ViewBag.MemStatus = member.Status;
                foreach (VWProductEntity _entity in _productlist)
                {
                    _entity.ActualPrice = Calculate.GetPrice(member.Status, member.IsStore, member.StoreType, member.MemGrade, _entity.TradePrice, _entity.Price, _entity.IsBP, _entity.DealerPrice);
                }
            }
            else
            {
                foreach (VWProductEntity _entity in _productlist)
                {
                    _entity.ActualPrice = 0;
                }
            }
            result.Total = record;
            result.List  = _productlist;

            string liststr = JsonJC.ObjectToJson(result);

            return(liststr);
        }
 /// <summary>
 /// 更新一条CarTypeModel记录。
 /// 该方法提供给界面等UI层调用
 /// </summary>
 /// <param name="carTypeModel">待更新的实体对象</param>
 /// <param name="columns">要更新的列名,不提供任何列名时默认将更新主键之外的所有列</param>
 public int UpdateCarTypeModel(CarTypeModelEntity carTypeModel)
 {
     return(CarTypeModelDA.Instance.UpdateCarTypeModel(carTypeModel));
 }
 /// <summary>
 /// 判断对象是否存在
 /// </summary>
 /// <param name="dicEnum"></param>
 /// <returns></returns>
 public bool IsExist(CarTypeModelEntity carTypeModel)
 {
     return(CarTypeModelDA.Instance.ExistNum(carTypeModel) > 0);
 }