public object Register(User user) { string token = ""; ResultMsg <User> resultmsg = new ResultMsg <User>(); HttpResponseMessage response = new HttpResponseMessage(); if (user.mobile.Length != 11 || !Regex.IsMatch(user.mobile, @"^[0-9]*[0-9][0-9]*$")) { resultmsg.status = false; resultmsg.msg = "手机号必须是11位有效数字!"; resultmsg.data = null; token = null; } else { PostgreSQL.OpenCon();//打开数据库 DateTime time = DateTime.Now.Date.AddDays(30); //插入数据 var trans = PostgreSQL.BeginTransaction(); string str_insert = "insert into tb_user(name,mobile,im_pwd,\"role\") values(@name,@mobile,@im_pwd,@role);"; try { var para1 = new DbParameter[4]; para1[0] = PostgreSQL.NewParameter("@name", user.mobile); para1[1] = PostgreSQL.NewParameter("@mobile", user.mobile); para1[2] = PostgreSQL.NewParameter("@im_pwd", SunGolden.Encryption.DEncrypt.Encrypt(user.mobile)); para1[3] = PostgreSQL.NewParameter("@role", user.role); var num = PostgreSQL.ExecuteNoneQuery(str_insert, trans, para1); PostgreSQL.CommitTransaction(trans); //重新查询 string str_select = "select * from tb_user where mobile = @mobile;"; var para2 = new DbParameter[1]; para2[0] = PostgreSQL.NewParameter("@mobile", user.mobile); var qUser = PostgreSQL.ExecuteTQuery <User>(str_select, null, para2); //返回信息 resultmsg.status = true; resultmsg.msg = "登录成功!"; resultmsg.data = qUser; token = SunGolden.Encryption.DEncrypt.Encrypt(user.mobile + "," + user.role + "," + time); } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = null; } PostgreSQL.CloseCon();//关闭数据库 } //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object CreateFeedback(FeedBack feed) { string token = null; //获取请求 var request = HttpContext.Current.Request; //声明响应 ResultMsg <User> resultmsg = new ResultMsg <User>(); HttpResponseMessage response = new HttpResponseMessage(); if (feed == null)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; } else { PostgreSQL.OpenCon(); var tans = PostgreSQL.BeginTransaction(); try { string str = "insert into tb_feedback (userid ,suggestion ,url)values(@userid,@suggestion,@url) ; "; var para = new DbParameter[3]; para[0] = PostgreSQL.NewParameter("@suggestion", feed.suggestion); para[1] = PostgreSQL.NewParameter("@url", feed.url); para[2] = PostgreSQL.NewParameter("@userid", feed.userid); int num = PostgreSQL.ExecuteNoneQuery(str, tans, para); PostgreSQL.CommitTransaction(tans); //返回信息 resultmsg.status = true; resultmsg.msg = "意见反馈成功!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(tans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } PostgreSQL.CloseCon(); } //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object AddField(Field field) { string token = null; //获取请求 var request = HttpContext.Current.Request; //声明响应 ResultMsg <Field> resultmsg = new ResultMsg <Field>(); HttpResponseMessage response = new HttpResponseMessage(); if (field == null || field.name == null || field.area <= 0 || field.currentcrop < -1 || field.sowdate > DateTime.Now.Date)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon(); //打开数据库 //查询用户所在农场编号 string strtoken = SunGolden.Encryption.DEncrypt.Decrypt(request.Headers["Token"]); //解密Token string str_mobile = strtoken.Substring(0, strtoken.IndexOf(",")); //查询数据库tb_user string str = string.Format("select * from tb_user where \"mobile\" =\'{0}\'", str_mobile); //string str ="select farm from tb_user where \"mobile\" = \'@mobile\'}"; var para = new DbParameter[1]; para[0] = PostgreSQL.NewParameter("@moblie", str_mobile); var qfarm = PostgreSQL.ExecuteTQuery <User>(str, null, para); if (qfarm.farm != field.farm)//判断添加地块的农场是否是登录用户所在的农场 { resultmsg.status = false; resultmsg.msg = "此地块不属于这个农场,无法添加!"; resultmsg.data = null; token = request.Headers["Token"]; } else { ////查询数据库 //string str_select = "select * from tb_field where \"name\" = @name and farm=@farm"; //var para1 = new DbParameter[2]; //para1[0] = PostgreSQL.NewParameter("@name", field.name); //para1[1] = PostgreSQL.NewParameter("@farm", field.farm); ////var qField = PostgreSQL.ExecuteTableQuery(str_select, null, para1); //var qField = PostgreSQL.ExecuteTQuery<Field>(str_select, null, para1); ////判断地块名是否存在 //if (qField != null) //{ // resultmsg.status = false; // resultmsg.msg = "地块名已经存在,请重新命名!"; // resultmsg.data = null; // token = request.Headers["Token"]; //} //else //{ //数据检查 DataAuth auth = new DataAuth(); if (field.currentcrop == -1) { field.phenophase = -1; field.sowdate = Convert.ToDateTime("0001/1/1 0:00:00"); #region//查询数据库 string str_insert = string.Format("insert into tb_field(farm,\"name\",geom,area,createdate,currentcrop,sowdate,phenophase,thumb) values(@farm,@name,st_geomfromtext(\'{0}\'),@area,@createdate,@currentcrop,@sowdate,@phenophase,@thumb);", field.geom); //string str_insert = "insert into tb_field(farm,\"name\",geom,area,createdate,currentcrop,sowdate,phenophase,thumb) values(@farm,@name,@geom,@area,@createdate,@currentcrop,@sowdate,@phenophase,@thumb);"; var trans = PostgreSQL.BeginTransaction(); try { var para2 = new DbParameter[9]; para2[0] = PostgreSQL.NewParameter("@farm", field.farm); para2[1] = PostgreSQL.NewParameter("@name", field.name); para2[2] = PostgreSQL.NewParameter("@geom", field.geom); para2[3] = PostgreSQL.NewParameter("@area", field.area); para2[4] = PostgreSQL.NewParameter("@createdate", DateTime.Now.Date); para2[5] = PostgreSQL.NewParameter("@currentcrop", field.currentcrop); para2[6] = PostgreSQL.NewParameter("@sowdate", field.sowdate); para2[7] = PostgreSQL.NewParameter("@phenophase", field.phenophase); para2[8] = PostgreSQL.NewParameter("thumb", field.thumb); var num = PostgreSQL.ExecuteNoneQuery(str_insert, trans, para2); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = "添加地块成功!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } #endregion } else if (field.currentcrop != -1 && auth.crop(field.currentcrop)) { if (field.sowdate.ToString() != "0001/1/1 0:00:00") { field.phenophase = auth.phentype(field.sowdate, field.currentcrop); //获取当前物候期 #region //查询数据库 string str_insert = string.Format("insert into tb_field(farm,\"name\",geom,area,createdate,currentcrop,sowdate,phenophase,thumb) values(@farm,@name,st_geomfromtext(\'{0}\'),@area,@createdate,@currentcrop,@sowdate,@phenophase,@thumb);", field.geom); //string str_insert = "insert into tb_field(farm,\"name\",geom,area,createdate,currentcrop,sowdate,phenophase,thumb) values(@farm,@name,@geom,@area,@createdate,@currentcrop,@sowdate,@phenophase,@thumb);"; var trans = PostgreSQL.BeginTransaction(); try { var para2 = new DbParameter[9]; para2[0] = PostgreSQL.NewParameter("@farm", field.farm); para2[1] = PostgreSQL.NewParameter("@name", field.name); para2[2] = PostgreSQL.NewParameter("@geom", field.geom); para2[3] = PostgreSQL.NewParameter("@area", field.area); para2[4] = PostgreSQL.NewParameter("@createdate", DateTime.Now.Date); para2[5] = PostgreSQL.NewParameter("@currentcrop", field.currentcrop); para2[6] = PostgreSQL.NewParameter("@sowdate", field.sowdate); para2[7] = PostgreSQL.NewParameter("@phenophase", field.phenophase); para2[8] = PostgreSQL.NewParameter("thumb", field.thumb); var num = PostgreSQL.ExecuteNoneQuery(str_insert, trans, para2); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = "添加地块成功!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } #endregion } else { //返回信息 resultmsg.status = false; resultmsg.msg = "输入的种植日期不符合要求,请重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; } } else { //返回信息 resultmsg.status = false; resultmsg.msg = "输入的作物id不存在!"; resultmsg.data = null; token = request.Headers["Token"]; } } //} PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object DeleteField(int id) //Field field) { string token = null; //获取请求 var request = HttpContext.Current.Request; //声明响应 ResultMsg <Field> resultmsg = new ResultMsg <Field>(); HttpResponseMessage response = new HttpResponseMessage(); PostgreSQL.OpenCon(); //打开数据库 //查询用户所在农场编号 string strtoken = SunGolden.Encryption.DEncrypt.Decrypt(request.Headers["Token"]); //解密Token string str_mobile = strtoken.Substring(0, strtoken.IndexOf(",")); //查询tb_user数据库 string str = string.Format("select * from tb_user where \"mobile\" =\'{0}\'", str_mobile); //string str ="select farm from tb_user where \"mobile\" = \'@mobile\'}"; var para = new DbParameter[1]; para[0] = PostgreSQL.NewParameter("@moblie", str_mobile); var quser = PostgreSQL.ExecuteTQuery <User>(str, null, para); //查询tb_field数据库 string str_select = "select * from tb_field where id = @id;"; var para1 = new DbParameter[1]; para1[0] = PostgreSQL.NewParameter("@id", id); var qField = PostgreSQL.ExecuteTQuery <Field>(str_select, null, para1); if (qField == null)//判断地块是否存在 { resultmsg.status = false; resultmsg.msg = "地块不存在!"; resultmsg.data = null; token = request.Headers["Token"]; } else { if (quser.farm != qField.farm)//判断地块是否属于农场 { resultmsg.status = false; resultmsg.msg = "此地块不属于这个农场,无法删除!"; resultmsg.data = null; token = request.Headers["Token"]; } else { var trans = PostgreSQL.BeginTransaction(); try { //查询数据库 string str_delete = "delete from tb_field where id = @id;";//name = @name and farm = @farm;"; var para3 = new DbParameter[1]; para3[0] = PostgreSQL.NewParameter("@id", id); var num = PostgreSQL.ExecuteNoneQuery(str_delete, trans, para3); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = "成功删除地块信息!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } } } PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object BatchField(Field field) { string token = null; //获取请求 var request = HttpContext.Current.Request; //声明响应 ResultMsg <Field> resultmsg = new ResultMsg <Field>(); HttpResponseMessage response = new HttpResponseMessage(); if (field == null || field.currentcrop < -1 || field.sowdate > DateTime.Now.Date) //判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon(); //打开数据库 //查询数据库tb_field string str_select = "select * from tb_field where id = @id;"; //name = @name and farm = @farm;"; var para1 = new DbParameter[1]; para1[0] = PostgreSQL.NewParameter("@id", field.id); var qField = PostgreSQL.ExecuteTQuery <Field>(str_select, null, para1); if (qField == null) //判断地块是否存在 { resultmsg.status = false; resultmsg.msg = "地块不存在!"; resultmsg.data = null; token = request.Headers["Token"]; } else { //查询用户所在农场编号 string strtoken = SunGolden.Encryption.DEncrypt.Decrypt(request.Headers["Token"]); //解密Token string str_mobile = strtoken.Substring(0, strtoken.IndexOf(",")); //查询数据库tb_user string str = string.Format("select * from tb_user where \"mobile\" =\'{0}\'", str_mobile); //string str ="select farm from tb_user where \"mobile\" = \'@mobile\'}"; var para = new DbParameter[1]; para[0] = PostgreSQL.NewParameter("@moblie", str_mobile); var quser = PostgreSQL.ExecuteTQuery <User>(str, null, para); if (quser.farm != qField.farm) { resultmsg.status = false; resultmsg.msg = "此地块不属于这个农场,无法修改!"; resultmsg.data = null; token = request.Headers["Token"]; } else { //数据检查 DataAuth auth = new DataAuth(); if (field.currentcrop == -1) { //field.phenophase = -1;//获取当前物候期 field.sowdate = Convert.ToDateTime("0001/1/1 0:00:00"); #region //查询数据库 string str_update = "update tb_field set currentcrop = @currentcrop ,phenophase = @phenophase,sowdate=@sowdate,createdate= @createdate where id=@id;"; //currentcrop = @currentcrop and farm = @farm"; var trans = PostgreSQL.BeginTransaction(); try { var para2 = new DbParameter[5]; para2[0] = PostgreSQL.NewParameter("@currentcrop", field.currentcrop); para2[1] = PostgreSQL.NewParameter("@id", field.id); para2[2] = PostgreSQL.NewParameter("@sowdate", field.sowdate); para2[3] = PostgreSQL.NewParameter("@phenophase", -1); para2[4] = PostgreSQL.NewParameter("@createdate", DateTime.Now.Date); var num = PostgreSQL.ExecuteNoneQuery(str_update, trans, para2); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = "成功批量修改地块信息!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } #endregion } else if (field.currentcrop != -1 && auth.crop(field.currentcrop)) { if (field.sowdate.ToString() != "0001/1/1 0:00:00") { field.phenophase = auth.phentype(field.sowdate, field.currentcrop); //获取当前物候期 #region //查询数据库 string str_update = "update tb_field set sowdate = @sowdate ,currentcrop = @currentcrop ,phenophase = @phenophase,createdate= @createdate where id=@id;"; //currentcrop = @currentcrop and farm = @farm"; var trans = PostgreSQL.BeginTransaction(); try { var para2 = new DbParameter[5]; para2[0] = PostgreSQL.NewParameter("@currentcrop", field.currentcrop); para2[1] = PostgreSQL.NewParameter("@id", field.id); para2[2] = PostgreSQL.NewParameter("@sowdate", field.sowdate); para2[3] = PostgreSQL.NewParameter("phenophase", field.phenophase); para2[4] = PostgreSQL.NewParameter("@createdate", DateTime.Now.Date); var num = PostgreSQL.ExecuteNoneQuery(str_update, trans, para2); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = "成功批量修改地块信息!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } #endregion } else { //返回信息 resultmsg.status = false; resultmsg.msg = "输入的种植日期不符合要求,请重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; } } else { //返回信息 resultmsg.status = false; resultmsg.msg = "输入的当前作物id不存在!"; resultmsg.data = null; token = request.Headers["Token"]; } } } PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object UpdateUser(User user) { string token = null; //获取请求 var request = HttpContext.Current.Request; //声明响应 ResultMsg <User> resultmsg = new ResultMsg <User>(); HttpResponseMessage response = new HttpResponseMessage(); if (user == null && user.name == null)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } if (user.mobile.Length != 11 || !Regex.IsMatch(user.mobile, @"^[0-9]*[0-9][0-9]*$"))//判断更换的手机号是否是纯数字 { resultmsg.status = false; resultmsg.msg = "手机号必须是11位有效数字!"; resultmsg.data = null; token = null; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon(); //打开数据库 //判断用户 string strtoken = SunGolden.Encryption.DEncrypt.Decrypt(request.Headers["Token"]); //解密Token string str_mobile = strtoken.Substring(0, strtoken.IndexOf(",")); //查询数据库 string str1 = string.Format("select * from tb_user where \"mobile\" =\'{0}\'", str_mobile); //string str ="select farm from tb_user where \"mobile\" = \'@mobile\'}"; var para2 = new DbParameter[1]; para2[0] = PostgreSQL.NewParameter("@moblie", str_mobile); var quser = PostgreSQL.ExecuteTQuery <User>(str1, null, para2); if (quser.id == user.id)//判断输入id是否是登陆用户的id { var trans = PostgreSQL.BeginTransaction(); string str_update = ""; try { var num = 0; if (quser.role == 0)//判断用户角色是否是农场主,若是农场主获取农场id,否则farm=-1 { str_update = "update tb_user set \"name\"= @name,mobile= @mobile,\"role\"= @role ,farm=@farm where id=@id;"; var para = new DbParameter[5]; para[0] = PostgreSQL.NewParameter("@name", user.name); para[1] = PostgreSQL.NewParameter("@mobile", user.mobile); para[2] = PostgreSQL.NewParameter("@role", user.role); para[3] = PostgreSQL.NewParameter("@id", user.id); para[4] = PostgreSQL.NewParameter("@farm", user.farm); num = PostgreSQL.ExecuteNoneQuery(str_update, trans, para); } else { str_update = "update tb_user set \"name\"= @name,mobile= @mobile,\"role\"= @role,farm=@farm where id=@id;"; var para = new DbParameter[4]; para[0] = PostgreSQL.NewParameter("@name", user.name); para[1] = PostgreSQL.NewParameter("@mobile", user.mobile); para[2] = PostgreSQL.NewParameter("@role", user.role); para[3] = PostgreSQL.NewParameter("@id", user.id); para[4] = PostgreSQL.NewParameter("@farm", -1); num = PostgreSQL.ExecuteNoneQuery(str_update, trans, para); } PostgreSQL.CommitTransaction(trans); //查询数据库 string str_select = "select * from tb_user where mobile = @mobile;"; var para1 = new DbParameter[1]; para1[0] = PostgreSQL.NewParameter("@mobile", user.mobile); var qUser = PostgreSQL.ExecuteTQuery <User>(str_select, null, para1); //返回信息 resultmsg.status = true; resultmsg.msg = "成功更新用户资料!"; resultmsg.data = qUser; token = request.Headers["Token"];; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } } else { //返回信息 resultmsg.status = true; resultmsg.msg = "输入的id,不是登录用户,无法更新用户资料!"; resultmsg.data = null; token = request.Headers["Token"]; } PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object AddFieldLive(Field_live live) { string token = null; //获取请求 var request = HttpContext.Current.Request; //响应 ResultMsg <Field_live> resultmsg = new ResultMsg <Field_live>(); HttpResponseMessage response = new HttpResponseMessage(); if (live == null || live.gps == null || live.picture == null)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon(); //打开数据库 //判断用户 string strtoken = SunGolden.Encryption.DEncrypt.Decrypt(request.Headers["Token"]); //解密Token string str_mobile = strtoken.Substring(0, strtoken.IndexOf(",")); //查询数据库 string str1 = string.Format("select * from tb_user where \"mobile\" =\'{0}\'", str_mobile); var para1 = new DbParameter[1]; para1[0] = PostgreSQL.NewParameter("@moblie", str_mobile); var quser = PostgreSQL.ExecuteTQuery <User>(str1, null, para1); if (live.collector != quser.id) { //返回信息 resultmsg.status = false; resultmsg.msg = "输入的采集人不是登陆用户!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } ////查询数据库,判断地块是否存在 //string str_select = "select * from tb_field_live where field = @field"; //var para = new DbParameter[1]; //para[0] = PostgreSQL.NewParameter("@field", live.field); //var qLive = PostgreSQL.ExecuteTQuery<Field_live>(str_select, null, para); //if (qLive != null) //{ // //返回信息 // resultmsg.status = false; // resultmsg.msg = "地块实况已经存在,是否要重新添加!"; // resultmsg.data = null; // token = request.Headers["Token"]; //} //else //{ //数据检查是否超出界限 DataAuth auth = new DataAuth(); if (auth.field(live.field) && auth.growthtype(live.growth) && auth.moisturetype(live.moisture) && auth.pesttype(live.pest) && auth.diseasetype(live.disease)) { //string str_insert =string.Format("insert into tb_field_live(field,growth,moisture,disease,pest,collector,collect_date,gps,picture) values(@field,@growth,@moisture,@disease,@pest,@collector,@collect_date,st_geomfromtext(\'{0}\'),@picture) ", live.gps); string str_insert = "insert into tb_field_live(field,growth,moisture,disease,pest,collector,collect_date,gps,picture) values(@field,@growth,@moisture,@disease,@pest,@collector,@collect_date,@gps,@picture;"; var trans = PostgreSQL.BeginTransaction(); try { var para2 = new DbParameter[9]; para2[0] = PostgreSQL.NewParameter("@field", live.field); para2[1] = PostgreSQL.NewParameter("@growth", live.growth); para2[2] = PostgreSQL.NewParameter("@moisture", live.moisture); para2[3] = PostgreSQL.NewParameter("@disease", live.disease); para2[4] = PostgreSQL.NewParameter("@pest", live.pest); para2[5] = PostgreSQL.NewParameter("@collector", live.collector); para2[6] = PostgreSQL.NewParameter("@collect_date", DateTime.Now.Date); para2[7] = PostgreSQL.NewParameter("@gps", live.gps); para2[8] = PostgreSQL.NewParameter("@picture", live.picture); var list = PostgreSQL.ExecuteNoneQuery(str_insert, trans, para2); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = "添加指定地块的实况信息成功!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } } else { //返回信息 resultmsg.status = false; resultmsg.msg = "输入的长势类型/土壤湿度类型/病害类型/虫害类型数据,其中有超出界限的数据,请检查!"; resultmsg.data = null; token = request.Headers["Token"]; } //} PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object UpdateFarm(Farm farm) { string token = null; //获取请求 var request = HttpContext.Current.Request; //声明响应 ResultMsg <Farm> resultmsg = new ResultMsg <Farm>(); HttpResponseMessage response = new HttpResponseMessage(); if (farm == null || farm.name == null || farm.address == null)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon(); //打开数据库 //查询数据库 string str_select = "select * from tb_farm where id = @id;"; //name = @name "; var para = new DbParameter[1]; para[0] = PostgreSQL.NewParameter("@id", farm.id); var qFarm = PostgreSQL.ExecuteTQuery <Farm>(str_select, null, para); if (qFarm == null)//判断此id的农场是否存在 { resultmsg.status = false; resultmsg.msg = "农场不存在!"; resultmsg.data = null; token = request.Headers["Token"]; } else { string str_update = "update tb_farm set \"name\" = @name,address =@address"; var trans = PostgreSQL.BeginTransaction(); try { var para1 = new DbParameter[3]; para1[0] = PostgreSQL.NewParameter("@id", farm.id); para1[1] = PostgreSQL.NewParameter("@name", farm.name); para1[2] = PostgreSQL.NewParameter("@address", farm.address); var num = PostgreSQL.ExecuteNoneQuery(str_update, trans, para1); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = "成功更新农场信息!"; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } } PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object CreatFarm(Farm farm) { string token = null; //获取请求 var request = HttpContext.Current.Request; token = request.Headers["Token"]; DataAuth auth = new DataAuth(); var role = auth.RoleType(token); //响应 ResultMsg <Farm> resultmsg = new ResultMsg <Farm>(); HttpResponseMessage response = new HttpResponseMessage(); if (farm == null || farm.name == null || farm.address == null)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon(); //打开数据库 if (role == "0") //"农场主"判断是否是农场主,如果用户是农场主,则创建农场 { var para = new DbParameter[2]; //string str_select = string.Format("select * from tb_farm where name=@name and address ->>'prov' like \'{0}\'and address ->> 'city' like \'{1}\' and address ->> 'coun' like \'{2}\'", // farm.address["prov"].ToString(), farm.address["city"].ToString(), farm.address["coun"].ToString()); //string str_select = string.Format("select * from tb_farm where name=@name and address ::TEXT = (\'{0}\' ::json)::TEXT", farm.address.ToString()); string str_select = "select * from tb_farm where name=@name and address =@address"; para[0] = PostgreSQL.NewParameter("@name", farm.name); para[1] = PostgreSQL.NewParameter("@address", farm.address); var qfarm = PostgreSQL.ExecuteTQuery <Farm>(str_select, null, para); if (qfarm != null)//判断此地址的农场名是否存在 { resultmsg.status = false; resultmsg.msg = "农场名已经存在,请重新命名!"; resultmsg.data = qfarm; token = request.Headers["Token"]; } else { var trans = PostgreSQL.BeginTransaction(); try { string str_insert = "insert into tb_farm(\"name\",address) values(@name,@address);"; var para1 = new DbParameter[2]; para1[0] = PostgreSQL.NewParameter("@name", farm.name); para1[1] = PostgreSQL.NewParameter("@address", farm.address); //para1[2] = PostgreSQL.NewParameter("@thumb", farm.thumb); var num = PostgreSQL.ExecuteNoneQuery(str_insert, trans, para1); PostgreSQL.CommitTransaction(trans); //查询 var para2 = new DbParameter[2]; para2[0] = PostgreSQL.NewParameter("@name", farm.name); para2[1] = PostgreSQL.NewParameter("@address", farm.address); var qfarm1 = PostgreSQL.ExecuteTQuery <Farm>(str_select, null, para2); //返回信息 resultmsg.status = true; resultmsg.msg = "成功创建农场!"; resultmsg.data = qfarm1; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } } } else { resultmsg.status = false; resultmsg.msg = "不是农场主无法创建农场!"; resultmsg.data = null; token = request.Headers["Token"]; } PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object ProcessTask(UserTask task) { string token = null; //获取请求 var request = HttpContext.Current.Request; //响应 ResultMsg <UserTask> resultmsg = new ResultMsg <UserTask>(); HttpResponseMessage response = new HttpResponseMessage(); if (task == null)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon();//打开数据库 //查询数据库 string str_select = "select * from tb_user_task where creator= @creator and \"type\"=@type ;"; var para = new DbParameter[2]; para[0] = PostgreSQL.NewParameter("@creator", task.creator); para[1] = PostgreSQL.NewParameter("@type", task.type); var qselect = PostgreSQL.ExecuteTableQuery(str_select, null, para); if (qselect != null && qselect.Rows.Count == 1) //判断任务是否存在,并且只有一个 { if (Convert.ToInt16(qselect.Rows[0]["state"]) == 0) //判断处理状态 { var trans = PostgreSQL.BeginTransaction(); string str_update = "update tb_user_task set state=1,agree=@agree ,processdate=@processdate where farm= @farm and creator= @creator;"; try { var para1 = new DbParameter[4]; para1[0] = PostgreSQL.NewParameter("@creator", task.creator); //para1[1] = PostgreSQL.NewParameter("@state", 1); para1[1] = PostgreSQL.NewParameter("@agree", task.agree); para1[2] = PostgreSQL.NewParameter("@farm", task.farm); para1[3] = PostgreSQL.NewParameter("@processdate", DateTime.Now.Date); var num = PostgreSQL.ExecuteNoneQuery(str_update, trans, para1); PostgreSQL.CommitTransaction(trans); if (task.agree == true)//同意加入农场 { var trans1 = PostgreSQL.BeginTransaction(); string str_user = "******"; var para2 = new DbParameter[2]; para2[0] = PostgreSQL.NewParameter("@farm", task.farm); para2[1] = PostgreSQL.NewParameter("@id", task.creator); var num1 = PostgreSQL.ExecuteNoneQuery(str_user, trans1, para2); PostgreSQL.CommitTransaction(trans1); //返回信息 resultmsg.status = true; resultmsg.msg = "任务已处理,同意加入农场!"; resultmsg.data = null; token = request.Headers["Token"]; } else//不同意加入农场 { //返回信息 resultmsg.status = false; resultmsg.msg = "任务已处理,不同意加入农场!"; resultmsg.data = null; token = request.Headers["Token"]; } #region //查询 ////再次查询 //var para2 = new DbParameter[3]; //para2[0] = PostgreSQL.NewParameter("@creator", task.creator); //para2[1] = PostgreSQL.NewParameter("@farm", task.farm); //para2[2] = PostgreSQL.NewParameter("@type", task.type); //var qlist = PostgreSQL.ExecuteTQuery<UserTask>(str_select, null, para2); //返回信息 //resultmsg.status = true; //resultmsg.msg = task.description; //resultmsg.data = qlist; //token = request.Headers["Token"]; #endregion } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } } else { resultmsg.status = false; resultmsg.msg = "任务类型已处理!"; resultmsg.data = null; token = request.Headers["Token"]; } } else { resultmsg.status = false; resultmsg.msg = "任务类型不存在!"; resultmsg.data = null; token = request.Headers["Token"]; } PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }
public object CreateTask(UserTask task) { string token = null; //获取请求 var request = HttpContext.Current.Request; //响应 ResultMsg <UserTask> resultmsg = new ResultMsg <UserTask>(); HttpResponseMessage response = new HttpResponseMessage(); if (task == null || task.description == null)//判断输入的数据格式是否正确 { resultmsg.status = false; resultmsg.msg = "输入的数据格式不正确,请检查后重新输入!"; resultmsg.data = null; token = request.Headers["Token"]; //添加响应头 var resultObj1 = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj1); return(response); } PostgreSQL.OpenCon(); //打开数据库 //判断用户 string strtoken = SunGolden.Encryption.DEncrypt.Decrypt(request.Headers["Token"]); //解密Token string str_mobile = strtoken.Substring(0, strtoken.IndexOf(",")); //查询数据库 string str1 = string.Format("select * from tb_user where \"mobile\" =\'{0}\'", str_mobile); var para3 = new DbParameter[1]; para3[0] = PostgreSQL.NewParameter("@moblie", str_mobile); var quser = PostgreSQL.ExecuteTQuery <User>(str1, null, para3); if (quser.id == task.creator)//判断申请加入农场的用户与输入的用户是否是一样 { //查询数据库,查看任务是否存在 string str_select = "select * from tb_user_task where farm= @farm and creator= @creator and \"type\"=@type;"; var para = new DbParameter[3]; para[0] = PostgreSQL.NewParameter("@creator", task.creator); para[1] = PostgreSQL.NewParameter("@farm", task.farm); para[2] = PostgreSQL.NewParameter("@type", task.type); var qselcet = PostgreSQL.ExecuteTQuery <UserTask>(str_select, null, para); if (qselcet != null)//判断任务是否存在 { resultmsg.status = false; resultmsg.msg = "任务类型已经存在!"; resultmsg.data = null; token = request.Headers["Token"]; } else { //查询获取farm的农场主 string str = "select * from tb_user where farm= @farm and role= 0;"; var para1 = new DbParameter[1]; para1[0] = PostgreSQL.NewParameter("@farm", task.farm); var qfarmer = PostgreSQL.ExecuteTQuery <User>(str, null, para1); if (qfarmer == null)//判断农场是否存在 { //返回信息 resultmsg.status = true; resultmsg.msg = "申请加入的农场id,不存在!"; resultmsg.data = null; token = request.Headers["Token"]; } else { //查询数据库 string str_insert = "insert into tb_user_task(creator,\"type\",description,farm,createdate,examiner) values(@creator,@type,@description,@farm,@createdate,@examiner);"; var trans = PostgreSQL.BeginTransaction(); try { var para2 = new DbParameter[6]; para2[0] = PostgreSQL.NewParameter("@creator", task.creator); para2[1] = PostgreSQL.NewParameter("@type", task.type); para2[2] = PostgreSQL.NewParameter("@description", task.description); para2[3] = PostgreSQL.NewParameter("@farm", task.farm); para2[4] = PostgreSQL.NewParameter("@createdate", DateTime.Now.Date); para2[5] = PostgreSQL.NewParameter("@examiner", qfarmer.id); var num = PostgreSQL.ExecuteNoneQuery(str_insert, trans, para2); PostgreSQL.CommitTransaction(trans); //返回信息 resultmsg.status = true; resultmsg.msg = task.description; resultmsg.data = null; token = request.Headers["Token"]; } catch (Exception ex) { PostgreSQL.RollbackTransaction(trans); //返回信息 resultmsg.status = false; resultmsg.msg = "[ERROR] 数据库操作出现异常:" + ex.Message; resultmsg.data = null; token = request.Headers["Token"]; } } } } else { //返回信息 resultmsg.status = true; resultmsg.msg = "输入的用户id,非申请加入农场用户id"; resultmsg.data = null; token = request.Headers["Token"]; } PostgreSQL.CloseCon();//关闭数据库 //添加响应头 var resultObj = JsonConvert.SerializeObject(resultmsg, Formatting.Indented); response.Headers.Add("Token", token); response.Content = new StringContent(resultObj); return(response); }