visual studio 2022 初学流程

06-01 1647阅读

本文采用总-分的形式讲述流程

1.前端外部可以使用的接口 

     ExternalDataWebService.asmx?op=ReportWaterForWayder

   新建ExternalDataWebService.asmx 文件

 

新建ExternalDataWebService.cs文件,用于外部使用的接口方法

public void ReportWaterForWayder(string userid, string token, string begindate, string enddate)
{
    Context.Response.ContentType = "application/json";
    Context.Response.ContentEncoding = System.Text.Encoding.UTF8;
    Newtonsoft.Json.JsonSerializerSettings jsetting = new Newtonsoft.Json.JsonSerializerSettings();
    JsonConvert.DefaultSettings = new Func(() =>
    {
        //日期类型默认格式化处理
        jsetting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
        jsetting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
        //空值处理
        jsetting.NullValueHandling = NullValueHandling.Ignore;
        return jsetting;
    });
    Resultobject result = new Resultobject();
    try
    {
        result.Reponsecode = "0000";
        result.Reponsedesc = "";
        result.Resultmsg = new ExternalDataBizService().WayderWaterReportDingzhi(userid, token, begindate, enddate);
        Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting));
    }
    catch (AuthException ae)
    {
        result.Reponsecode = "2001";
        result.Reponsedesc = ae.Message;
        result.Resultmsg = null;
        Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting));
    }
    catch (BizException le)
    {
        result.Reponsecode = "1001";
        result.Reponsedesc = le.Message;
        result.Resultmsg = null;
        Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting));
    }
    catch (Exception e)
    {
        result.Reponsecode = "1002";
        result.Reponsedesc = e.Message;
        result.Resultmsg = null;
        Context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented, jsetting));
    }
    finally
    {
        Context.Response.End();
    }
}

2.文中使用到的 new ExternalDataBizService().WayderWaterReportDingzhi(userid, token, begindate, enddate)方法以及WayderWaterReport的数据类型需要分别在ExternalDataBizService.cs文件和WayderWaterReport.cs文件中声明

public List WayderWaterReportDingzhi(string userid, string token, string begindate,string enddate)
{
    #region  日志信息
    UploadLog uploadLog = new UploadLog();
    uploadLog.Uuid = Guid.NewGuid().ToString();
    uploadLog.Cixu = 1;
    uploadLog.Commiter = userid;
    uploadLog.Committime = DateTime.Now;
    uploadLog.Methodname = "WayderWaterReportDingzhi";
    uploadLog.JsonString = token.ToString() + "," + userid + "," + begindate + "," + enddate;
    uploadLog.Desc = "伟达定制:水报表";
    uploadLog.Isdeal = 0;
    #endregion
    #region 初始化json类
    Newtonsoft.Json.JsonSerializerSettings jsetting = new Newtonsoft.Json.JsonSerializerSettings();
    JsonConvert.DefaultSettings = new Func(() =>
    {
        //日期类型默认格式化处理
        jsetting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
        jsetting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
        //空值处理
        jsetting.NullValueHandling = NullValueHandling.Ignore;
        return jsetting;
    });
    #endregion
    try
    {
        #region 判断token有效性
        try
        {
            Api_Auth api_Auth = new Api_Auth(true, DbUtility.getDbconn());
            Api_Auth.AuthInfo authInfo = api_Auth.CheckAuth(userid, token);
            if (authInfo.AccessRes == false)
            {
                throw new AuthException(authInfo.ResMsg);
            }
            userid = authInfo.Username;
        }
        catch (Exception e)
        {
            throw new AuthException(e.Message);
        }
        #endregion
        //数据库连接
        MySqlConnection conn = new MySqlConnection(DbUtility.getDbconn());
        MySqlTransaction trans = null;
        try
        {
            conn.Open();
            if (String.IsNullOrEmpty(begindate))
            {
                throw new BizException("begindate不能为空,请检查");
            }
            if (String.IsNullOrEmpty(enddate))
            {
                throw new BizException("enddate不能为空,请检查");
            }
            //获得用户信息
            Xt_user user = new Xt_userDataService().Get(conn, trans, userid);
            if (user == null) throw new BizException("用户不存在,请检查");
            Xt_dept dept = new Xt_deptDataService().Get(conn, trans, user.Dept);
            if (dept == null) throw new BizException("部门不存在,请检查");
            String cuscode = dept.Abbr;
            if (String.IsNullOrEmpty(cuscode)) throw new BizException("客户代码未设置,请检查");
            //List authorization = new Bb_api_authorizationDataService().GetValid(conn, trans, cuscode);
            //if ((authorization == null) || (authorization.Count == 0)) throw new BizException("客户API访问未授权,请检查");
            Report_dailywaterDataService report_DailywaterDataService = new Report_dailywaterDataService(cuscode);
            Wayder_watersetDataService wayder_WatersetDataService = new Wayder_watersetDataService();
            List result = new List();
            DateTime begintime = Convert.ToDateTime(begindate);
            DateTime endtime = Convert.ToDateTime(enddate);
            //循环体按照日期处理
            do
            {
                WayderWaterReport setdataItem = new WayderWaterReport();
                setdataItem.date = begintime.Date.ToString("yyyy-MM-dd");
                //水表1
                Report_dailywater dailywater1=  report_DailywaterDataService.GetStationDaily(conn,trans, "3007001", begintime.Date);
                if (dailywater1 != null) setdataItem.dailywater3007001 = dailywater1; else setdataItem.dailywater3007001 = new Report_dailywater();
                //水表2
                Report_dailywater dailywater2 = report_DailywaterDataService.GetStationDaily(conn, trans, "30501", begintime.Date);
                if (dailywater1 != null) setdataItem.dailywater30501 = dailywater2; else setdataItem.dailywater30501 = new Report_dailywater();
                //水表3
                Report_dailywater dailywater3 = report_DailywaterDataService.GetStationDaily(conn, trans, "3007002", begintime.Date);
                if (dailywater1 != null) setdataItem.dailywater3007002 = dailywater3; else setdataItem.dailywater3007002 = new Report_dailywater();
                //获取设置值
                Wayder_waterset waterset =wayder_WatersetDataService.GetByDate(conn, trans, begintime.Date);
                if (waterset != null)
                {
                    setdataItem.wayder_Waterset = waterset;
                }
                else
                {
                    setdataItem.wayder_Waterset = new Wayder_waterset();
                    setdataItem.wayder_Waterset.Wastewater_living = 0;
                    setdataItem.wayder_Waterset.Unpolluted_used = 0;
                    setdataItem.wayder_Waterset.Unpolluted_living = 0;
                    setdataItem.wayder_Waterset.Total_water = (decimal)141.3;
                    setdataItem.wayder_Waterset.Industrial_wastewater = 0;
                }
                result.Add(setdataItem);
                begintime = begintime.AddDays(1);
            } while (begintime  255)
				{
					throw new BizException("devicename不能超过255");
				}
				ls_pre = ls_pre + ", DEVICENAME";
				ls_value = ls_value + ",'" + data.Devicename + "'";
			}
			#endregion
			#region occurdate
			if (data.Occurdate == null)
			{
			}
			else
			{
				ls_pre = ls_pre + ", OCCURDATE";
				ls_value = ls_value + ",'" + data.Occurdate.ToString("yyyy-MM-dd HH:mm:ss") + "'";
			}
			#endregion
			#region watermin
			if (data.Watermin == null)
			{
			}
			else
			{
				ls_pre = ls_pre + ", watermin";
				ls_value = ls_value + "," + data.Watermin.ToString() + "";
			}
			#endregion
			#region watermax
			if (data.Watermax == null)
			{
			}
			else
			{
				ls_pre = ls_pre + ", watermax";
				ls_value = ls_value + "," + data.Watermax.ToString() + "";
			}
			#endregion
			#region waterdata
			if (data.Waterdata == null)
			{
			}
			else
			{
				ls_pre = ls_pre + ", waterdata";
				ls_value = ls_value + "," + data.Waterdata.ToString() + "";
			}
			#endregion
			#region creattime
			if ((data.Creattime == null) || (data.Creattime.ToString().Substring(0, 4).Equals("1900")) || (data.Creattime.ToString().Substring(0, 4).Equals("0001")))
			{
			}
			else
			{
				ls_pre = ls_pre + ", CREATTIME";
				ls_value = ls_value + ",'" + data.Creattime.ToString("yyyy-MM-dd HH:mm:ss") + "'";
			}
			#endregion
			return ls_pre + ") " + ls_value + ")";
		}
		/// 
		/// 添加记录
		/// 
		/// Data.Model.Report_dailywater实体类
		/// 新增记录的ID
		public void Add(MySqlConnection conn, MySqlTransaction trans, Report_dailywater data)
		{
			try
			{
				if (conn == null || conn.State != ConnectionState.Open)
				{
					throw new Exception("数据连接不可用");
				}
				string sql = this.GenerateAddSql(data);
				MySqlCommand command;
				if (trans != null)
				{
					command = new MySqlCommand(sql, conn, trans);
				}
				else
				{
					command = new MySqlCommand(sql, conn);
				}
				command.ExecuteNonQuery();
			}
			catch (BizException be)
			{
				throw be;
			}
			catch (Exception e)
			{
				throw new BizException(e.Message);
			}
		}
		/// 
		/// 生成修改sql语句 
		/// 
		/// Report_dailywater实体类
		/// 修改类SQL语句
		private string GenerateUpdateSql(Report_dailywater data)
		{
			string ls_pre = "UPDATE " + custable + " SET ";
			string ls_value = "";
			if (data == null)
			{
				throw new BizException("新建的数据不能为空");
			}
			#region deviceid
			if (data.Deviceid == null)
			{
			}
			else
			{
				ls_value = "DEVICEID=" + data.Deviceid + "";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			#region devicetype
			if (data.Devicetype == null)
			{
			}
			else
			{
				ls_value = ",DEVICETYPE=" + data.Devicetype + "";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			#region devicename
			if (data.Devicename == null)
			{
			}
			else
			{
				if (data.Devicename.Length > 255)
				{
					throw new BizException("devicename不能超过255");
				}
				ls_value = ",DEVICENAME='" + data.Devicename + "'";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			#region occurdate
			if (data.Occurdate == null)
			{
			}
			else
			{
				ls_value = ",OCCURDATE='" + data.Occurdate.ToString("yyyy-MM-dd HH:mm:ss") + "'";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			#region watermin
			if (data.Watermin == null)
			{
			}
			else
			{
				ls_value = ",watermin='" + data.Watermin.ToString() + "'";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			#region watermax
			if (data.Watermax == null)
			{
			}
			else
			{
				ls_value = ",watermax='" + data.Watermax.ToString() + "'";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			#region waterdata
			if (data.Waterdata == null)
			{
			}
			else
			{
				ls_value = ",waterdata='" + data.Waterdata.ToString() + "'";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			#region creattime
			if (data.Creattime == null)
			{
			}
			else
			{
				ls_value = ",CREATTIME='" + data.Creattime.ToString("yyyy-MM-dd HH:mm:ss") + "'";
				ls_pre = ls_pre + ls_value;
			}
			#endregion
			string result = ls_pre + " WHERE id='" + data.Id + "'";
			return result;
		}
		/// 
		/// 根据主键修改记录
		/// 
		public int Update(MySqlConnection conn, MySqlTransaction trans, Report_dailywater data)
		{
			string sql = GenerateUpdateSql(data);
			if (conn == null || conn.State != ConnectionState.Open)
			{
				throw new Exception("数据连接不可用");
			}
			try
			{
				MySqlCommand command;
				if (trans != null)
				{
					command = new MySqlCommand(sql, conn, trans);
				}
				else
				{
					command = new MySqlCommand(sql, conn);
				}
				return command.ExecuteNonQuery();
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
			}
		}
		/// 
		/// 删除记录
		/// 
		public int Delete(MySqlConnection conn, MySqlTransaction trans, Int64 id)
		{
			string sql = "DELETE FROM " + custable + " WHERE id='" + id + "'";
			if (conn == null || conn.State != ConnectionState.Open)
			{
				throw new Exception("数据连接不可用");
			}
			try
			{
				MySqlCommand command;
				if (trans != null)
				{
					command = new MySqlCommand(sql, conn, trans);
				}
				else
				{
					command = new MySqlCommand(sql, conn);
				}
				return command.ExecuteNonQuery();
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
			}
		}
		/// 
		/// 将DataSet转换为List
		/// 
		private List DataSetToList(DataSet dataSet)
		{
			List resultList = new List();
			Report_dailywater model = null;
			for (int i = 0; i  0)
				{
					List resultList = DataSetToList(dataSet);
					return resultList;
				}
				else
				{
					return null;
				}
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
				dataSet = null;
			}
		}
		/// 
		/// 查询所有记录数量
		/// 
		public Int32 GetCount(MySqlConnection conn, MySqlTransaction trans)
		{
			string sql = "SELECT COUNT(*) FROM " + custable;
			if (conn == null || conn.State != ConnectionState.Open)
			{
				throw new Exception("数据连接不可用");
			}
			DataSet dataSet = new DataSet();
			try
			{
				MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn);
				if (trans != null) sqlDA.SelectCommand.Transaction = trans;
				sqlDA.Fill(dataSet);
				if (dataSet.Tables[0].Rows.Count > 0)
				{
					return Convert.ToInt32(dataSet.Tables[0].Rows[0][0].ToString());
				}
				else
				{
					return 0;
				}
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
				dataSet = null;
			}
		}
		/// 
		/// 查询所有记录
		/// 
		public Report_dailywater Get(MySqlConnection conn, MySqlTransaction trans, Int64 id)
		{
			string sql = "SELECT * FROM " + custable + " WHERE id='" + id + "'";
			if (conn == null || conn.State != ConnectionState.Open)
			{
				throw new Exception("数据连接不可用");
			}
			DataSet dataSet = new DataSet();
			try
			{
				MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn);
				if (trans != null) sqlDA.SelectCommand.Transaction = trans;
				sqlDA.Fill(dataSet);
				if (dataSet.Tables[0].Rows.Count > 0)
				{
					List resultList = DataSetToList(dataSet);
					return resultList[0];
				}
				else
				{
					return null;
				}
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
				dataSet = null;
			}
		}
		/// 
		/// 删除记录
		/// 
		public int DeleteByOccuerdate(MySqlConnection conn, MySqlTransaction trans, DateTime occuerdate)
		{
			string sql = "DELETE FROM " + custable + " WHERE occurdate='" + occuerdate.ToString("yyyy-MM-dd HH:mm:ss") + "'";
			if (conn == null || conn.State != ConnectionState.Open)
			{
				throw new Exception("数据连接不可用");
			}
			try
			{
				MySqlCommand command;
				if (trans != null)
				{
					command = new MySqlCommand(sql, conn, trans);
				}
				else
				{
					command = new MySqlCommand(sql, conn);
				}
				return command.ExecuteNonQuery();
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
			}
		}
		/// 
		/// 查询所有记录
		/// 
		public List GetAllByDate(MySqlConnection conn, MySqlTransaction trans, DateTime ocuordate)
		{
			string sql = "SELECT * FROM " + custable + " where occurdate='" + ocuordate.Date.ToString("yyyy-MM-dd HH:mm:ss") + "'";
			if (conn == null || conn.State != ConnectionState.Open)
			{
				throw new Exception("数据连接不可用");
			}
			DataSet dataSet = new DataSet();
			try
			{
				MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn);
				if (trans != null) sqlDA.SelectCommand.Transaction = trans;
				sqlDA.Fill(dataSet);
				if (dataSet.Tables[0].Rows.Count > 0)
				{
					List resultList = DataSetToList(dataSet);
					return resultList;
				}
				else
				{
					return null;
				}
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
				dataSet = null;
			}
		}
		/// 
		/// 查询站点日数据
		/// 
		public Report_dailywater GetStationDaily(MySqlConnection conn, MySqlTransaction trans, string stationid, DateTime ocuordate)
		{
			string sql = "SELECT * FROM " + custable + " where deviceid='" + stationid + "' and occurdate='" + ocuordate.Date.ToString("yyyy-MM-dd HH:mm:ss") + "'";
			if (conn == null || conn.State != ConnectionState.Open)
			{
				throw new Exception("数据连接不可用");
			}
			DataSet dataSet = new DataSet();
			try
			{
				MySqlDataAdapter sqlDA = new MySqlDataAdapter(sql, conn);
				if (trans != null) sqlDA.SelectCommand.Transaction = trans;
				sqlDA.Fill(dataSet);
				if (dataSet.Tables[0].Rows.Count > 0)
				{
					List resultList = DataSetToList(dataSet);
					return resultList[0];
				}
				else
				{
					return null;
				}
			}
			catch (System.Data.OleDb.OleDbException ex)
			{
				throw new Exception("数据库操作异常", ex);
			}
			catch (Exception e)
			{
				throw e;
			}
			finally
			{
				dataSet = null;
			}
		}
		/// 
		/// 汇总月数据
		/// 
		public Decimal GetSum(MySqlConnection conn, MySqlTransaction trans, string stationid, DateTime begintime, DateTime endtime)
		{
			string sql = "SELECT SUM(waterdata) FROM " + custable + " where deviceid='" + stationid + "' and occurdate >= '" + begintime.ToString("yyyy-MM-dd HH:mm:ss") + "' and occurdate 
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码