Files
17168ERP/web/admin/HR/reg.aspx.cs
2025-08-29 01:27:25 +08:00

429 lines
17 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Data.Entity.Infrastructure;
public partial class admin_hr_reg : MyWeb.config
{
private Model.ezEntities _db = new Model.ezEntities();
public string _admin_id = "";
protected void Page_Load(object sender, EventArgs e)
{
CallAjax();
if (!IsPostBack)
{
if (isStrNull(Request["num"]))
{
}
else
{
int _num = Val(Request["num"]);
var qry = _db.members.AsEnumerable();
var prod = qry.Where(q => q.num == _num).FirstOrDefault();
//var prod = _db.members.Where(q => q.num == _num).ToList();
if (prod != null)
//if (prod.Count>0)
{
MyWeb.encrypt encrypt = new MyWeb.encrypt();
object[] ctrlist = { f_num, m_number, u_name, sex, id_code, birthday, blood, educational, refugedate, refuge_name,refuge_area, demo
, takedate, leavedate, salary, group_kind, title_kind, phone, com_email, email, contact, address1, address2 };
try
{
foreach (Control obj in ctrlist)
{
if (obj is TextBox)
{
var ObjValue = prod.GetType().GetProperty(obj.ID).GetValue(prod, null);
if (!isStrNull(ObjValue))
{
var textBox = (TextBox)obj;
if (textBox.TextMode == TextBoxMode.Date)
{
textBox.Text = Convert.ToDateTime(ObjValue).ToString("yyyy-MM-dd");
}
else if (!isStrNull(textBox.Attributes["data-encrypt"]) && ValString(textBox.Attributes["data-encrypt"]).Equals("Y"))
textBox.Text = encrypt.DecryptAutoKey(ObjValue.ToString());
else
{
textBox.Text = ObjValue.ToString();
}
}
}
else if (obj is DropDownList && ((DropDownList)obj).SelectedIndex == 0)
{
var ObjValue = prod.GetType().GetProperty(obj.ID).GetValue(prod, null);
if (!isStrNull(ObjValue))
{
var dropDown = (DropDownList)obj;
dropDown.SelectedValue = ObjValue.ToString();
}
}
}
}
catch (Exception)
{
}
for (int i = 1; i <= Model.member.picMax; i++)
{
if (prod.pic1 != "")
{
((CheckBox)Panel1.FindControl("CheckBox" + i.ToString())).Visible = true;
ViewState["pic" + i.ToString()] = prod.pic1;
Image img = (Image)Panel1.FindControl("Image" + i.ToString());
img.Visible = true;
img.ImageUrl = "../../App_Script/DisplayCut.ashx?file=" + Model.member.Dir.Replace("~/upload/","") + "/" + prod.pic1 + "&w=150&h=150";
}
}
if (prod.f_num.HasValue)
{
f_num_txt.Value = prod.follower.f_number.ToString();
f_num.Value = prod.f_num.ToString();
}
if (prod.admin_num.HasValue)
{
admin_num_txt.Value = prod.admin.u_id.ToString();
admin_num.Value = prod.admin_num.ToString();
_admin_id = prod.admin_num.ToString();
}
if (prod.group_kind.HasValue)
{
group_kind_txt.Value = prod.member_group.kind.ToString();
group_kind.Value = prod.group_kind.ToString();
}
if (prod.title_kind.HasValue)
{
title_kind_txt.Value = prod.member_title.kind.ToString();
title_kind.Value = prod.title_kind.ToString();
}
edit.Visible = true;
goback.Visible = true;
add.Visible = false;
}
else
{
Response.Redirect("index.aspx");
}
}
}
}
protected void goback_Click(object sender, EventArgs e)
{
Response.Redirect("index.aspx?page=" + Convert.ToString(Request["page"]));
}
#region
protected void add_Click(object sender, EventArgs e)
{
if (Page.IsValid) {
L_msg.Text = "";
if (chk_pro_num(m_number.Text))
{
MyWeb.fileSystem fileSystem = new MyWeb.fileSystem();
string[] pic_name = fileSystem.UploadPhoto(Model.member.Dir, 800, admin.info.num); //縮圖的寬高不得超過800象素如果不是圖片也會傳
MyWeb.encrypt encrypt = new MyWeb.encrypt();
Model.member member = new Model.member();//新增
object[] ctrlist = { f_num, m_number, u_name, sex, id_code, birthday, blood, educational, refugedate, refuge_name,refuge_area, demo
, admin_num, takedate, leavedate, salary, group_kind, title_kind, phone, com_email, email, contact, address1, address2 };
member.pic1 = pic_name[0];
try
{
foreach (Control obj in ctrlist)
{
if (obj is TextBox)
{
var ObjValue = member.GetType().GetProperty(obj.ID);
var textBox = (TextBox)obj;
if (!isStrNull(textBox.Text))
{
if (textBox.TextMode == TextBoxMode.Date)
ObjValue.SetValue(member, selectDate(textBox));
else if (!isStrNull(((TextBox)obj).Attributes["data-encrypt"]) && ValString(textBox.Attributes["data-encrypt"]).Equals("Y"))
ObjValue.SetValue(member, encrypt.EncryptAutoKey(textBox.Text.Trim()));
else
ObjValue.SetValue(member, ((TextBox)obj).Text.Trim());
}
else
ObjValue.SetValue(member, null);
}
else if (obj is DropDownList)
{
var ObjValue = member.GetType().GetProperty(obj.ID);
var dropDown = (DropDownList)obj;
if (!isStrNull(dropDown.SelectedValue))
{
if (!isStrNull(dropDown.Attributes["data-int"]) && ValString(dropDown.Attributes["data-int"]).Equals("Y"))
ObjValue.SetValue(member, Val(dropDown.SelectedValue));
else
ObjValue.SetValue(member, dropDown.SelectedValue);
}
else
ObjValue.SetValue(member, null);
}
else if (obj is HiddenField)
{
var ObjValue = member.GetType().GetProperty(obj.ID);
var dropDown = (HiddenField)obj;
if (!isStrNull(dropDown.Value))
{
ObjValue.SetValue(member, Val(dropDown.Value));
}
else
ObjValue.SetValue(member, null);
}
}
_db.members.Add(member);
_db.SaveChanges();
Model.admin_log admin_log = new Model.admin_log();
admin_log.writeLog(admin.info.u_id, (int)Model.admin_log.Systems.HR, (int)Model.admin_log.Status.Insert, m_number.Text+ u_name.Text);
Response.Redirect("index.aspx");
}
catch (Exception ex)
{
//L_msg.Text = ex.Message;
}
}
else
{
L_msg.Type = alert_type.danger;
L_msg.Text = "人員編號重複";
}
}
}
#endregion
#region
protected void edit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
L_msg.Text = "";
int _num = Val(Request["num"]);
if (chk_pro_num(m_number.Text, _num))
{
MyWeb.fileSystem fileSystem = new MyWeb.fileSystem();
string[] pic_name = fileSystem.UploadPhoto(Model.member.Dir, 800, admin.info.num); //縮圖的寬高不得超過800象素如果不是圖片也會傳
MyWeb.encrypt encrypt = new MyWeb.encrypt();
Model.member member = _db.members.Where(q => q.num == _num).FirstOrDefault();//修改
if (member != null)
{
object[] ctrlist = { f_num, m_number, u_name, sex, id_code, birthday, blood, educational, refugedate, refuge_name,refuge_area, demo
, admin_num, takedate, leavedate, salary, group_kind, title_kind, phone, com_email, email, contact, address1, address2 };
try
{
foreach (Control obj in ctrlist)
{
if (obj is TextBox)
{
var ObjValue = member.GetType().GetProperty(obj.ID);
var textBox = (TextBox)obj;
if (!isStrNull(textBox.Text))
{
if (textBox.TextMode == TextBoxMode.Date)
ObjValue.SetValue(member, selectDate(textBox));
else if (!isStrNull(((TextBox)obj).Attributes["data-encrypt"]) && ValString(textBox.Attributes["data-encrypt"]).Equals("Y"))
ObjValue.SetValue(member, encrypt.EncryptAutoKey(textBox.Text.Trim()));
else
ObjValue.SetValue(member, ((TextBox)obj).Text.Trim());
}
else
ObjValue.SetValue(member, null);
}
else if (obj is DropDownList)
{
var ObjValue = member.GetType().GetProperty(obj.ID);
var dropDown = (DropDownList)obj;
if (!isStrNull(dropDown.SelectedValue))
{
if (!isStrNull(dropDown.Attributes["data-int"]) && ValString(dropDown.Attributes["data-int"]).Equals("Y"))
ObjValue.SetValue(member, Val(dropDown.SelectedValue));
else
ObjValue.SetValue(member, dropDown.SelectedValue);
}
else
ObjValue.SetValue(member, null);
}
else if (obj is HiddenField)
{
var ObjValue = member.GetType().GetProperty(obj.ID);
var dropDown = (HiddenField)obj;
if (!isStrNull(dropDown.Value))
{
ObjValue.SetValue(member, Val(dropDown.Value));
}
else
ObjValue.SetValue(member, null);
}
}
}
catch (Exception ex)
{
L_msg.Text = ex.Message;
}
for (int i = 1; i <= fileSystem.Count(); i++)
{
CheckBox ck = (CheckBox)Panel1.FindControl("CheckBox" + i.ToString());
if (pic_name[i - 1] != "" | ck.Checked)
{
member.pic1 = pic_name[i - 1].ToString();
if (!isStrNull(ViewState["pic" + i.ToString()]))
{
fileSystem.Delete(Model.member.Dir + "/" + ViewState["pic" + i.ToString()]);
}
}
}
try
{
if (isStrNull(L_msg.Text))
{
_db.SaveChanges();
Model.admin_log admin_log = new Model.admin_log();
admin_log.writeLog(admin.info.u_id, (int)Model.admin_log.Systems.HR, (int)Model.admin_log.Status.Update, m_number.Text + u_name.Text);
Response.Redirect("index.aspx?page=" + Convert.ToString(Request["page"]));
}
}
catch (Exception ex)
{
L_msg.Type = alert_type.danger;
//L_msg.Text = ex.InnerException.Message;
L_msg.Text = "操作失敗";
}
}
else
{
L_msg.Type = alert_type.danger;
L_msg.Text = "查無資料";
}
}
else
{
L_msg.Type = alert_type.danger;
L_msg.Text = "人員編號重複";
}
}
}
#endregion
#region
protected bool chk_pro_num(string txt,int num=0)
{
bool success=false;
var qry = _db.members.AsEnumerable();
qry = qry.Where(q => q.m_number == txt);
if (num > 0)
qry = qry.Where(q => q.num != num);
var prod = qry.FirstOrDefault();
success = (prod == null);
return success;
}
#endregion
#region Ajax
protected void CallAjax()
{
if (!isStrNull(Request["type"]))
{
Response.Clear();
Response.ContentType = "application/json";
AjaxInfo info = new AjaxInfo();
info.isOk = false;
info.msg = "";
if (ValString(Request["type"]) == "chkNo")
{
if (!isStrNull(Request["txt"]) )
{
info.isOk = chk_pro_num(ValString(Request["txt"]), !isStrNull(Request["id"]) ? Val(Request["id"]) : 0);
if (!info.isOk)
info.msg = "人員編號重複";
}
else
{
info.isOk = true;
info.msg = "";
}
}
else
{
info.msg = "參數不正確";
}
Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(info));
Response.End();
}
}
public class AjaxInfo
{
public bool isOk { get; set; }
public string msg { get; set; }
}
#endregion
}