[後端] 修改程序

This commit is contained in:
dev02 2023-10-24 17:59:04 +08:00
parent aee3b1564c
commit 2c69e4d0b2

View File

@ -695,40 +695,120 @@ namespace FrontendWebApi.ApiControllers
}
try
{
string authHeader = HttpContext.Request.Headers["Authorization"];
var websiteurl = await frontendRepository.GetOneAsync<string>("select system_value from variable where system_type = 'website_config' and system_key = 'website_url' ");
//傳送到後台API
HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{websiteurl}api/Device/SaveChangeName");
request.Method = "POST";
request.Headers.Add("Authorization", authHeader);
request.ContentType = "application/x-www-form-urlencoded";
request.PreAuthenticate = true;
NameValueCollection postParams = System.Web.HttpUtility.ParseQueryString(string.Empty);
postParams.Add("TagName", change.TagName);
postParams.Add("ChangeN", change.ChangeN);
postParams.Add("ChooseTable", change.ChooseTable.ToString());
byte[] postData = Encoding.UTF8.GetBytes(postParams.ToString());
using (Stream st = request.GetRequestStream())
if (change.ChooseTable == 0)
{
st.Write(postData, 0, postData.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
var statusNumber = (int)response.StatusCode;
if (statusNumber != 200)
//一般設備
var GetOne = await backendRepository.GetOneAsync<Device>("device", $" device_number = '{change.TagName}'");
if (GetOne == null)
{
throw new NotImplementedException(responseString);
apiResult.Data = "查無資料";
apiResult.Code = "0001";
}
else
{
//解析回傳內容
var final = JObject.Parse(responseString);
//修改設備名稱
Dictionary<string, object> ChangeN = new Dictionary<string, object>();
ChangeN = new Dictionary<string, object>()
{
{ "@full_name", change.ChangeN},
{ "@updated_at",DateTime.Now},
};
await backendRepository.UpdateOneByCustomTable(ChangeN, "device", $" device_number = '{change.TagName}'");
apiResult.Code = final["code"].ToString();
apiResult.Data = final["data"].ToString();
//記錄使用者操作紀錄
Dictionary<string, object> userOperatorLog = new Dictionary<string, object>()
{
{ "@user_guid", myUser.userinfo_guid },
{ "@operation_type", 1 }, //1名稱修改
{ "@building_tag", GetOne.device_building_tag },
{ "@main_system_tag", GetOne.device_system_tag },
{ "@sub_system_tag", GetOne.device_name_tag },
{ "@floor_tag", GetOne.device_floor_tag },
{ "@device_guid", GetOne.device_guid },
{ "@action_name", "修改名稱" },
{ "@parameter", JsonConvert.SerializeObject(change) },
};
await backendRepository.AddOneByCustomTable(userOperatorLog, "operation_log");
apiResult.Data = "更改成功";
apiResult.Code = "0000";
}
}
else
{
//燈控設備
var GetOne = await backendRepository.GetOneAsync<string>("device_master", $" device_master_number = '{change.TagName}'");
if (GetOne == null)
{
apiResult.Data = "查無資料";
apiResult.Code = "0001";
}
else
{
Dictionary<string, object> ChangeN = new Dictionary<string, object>();
ChangeN = new Dictionary<string, object>()
{
{ "@device_master_full_name", change.ChangeN},
{ "@updated_at",DateTime.Now},
};
await backendRepository.UpdateOneByCustomTable(ChangeN, "device_master", $" device_master_number = '{change.TagName}'");
////記錄使用者操作紀錄
//Dictionary<string, object> userOperatorLog = new Dictionary<string, object>()
//{
// { "@user_guid", myUser },
// { "@operation_type", 1 }, //1名稱修改
// { "@building_guid", GetOne.Building_guid },
// { "@main_system_guid", GetOne.Main_system_guid },
// { "@sub_system_guid", GetOne.Sub_system_guid },
// { "@floor_guid", GetOne.Floor_guid },
// { "@device_guid", GetOne.Device_guid },
// { "@action_name", "修改名稱" },
// { "@parameter", JsonConvert.SerializeObject(change) },
//};
//await backendRepository.AddOneByCustomTable(userOperatorLog, "operation_log");
apiResult.Data = "更改成功";
apiResult.Code = "0000";
}
}
//string authHeader = HttpContext.Request.Headers["Authorization"];
//var websiteurl = await frontendRepository.GetOneAsync<string>("select system_value from variable where system_type = 'website_config' and system_key = 'website_url' ");
////傳送到後台API
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{websiteurl}api/Device/SaveChangeName");
//request.Method = "POST";
//request.Headers.Add("Authorization", authHeader);
//request.ContentType = "application/x-www-form-urlencoded";
//request.PreAuthenticate = true;
//NameValueCollection postParams = System.Web.HttpUtility.ParseQueryString(string.Empty);
//postParams.Add("TagName", change.TagName);
//postParams.Add("ChangeN", change.ChangeN);
//postParams.Add("ChooseTable", change.ChooseTable.ToString());
//byte[] postData = Encoding.UTF8.GetBytes(postParams.ToString());
//using (Stream st = request.GetRequestStream())
//{
// st.Write(postData, 0, postData.Length);
//}
//HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
//var statusNumber = (int)response.StatusCode;
//if (statusNumber != 200)
//{
// throw new NotImplementedException(responseString);
//}
//else
//{
// //解析回傳內容
// var final = JObject.Parse(responseString);
// apiResult.Code = final["code"].ToString();
// apiResult.Data = final["data"].ToString();
//}
}
catch (Exception exception)
{
apiResult.Code = "9999";