Ejemplo n.º 1
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            //ProvinceDropdown:-1
            //CountryDropdown:-1
            //NutrientDivideDropdown:1

            //ProvinceDropdown:3
            //CountryDropdown:49
            //NutrientDivideDropdown:4
            int ProvinceNum    = Convert.ToInt32(context.Request["ProvinceDropdown"]);
            int CountryNum     = Convert.ToInt32(context.Request["CountryDropdown"]);
            int NutrientDivide = Convert.ToInt32(context.Request["NutrientDivideDropdown"]);

            BLL.FarmlandMeg          newFarmlandMegBll   = new BLL.FarmlandMeg();
            List <Model.FarmlandMeg> newFarmlandMegModel = new List <Model.FarmlandMeg>();
            string selectStr = "";

            //查询到满足条件的集合
            if (ProvinceNum == -1 && CountryNum == -1)
            {
                //表示所有都全选
                selectStr = " 0 = 0 ";
            }
            else if (ProvinceNum >= 0 && CountryNum == -1)
            {
                //表示只有“区县”全选
                selectStr = " City = " + ProvinceNum;
            }
            else
            {
                //
                selectStr = " City = " + ProvinceNum + " and County = " + CountryNum;
            }

            newFarmlandMegModel = newFarmlandMegBll.GetModelList(selectStr);
            //遍历List集合


            BLL.SoilNutrientMeg   newSoilNutrientMegBll   = new BLL.SoilNutrientMeg();
            Model.SoilNutrientMeg newSoilNutrientMegModel = new Model.SoilNutrientMeg();

            //获取最终数据结果
            List <SoilNutrientMegList> newSoilNutrientMegList = new List <SoilNutrientMegList>();

            foreach (var item in newFarmlandMegModel)
            {
                //获取id
                int id = item.Id;
                //获取土壤养分信息表的模板
                newSoilNutrientMegModel = newSoilNutrientMegBll.GetModelList(" All_id = " + id)[0];
                newSoilNutrientMegList.Add(new SoilNutrientMegList()
                {
                    sampleName    = item.Sample_name,
                    N             = Convert.ToDouble(newSoilNutrientMegModel.N),
                    P             = Convert.ToDouble(newSoilNutrientMegModel.P),
                    K             = Convert.ToDouble(newSoilNutrientMegModel.K),
                    HydrolyticN   = Convert.ToDouble(newSoilNutrientMegModel.HydrolyticN),
                    QuickP        = Convert.ToDouble(newSoilNutrientMegModel.QuickP),
                    QUicK         = Convert.ToDouble(newSoilNutrientMegModel.QUicK),
                    OrganicMatter = Convert.ToDouble(newSoilNutrientMegModel.OrganicMatter),
                    PH            = Convert.ToDouble(newSoilNutrientMegModel.PH)
                });
            }
            //创建序列化对象
            JavaScriptSerializer JavaScriptSerializer = new JavaScriptSerializer();
            //转换成JSON字符串
            var dataStr = JavaScriptSerializer.Serialize(newSoilNutrientMegList);

            context.Response.Write(dataStr);
        }
        public void ProcessRequest(HttpContext context)
        {
            Dictionary <SqlConnection, SqlTransaction> MyDict = new Dictionary <SqlConnection, SqlTransaction>();
            //用在处理存储表单的事物的时候判断是否完毕
            List <int> LFormTimes = new List <int>();

            LFormTimes.Add(0);

            //第一张表单  农田信息数据录入后返回的最大id
            int getMaxId = 0;
            //第一张表单  农田信息数据录入返回的结果值
            int resultNumFLM = 0;


            #region 第一张表单  农田信息

            Model.FarmlandMeg newFarmlandMegModel = new Model.FarmlandMeg();
            try
            {
                newFarmlandMegModel.City                  = context.Request["city"];
                newFarmlandMegModel.County                = context.Request["country"];
                newFarmlandMegModel.Town                  = context.Request["townName"];
                newFarmlandMegModel.Village               = context.Request["villageName"];
                newFarmlandMegModel.Sample_name           = context.Request["SampleName"];
                newFarmlandMegModel.Lon                   = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["LongitudeDegree"]) ? "0" : context.Request["LongitudeDegree"]) + Convert.ToDecimal(String.IsNullOrEmpty(context.Request["LongitudeMinute"]) ? "0" : context.Request["LongitudeMinute"]) / (decimal)60.0 + Convert.ToDecimal(String.IsNullOrEmpty(context.Request["LongitudeSecond"]) ? "0" : context.Request["LongitudeSecond"]) / (decimal)3600.0;
                newFarmlandMegModel.Lat                   = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["LatitudeDegree"]) ? "0" : context.Request["LatitudeDegree"]) + Convert.ToDecimal(String.IsNullOrEmpty(context.Request["LatitudeMinute"]) ? "0" : context.Request["LatitudeMinute"]) / (decimal)60.0 + Convert.ToDecimal(String.IsNullOrEmpty(context.Request["LatitudeSecond"]) ? "0" : context.Request["LatitudeSecond"]) / (decimal)3600.0;
                newFarmlandMegModel.Name_of_householder   = context.Request["NameOfHouseholder"];
                newFarmlandMegModel.Phone_number          = context.Request["PhoneNumber"];
                newFarmlandMegModel.Irrigation_Conditions = Convert.ToInt32(String.IsNullOrEmpty(context.Request["IrrigationConditions"]) ? "1" : context.Request["IrrigationConditions"]);
                newFarmlandMegModel.Acreage               = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["Acreage"]) ? "0" : context.Request["Acreage"]);
                //int.Parse(context.Request["Acreage"]);
                newFarmlandMegModel.Fertility = Convert.ToInt32(String.IsNullOrEmpty(context.Request["Fertility"]) ? "1" : context.Request["Fertility"]);
                newFarmlandMegModel.Weeds     = context.Request["Weeds"];

                //需要先将农田信息写入数据库
                //然后返回农田信息表中的最大ID给其他三张表的All_id使用
                //以建立四张表的联系

                BLL.FarmlandMeg newFarmlandMegBLL = new BLL.FarmlandMeg();

                //提交数据,返回插入的id
                resultNumFLM = newFarmlandMegBLL.Add(newFarmlandMegModel, MyDict);
                if (resultNumFLM > 0)
                {
                    //表示农田信息表单成功录入
                    //该表中的最大id
                    getMaxId = resultNumFLM;    // newFarmlandMegBLL.GetMaxId()-1;
                }
                else
                {
                    context.Response.Write("农田信息表单数据录入失败");
                    //将信息返回给客户端,停止该页的执行
                    context.Response.End();
                }
            }
            catch (Exception E)
            {
                //如有异常 将异常信息返回
                context.Response.Write(E.Message);
                //将信息返回给客户端,停止该页的执行
                context.Response.End();
            }
            #endregion
            if (getMaxId <= 0)
            {
                //如果getMaxId<=0表示第一张表插入失败
                context.Response.Write("信息录入失败");
                //将信息返回给客户端,停止该页的执行
                context.Response.End();
            }
            else
            {
                try
                {
                    #region 第二张表单 土壤养分信息

                    Model.SoilNutrientMeg newSoilNutrientMegModel = new Model.SoilNutrientMeg();
                    newSoilNutrientMegModel.N = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["N_SoilNutrient"]) ? "0" : context.Request["N_SoilNutrient"]);
                    newSoilNutrientMegModel.P = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["P_SoilNutrient"]) ? "0" : context.Request["P_SoilNutrient"]);

                    newSoilNutrientMegModel.K             = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["K_SoilNutrient"]) ? "0" : context.Request["K_SoilNutrient"]);
                    newSoilNutrientMegModel.HydrolyticN   = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["HydrolyticN_SoilNutrient"]) ? "0" : context.Request["HydrolyticN_SoilNutrient"]);
                    newSoilNutrientMegModel.QuickP        = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["QuickP_SoilNutrient"]) ? "0" : context.Request["QuickP_SoilNutrient"]);
                    newSoilNutrientMegModel.QUicK         = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["QuickK_SoilNutrient"]) ? "0" : context.Request["QuickK_SoilNutrient"]);
                    newSoilNutrientMegModel.OrganicMatter = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["OrganicMatter_SoilNutrient"]) ? "0" : context.Request["OrganicMatter_SoilNutrient"]);
                    newSoilNutrientMegModel.PH            = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["PH_SoilNutrient"]) ? "0" : context.Request["PH_SoilNutrient"]);
                    newSoilNutrientMegModel.All_id        = getMaxId;

                    //土壤养分信息录入
                    BLL.SoilNutrientMeg newSoilNutrientMegBll = new BLL.SoilNutrientMeg();

                    int resultNumSoil = newSoilNutrientMegBll.Add(newSoilNutrientMegModel, MyDict);

                    #endregion

                    #region 第三张表  作物信息

                    Model.CropsMeg newCropsMegModel = new Model.CropsMeg();
                    newCropsMegModel.CropType         = context.Request["CropType_CropInfo"];
                    newCropsMegModel.Varieties        = context.Request["Varieties_CropInfo"];
                    newCropsMegModel.Yield            = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["Yield_CropInfo"]) ? "0" : context.Request["Yield_CropInfo"]);
                    newCropsMegModel.urea             = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["urea_CropInfo"]) ? "0" : context.Request["urea_CropInfo"]);
                    newCropsMegModel.An               = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["An_CropInfo"]) ? "0" : context.Request["An_CropInfo"]);
                    newCropsMegModel.K                = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["K_CropInfo"]) ? "0" : context.Request["K_CropInfo"]);
                    newCropsMegModel.Organic_manure   = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["Organic_manure_CropInfo"]) ? "0" : context.Request["Organic_manure_CropInfo"]);
                    newCropsMegModel.Others           = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["Others_CropInfo"]) ? "0" : context.Request["Others_CropInfo"]);
                    newCropsMegModel.Irrigation_times = Convert.ToInt32(String.IsNullOrEmpty(context.Request["Irrigation_times"]) ? "0" : context.Request["Irrigation_times_CropInfo"]);
                    newCropsMegModel.All_id           = getMaxId;

                    //作物信息录入
                    BLL.CropsMeg newCropsMegBll = new BLL.CropsMeg();
                    int          resultNumCrops = newCropsMegBll.Add(newCropsMegModel, MyDict);
                    #endregion

                    #region 第四张表    农田管理建议

                    Model.FarmlandMSug newFarmlandMSugModel = new Model.FarmlandMSug();
                    newFarmlandMSugModel.CropType        = context.Request["CropType_ManaSug"];
                    newFarmlandMSugModel.Varieties       = context.Request["Varieties_ManaSug"];
                    newFarmlandMSugModel.TargetYield     = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["TargetYield_ManaSug"]) ? "0" : context.Request["TargetYield_ManaSug"]);
                    newFarmlandMSugModel.urea            = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["urea_ManaSug"]) ? "0" : context.Request["urea_ManaSug"]);
                    newFarmlandMSugModel.An              = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["An_ManaSug"]) ? "0" : context.Request["An_ManaSug"]);
                    newFarmlandMSugModel.K               = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["K_ManaSug"]) ? "0" : context.Request["K_ManaSug"]);
                    newFarmlandMSugModel.OrganicManure   = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["Organic_manure_ManaSug"]) ? "0" : context.Request["Organic_manure_ManaSug"]);
                    newFarmlandMSugModel.Others          = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["Others_ManaSug"]) ? "0" : context.Request["Others_ManaSug"]);
                    newFarmlandMSugModel.IrrigationTimes = Convert.ToInt32(String.IsNullOrEmpty(context.Request["Irrigation_times_ManaSug"]) ? "0" : context.Request["Irrigation_times_ManaSug"]);
                    newFarmlandMSugModel.SowingAmount    = Convert.ToDecimal(String.IsNullOrEmpty(context.Request["SowingAmount_ManaSug"]) ? "0" : context.Request["SowingAmount_ManaSug"]);
                    newFarmlandMSugModel.SowingMethod    = context.Request["SowingMethod_ManaSug"];
                    newFarmlandMSugModel.WeedControl     = context.Request["WeedControl_ManaSug"];
                    newFarmlandMSugModel.PestControl     = context.Request["PestControl_ManaSug"];
                    newFarmlandMSugModel.FieldManagement = context.Request["FieldManagement_ManaSug"];
                    newFarmlandMSugModel.Remarks         = context.Request["Remarks_ManaSug"];
                    newFarmlandMSugModel.All_id          = getMaxId;
                    //录入 农田管理建议
                    BLL.FarmlandMSug newFarmlandMSugBll = new BLL.FarmlandMSug();
                    int resultFLMS = newFarmlandMSugBll.Add(newFarmlandMSugModel, MyDict);
                    #endregion


                    //判断四张表是否都插入
                    if (resultFLMS > 0 && resultNumCrops > 0 && resultNumFLM > 0 && resultNumSoil > 0)
                    {
                        context.Response.Write("ok");
                    }
                    else
                    {
                        context.Response.Write("信息录入失败");
                    }
                }
                catch (Exception E)
                {
                    //如有异常 将异常信息返回
                    context.Response.Write(E.Message);
                    //将信息返回给客户端,停止该页的执行
                    context.Response.End();
                }
            }
        }
        public List <SoilAllInfo> GetListSoilAllInfo(int ProvinceNum, int CountryNum)
        {
            string strwhere = "";

            //查询到满足条件的集合
            if (ProvinceNum == -1 && CountryNum == -1)
            {
                //表示所有都全选
                strwhere = "1 > 0";
            }
            else if (ProvinceNum >= 0 && CountryNum == -1)
            {
                //表示只有“区县”全选
                strwhere = "City = " + ProvinceNum.ToString();
            }
            else
            {
                strwhere = "City = " + ProvinceNum.ToString() + " and County = " + CountryNum.ToString();
                //测试为全选
            }

            //农田基本数据对象
            SoilNutrientSoft.BLL.FarmlandMeg newFarmlandMegBll = new SoilNutrientSoft.BLL.FarmlandMeg();
            List <Model.FarmlandMeg>         TmpFarmlanMeg     = newFarmlandMegBll.GetModelList(strwhere);

            //作物数据
            SoilNutrientSoft.BLL.CropsMeg newCropsMegBll = new SoilNutrientSoft.BLL.CropsMeg();
            //农田建议
            SoilNutrientSoft.BLL.FarmlandMSug newFarmlandMSugBll = new SoilNutrientSoft.BLL.FarmlandMSug();
            //土壤养分信息
            SoilNutrientSoft.BLL.SoilNutrientMeg newSoilNutrientMegBll = new SoilNutrientSoft.BLL.SoilNutrientMeg();

            //通过查询出来的id来获取其他三张表的信息
            foreach (var tmp in TmpFarmlanMeg)
            {
                var tmpInfo = new SoilAllInfo();

                tmpInfo.CropsMegCity                 = tmp.City;
                tmpInfo.CropsMegCounty               = tmp.County;
                tmpInfo.CropsMegTown                 = tmp.Town;
                tmpInfo.CropsMegVillage              = tmp.Village;
                tmpInfo.CropsMegSampleName           = tmp.Sample_name;
                tmpInfo.CropsMegLon                  = tmp.Lon;
                tmpInfo.CropsMegLat                  = tmp.Lat;
                tmpInfo.CropsMegNameOfHouseholder    = tmp.Name_of_householder;
                tmpInfo.CropsMegPhoneNumber          = tmp.Phone_number;
                tmpInfo.CropsMegIrrigationConditions = tmp.Irrigation_Conditions;
                tmpInfo.CropsMegAcreage              = tmp.Acreage;
                tmpInfo.CropsMegFertility            = tmp.Fertility;
                tmpInfo.CropsMegWeeds                = tmp.Weeds;

                //根据id分别获取  作物数据    农田建议    土壤养分信息

                Model.CropsMeg tmpCropsMegs = (newCropsMegBll.GetModelList("id=" + tmp.Id.ToString()))[0];
                tmpInfo.CropsMegCropType       = tmpCropsMegs.CropType;
                tmpInfo.CropMegVarieties       = tmpCropsMegs.Varieties;
                tmpInfo.CropMegYield           = tmpCropsMegs.Yield;
                tmpInfo.CropMegUrea            = tmpCropsMegs.urea;
                tmpInfo.CropMegAn              = tmpCropsMegs.An;
                tmpInfo.CropMegK               = tmpCropsMegs.K;
                tmpInfo.CropMegOrganicManure   = tmpCropsMegs.Organic_manure;
                tmpInfo.CropMegOthers          = tmpCropsMegs.Others;
                tmpInfo.CropMegIrrigationTimes = tmpCropsMegs.Irrigation_times;

                Model.FarmlandMSug tmpFarmlandMSug = (newFarmlandMSugBll.GetModelList("id=" + tmp.Id.ToString()))[0];
                tmpInfo.MSugCropType        = tmpFarmlandMSug.CropType;
                tmpInfo.MSugVarieties       = tmpFarmlandMSug.Varieties;
                tmpInfo.MSugTargetYield     = tmpFarmlandMSug.TargetYield;
                tmpInfo.MSugUrea            = tmpFarmlandMSug.urea;
                tmpInfo.MSugAn              = tmpFarmlandMSug.An;
                tmpInfo.MSugK               = tmpFarmlandMSug.K;
                tmpInfo.MSugOrganicManure   = tmpFarmlandMSug.OrganicManure;
                tmpInfo.MSugOthers          = tmpFarmlandMSug.Others;
                tmpInfo.MSugIrrigationTimes = tmpFarmlandMSug.IrrigationTimes;
                tmpInfo.MSugSowingAmout     = tmpFarmlandMSug.SowingAmount;
                tmpInfo.MSugSowingMethod    = tmpFarmlandMSug.SowingMethod;
                tmpInfo.MSugWeedControl     = tmpFarmlandMSug.WeedControl;
                tmpInfo.MSugFieldManagement = tmpFarmlandMSug.FieldManagement;
                tmpInfo.MSugRemarkers       = tmpFarmlandMSug.Remarks;

                Model.SoilNutrientMeg tmpSoilNutrientMeg = (newSoilNutrientMegBll.GetModelList("id=" + tmp.Id.ToString()))[0];
                tmpInfo.SoilNutrientN             = tmpSoilNutrientMeg.N;
                tmpInfo.SoilNutrientP             = tmpSoilNutrientMeg.P;
                tmpInfo.SoilNutrientK             = tmpSoilNutrientMeg.K;
                tmpInfo.SoilNutrientHydrolyticN   = tmpSoilNutrientMeg.HydrolyticN;
                tmpInfo.SoilNutrientQuickP        = tmpSoilNutrientMeg.QUicK;
                tmpInfo.SoilNutrientQuickK        = tmpSoilNutrientMeg.QUicK;
                tmpInfo.SoilNutrientOrganicMatter = tmpSoilNutrientMeg.OrganicMatter;
                tmpInfo.SoilNutrientPh            = tmpSoilNutrientMeg.PH;

                ListSoilAllInfo.Add(tmpInfo);
            }
            return(ListSoilAllInfo);
        }