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();
if (line_uid == "")
{
objRet.ret = "no";
objRet.err_code = "2001";
objRet.message = "line_uid或line_displayname為空字串!";
json.WriteObject(context.Response.OutputStream, objRet);
return;
}
if (line_displayName == "")
{
objRet.ret = "no";
objRet.err_code = "1005";
objRet.message = "line_displayname為空字串!";
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;
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);
}
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_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_birthday { get; set; } = "";
public string babyData_name { get; set; } = "";
public string babyData_gender { get; set; } = "M";
}
public bool IsReusable
{
get
{
return false;
}
}
}
}