using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Runtime.Serialization.Json; using System.Web.SessionState; using Dapper; using Dapper.Contrib.Extensions; using System.Data.SqlClient; namespace abbott_2024_event.webapi { /// /// lineLogin 的摘要描述 /// public class lineLogin : IHttpHandler { SqlConnection conn = new SqlConnection(globalClass.appsettings("DBConnectionString")); public void ProcessRequest(HttpContext context) { result objRet = new result(); DataContractJsonSerializer json = new DataContractJsonSerializer(objRet.GetType()); context.Response.ContentType = "application/json;charset=utf-8"; string line_uid = (context.Request["line_uid"] == null) ? "" : context.Request["line_uid"].ToString(); string line_displayName = (context.Request["line_displayname"] == null) ? "" : context.Request["line_displayname"].ToString(); string line_phone = (context.Request["line_phone"] == null) ? "" : context.Request["line_phone"].ToString(); if (line_uid == "") { objRet.ret = "no"; objRet.err_code = "2001"; objRet.message = "line_uid為空字串!"; json.WriteObject(context.Response.OutputStream, objRet); return; } //if (line_displayName == "") //{ // objRet.ret = "no"; // objRet.err_code = "2002"; // objRet.message = "line_displayname為空字串!"; // json.WriteObject(context.Response.OutputStream, objRet); // return; //} //if (line_phone == "") //{ // objRet.ret = "no"; // objRet.err_code = "2003"; // objRet.message = "line_phone為空字串!"; // json.WriteObject(context.Response.OutputStream, objRet); // return; //} lineUser lineUser = conn.QueryFirstOrDefault("select * from lineUser where line_uid = @line_uid", new { line_uid = line_uid }); if (lineUser == null) { lineUser.lineUser_uid = globalClass.CreateRandomCode(32); lineUser.line_uid = line_uid; lineUser.line_displayName = line_displayName; lineUser.line_phone = line_phone; conn.Insert(lineUser); objRet.ret = "yes"; objRet.isFirst = "Y"; json.WriteObject(context.Response.OutputStream, objRet); return; } if (lineUser != null) { if (lineUser.line_displayName != line_displayName) { lineUser.line_displayName= line_displayName; lineUser.lineUser_modifydate = DateTime.Now; conn.Update(lineUser); } if (lineUser.line_phone != line_phone) { lineUser.line_phone= line_phone; lineUser.lineUser_modifydate = DateTime.Now; conn.Update(lineUser); } List babyDatas = conn.Query("select * from babyData where line_uid = @line_uid", new { line_uid = line_uid }).ToList(); foreach (babyData data in babyDatas) { baby baby = new baby(); baby.babyData_uid = data.babyData_uid; baby.babyData_name = data.babyData_name; baby.babyData_gender = data.babyData_sexual; baby.babyData_birthday = data.babyData_birthday.ToString("yyyy/MM/dd"); objRet.babyList.Add(baby); } objRet.isFirst = "N"; objRet.ret = "yes"; json.WriteObject(context.Response.OutputStream, objRet); return; } } public class result { public string ret = "no"; public string err_code = "0000"; public string message = ""; public string isFirst = "N"; public List babyList = new List(); } public class baby { public string babyData_uid { get; set; } = ""; public string babyData_birthday { get; set; } = ""; public string babyData_name { get; set; } = ""; public string babyData_gender { get; set; } = "M"; } public bool IsReusable { get { return false; } } } }