Ejemplo n.º 1
0
        public List<ElementDetailQuery> QueryAllWares(ElementDetailQuery query, out int totalCount)
        {
            query.Replace4MySQL();
            StringBuilder sql = new StringBuilder();
            StringBuilder sqlWhere = new StringBuilder();
            StringBuilder sqlContent = new StringBuilder();
            StringBuilder sqlCount = new StringBuilder();
            try
            {

                sqlCount.AppendFormat(" select count(ed.element_id) as totalCount ");
                sqlContent.AppendFormat("select p.product_id,   c.parametername as element_type,ed.element_id,ed.element_name,ed.category_id,ed.category_name,ed.element_content,ed.element_link_url,d.parametername as element_link_mode,ed.element_sort,ed.element_status,ed.element_start,ed.element_end,ed.element_remark  ");
                sql.Append(" from element_detail ed ");
                sql.Append(" join area_packet ap on ap.packet_id=ed.packet_id ");
                sql.Append(" LEFT JOIN product p ON p.product_id = ed.element_content ");
                sql.Append(" left join (select parametername,parametercode from t_parametersrc where parametertype='element_type') c on ap.element_type=c.parametercode");
                sql.Append(" left join ( select parametername,parametercode from t_parametersrc where parametertype='element_link_mode') d on ed.element_link_mode=d.parametercode");
                sqlWhere.Append(" where ap.element_type=3 ");
                if (query.packet_id != 0)
                {
                    sqlWhere.AppendFormat(" and packet_id={0}", query.packet_id);
                }
                totalCount = 0;
                if (query.IsPage)
                {
                    DataTable _dt = _access.getDataTable(sqlCount.ToString() + sql.ToString() + sqlWhere.ToString());
                    if (_dt != null && _dt.Rows.Count > 0)
                    {
                        totalCount = Convert.ToInt32(_dt.Rows[0]["totalCount"]);
                    }
                    sqlWhere.AppendFormat(" limit {0},{1} ;", query.Start, query.Limit);
                }
                return _access.getDataTableForObj<ElementDetailQuery>(sqlContent.ToString() + sql.ToString() + sqlWhere.ToString());

            }
            catch (Exception ex)
            {
                throw new Exception("ElementDetailDao-->QueryAllWares-->" + sqlContent.ToString() + sql.ToString() + sqlWhere.ToString(), ex);
            }
        }
Ejemplo n.º 2
0
        public List<ElementDetailQuery> QueryAll(ElementDetailQuery query, out int totalCount)
        {
            try
            {
                query.Replace4MySQL();
                StringBuilder TempCol = new StringBuilder("SELECT p.product_id,ap.element_type,ap.packet_status,p.product_name,p.product_status,ap.packet_name, bd.element_id,ap.element_type,");//c.parametername as element_type_name,
                TempCol.Append(" bd.element_content,bd.packet_id,bd.element_name,bd.element_link_url,bd.element_link_mode,bd.element_remark,bd.element_sort,bd.element_status, bd.element_link_mode,");//d.parametername as element_linkmode,
                TempCol.Append("  bd.element_start,bd.element_end,bd.element_createdate,bd.element_updatedate,bd.category_id,bd.category_name,bd.element_img_big ");
                StringBuilder tempCount = new StringBuilder("select count(bd.element_id) as totalCount  ");
                StringBuilder mainSql = new StringBuilder(" FROM element_detail bd ");
                mainSql.Append("  join area_packet ap on ap.packet_id=bd.packet_id");
                mainSql.Append(" LEFT JOIN product p ON p.product_id = bd.element_content   ");
                //   mainSql.Append(" left join (select parametername,parametercode from t_parametersrc where parametertype='element_type') c on ap.element_type=c.parametercode");
                //  mainSql.Append(" left join (select parametername,parametercode from t_parametersrc where parametertype='element_link_mode') d on bd.element_link_mode=d.parametercode");
                StringBuilder condi = new StringBuilder();
                condi.Append(" and element_status!=2  ");
                if (query.packet_id != 0)
                {
                    condi.AppendFormat(" and ap.packet_id={0}  ", query.packet_id);
                }
                if (query.element_type != 0)
                {
                    condi.AppendFormat(" and ap.element_type={0}  ", query.element_type);
                }
                if (!string.IsNullOrEmpty(query.key))
                {

                    condi.AppendFormat(" and ( bd.element_name like N'%{0}%'  ", query.key);
                    condi.AppendFormat(" or  bd.element_remark like N'%{0}%'  ", query.key);
                    condi.AppendFormat(" or ap.packet_name like N'%{0}%'  ", query.key);
                    condi.AppendFormat("  or  bd.element_content like N'%{0}%') ", query.key);
                }
                if (!string.IsNullOrEmpty(query.searchcate))
                {
                    condi.AppendFormat(" and  bd.category_name like N'%{0}%'  ", query.searchcate);
                }
                if (query.product_status != 0 && query.element_type == 3)
                {
                    if (query.product_status == 5)
                    {
                        condi.Append(" and p.product_status=5  ");
                    }
                    else
                    {
                        condi.AppendFormat(" and p.product_status <> 5  ");
                    }

                }
                if (condi.Length > 0)
                {
                    mainSql.Append(" where ");
                    mainSql.Append(condi.ToString().TrimStart().Remove(0, 3));
                }
                mainSql.AppendFormat(" order by bd.element_id desc  ");
                totalCount = 0;
                if (query.IsPage)
                {
                    sql.Append(tempCount.ToString() + mainSql.ToString());
                    System.Data.DataTable _dt = _access.getDataTable(sql.ToString());
                    if (_dt != null && _dt.Rows.Count > 0)
                    {
                        totalCount = Convert.ToInt32(_dt.Rows[0]["totalCount"]);
                    }
                    mainSql.AppendFormat("  limit {0},{1}", query.Start, query.Limit);
                }
                IParametersrcImplDao _paradao = new ParametersrcDao(connStr);
                List<Parametersrc> parameterList = _paradao.QueryParametersrcByTypes("element_type", "element_link_mode");

                List<ElementDetailQuery> list = _access.getDataTableForObj<ElementDetailQuery>(TempCol.ToString() + mainSql.ToString());
                foreach (ElementDetailQuery q in list)
                {
                    var alist = parameterList.Find(m => m.ParameterType == "element_type" && m.ParameterCode == q.element_type.ToString());
                    var blist = parameterList.Find(m => m.ParameterType == "element_link_mode" && m.ParameterCode == q.element_link_mode.ToString());

                    if (alist != null)
                    {
                        q.element_type_name = alist.parameterName;
                    }
                    if (blist != null)
                    {
                        q.element_linkmode = blist.parameterName;
                    }
                }
                return list;
            }
            catch (Exception ex)
            {
                throw new Exception("ElementDetailDao-->QueryAll-->" + ex.Message + sql.ToString(), ex);
            }
        }
Ejemplo n.º 3
0
 public int UpdateStatus(ElementDetailQuery model)
 {
     model.Replace4MySQL();
     try
     {
         sql.AppendFormat(@"UPDATE element_detail set element_status='{1}',element_updatedate='{2}' ,update_userid='{3}' where element_id='{0}' ",
             model.element_id, model.element_status, CommonFunction.DateTimeToString(model.element_updatedate), model.update_userid);
         return _access.execCommand(sql.ToString());
     }
     catch (Exception ex)
     {
         throw new Exception("ElementDetailDao-->UpdateStatus-->" + ex.Message + sql.ToString(), ex);
     }
 }