Example #1
0
        /// <summary>
        /// 获取数据列表
        /// </summary>
        /// <param name="sw">参见模型</param>
        /// <returns>参见模型</returns>
        public static IEnumerable <PEST_REPORT_FORECAST_Model> getListModel(PEST_REPORT_FORECAST_SW sw)
        {
            var       result = new List <PEST_REPORT_FORECAST_Model>();
            DataTable dt     = BaseDT.PEST_REPORT_FORECAST.getDT(sw);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                PEST_REPORT_FORECAST_Model m = new PEST_REPORT_FORECAST_Model();
                m.PEST_REPORT_FORECASTID = dt.Rows[i]["PEST_REPORT_FORECASTID"].ToString();
                m.BYORGNO           = dt.Rows[i]["BYORGNO"].ToString();
                m.FORECASTYEAR      = dt.Rows[i]["FORECASTYEAR"].ToString();
                m.PESTBYCODE        = dt.Rows[i]["PESTBYCODE"].ToString();
                m.FORECASTSTAGECODE = dt.Rows[i]["FORECASTSTAGECODE"].ToString();
                m.FORECASTAREA      = dt.Rows[i]["FORECASTAREA"].ToString();
                result.Add(m);
            }
            dt.Clear();
            dt.Dispose();
            return(result);
        }
Example #2
0
        /// <summary>
        /// 获取单条记录
        /// </summary>
        /// <param name="sw">参见模型</param>
        /// <returns>参见模型</returns>
        public static PEST_REPORT_FORECAST_Model getModel(PEST_REPORT_FORECAST_SW sw)
        {
            DataTable dt = BaseDT.PEST_REPORT_FORECAST.getDT(sw);
            PEST_REPORT_FORECAST_Model m = new PEST_REPORT_FORECAST_Model();

            if (dt.Rows.Count > 0)
            {
                int i = 0;
                //数据库表字段
                m.PEST_REPORT_FORECASTID = dt.Rows[i]["PEST_REPORT_FORECASTID"].ToString();
                m.BYORGNO           = dt.Rows[i]["BYORGNO"].ToString();
                m.FORECASTYEAR      = dt.Rows[i]["FORECASTYEAR"].ToString();
                m.PESTBYCODE        = dt.Rows[i]["PESTBYCODE"].ToString();
                m.FORECASTSTAGECODE = dt.Rows[i]["FORECASTSTAGECODE"].ToString();
                m.FORECASTAREA      = dt.Rows[i]["FORECASTAREA"].ToString();
                //扩充字段
            }
            dt.Clear();
            dt.Dispose();
            return(m);
        }
Example #3
0
 /// <summary>
 /// 保存
 /// </summary>
 /// <param name="m">参见模型</param>
 /// <returns>参见模型</returns>
 public static Message Manager(PEST_REPORT_FORECAST_Model m)
 {
     return(BaseDT.PEST_REPORT_FORECAST.Save(m));
 }
Example #4
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="m">参见模型</param>
        /// <returns>参见模型</returns>
        public static Message Save(PEST_REPORT_FORECAST_Model m)
        {
            List <string> sqllist = new List <string>();

            string[] arrBYORGNO           = m.BYORGNO.Split(',');
            string[] arrFORECASTSTAGECODE = m.FORECASTSTAGECODE.Split(',');
            string[] arrFORECASTAREA      = m.FORECASTAREA.Split(',');
            if (arrBYORGNO.Length - 1 > 0)
            {
                #region 先删除
                StringBuilder sbDelete = new StringBuilder();
                sbDelete.AppendFormat("delete from PEST_REPORT_FORECAST where 1=1");
                sbDelete.AppendFormat(" and FORECASTYEAR='{0}'", m.FORECASTYEAR);
                sbDelete.AppendFormat(" and PESTBYCODE='{0}'", m.PESTBYCODE);
                if (m.TopORGNO.Substring(4, 11) == "00000000000") //所有市
                {
                    sbDelete.AppendFormat(" and SUBSTRING(BYORGNO,1,4)='{0}'", m.TopORGNO.Substring(0, 4));
                }
                else if (m.TopORGNO.Substring(6, 9) == "000000000" && m.TopORGNO.Substring(4, 11) != "00000000000") //所有县
                {
                    sbDelete.AppendFormat(" and SUBSTRING(BYORGNO,1,6)='{0}'", m.TopORGNO.Substring(0, 6));
                }
                else if (m.TopORGNO.Substring(9, 6) == "000000" && m.TopORGNO.Substring(6, 9) != "000000000") //所有乡镇
                {
                    sbDelete.AppendFormat(" and SUBSTRING(BYORGNO,1,9)='{0}'", m.TopORGNO.Substring(0, 9));
                }
                else if (m.TopORGNO.Substring(9, 6) != "000000") //所有村
                {
                    sbDelete.AppendFormat(" and SUBSTRING(BYORGNO,1,12)='{0}'", m.TopORGNO.Substring(0, 12));
                }
                else
                {
                    sbDelete.AppendFormat(" and BYORGNO='{0}'", m.TopORGNO);
                }
                DataBaseClass.ExeSql(sbDelete.ToString());
                #endregion

                #region 再更新
                StringBuilder sbInsert = new StringBuilder();
                sbInsert.AppendFormat("INSERT INTO PEST_REPORT_FORECAST( BYORGNO, FORECASTYEAR, PESTBYCODE, FORECASTSTAGECODE, FORECASTAREA)");
                for (int i = 0; i < arrBYORGNO.Length - 1; i++)
                {
                    #region 更新
                    if (isExists(new PEST_REPORT_FORECAST_SW {
                        BYORGNO = arrBYORGNO[i], FORECASTYEAR = m.FORECASTAREA, PESTBYCODE = m.PESTBYCODE, FORECASTSTAGECODE = arrFORECASTSTAGECODE[i]
                    }))
                    {
                        StringBuilder sbUpdate = new StringBuilder();
                        sbUpdate.AppendFormat("UPDATE PEST_REPORT_FORECAST SET ");
                        sbUpdate.AppendFormat(" FORECASTAREA='{0}',", ClsSql.saveNullField(arrFORECASTAREA[i]));
                        sbUpdate.AppendFormat(" where BYORGNO= '{0}'", ClsSql.EncodeSql(arrBYORGNO[i]));
                        sbUpdate.AppendFormat(" and FORECASTYEAR= '{0}'", ClsSql.EncodeSql(m.FORECASTYEAR));
                        sbUpdate.AppendFormat(" and PESTBYCODE= '{0}'", ClsSql.EncodeSql(m.PESTBYCODE));
                        sbUpdate.AppendFormat(" and FORECASTSTAGECODE= '{0}'", ClsSql.EncodeSql(arrFORECASTSTAGECODE[i]));
                        sqllist.Add(sbUpdate.ToString());
                    }
                    #endregion

                    #region 添加
                    else
                    {
                        sbInsert.AppendFormat(" select '{0}'", ClsSql.EncodeSql(arrBYORGNO[i]));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(m.FORECASTYEAR));
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(m.PESTBYCODE));;
                        sbInsert.AppendFormat(",'{0}'", ClsSql.EncodeSql(arrFORECASTSTAGECODE[i]));
                        sbInsert.AppendFormat(",{0}", ClsSql.saveNullField(arrFORECASTAREA[i]));
                        sbInsert.AppendFormat(" UNION ALL ");
                    }
                    #endregion
                }
                string insertStr = sbInsert.ToString();
                if (insertStr.Contains(" UNION ALL "))
                {
                    insertStr = insertStr.Substring(0, insertStr.Length - 10);
                    sqllist.Add(insertStr);
                }
                #endregion
            }
            var y = DataBaseClass.ExecuteSqlTran(sqllist);
            if (y >= 0)
            {
                return(new Message(true, "保存成功!", ""));
            }
            else
            {
                return(new Message(false, "保存失败,事物回滚机制!", ""));
            }
        }