public static EmployeeInfo LoadEmployeeInfo(string sUserName) { DataTable tbl = Common.DAL.GetUseInfo (sUserName); if (tbl.Rows.Count > 0) { DataRow dataRow = tbl.Rows[0]; EmployeeInfo empInfo = new EmployeeInfo(); empInfo._Employee = Cvt.ToInt64(dataRow["_Employee"]); empInfo.Use_AD_Login = Cvt.ToBoolean(dataRow["Use_AD_Login"]); empInfo.Change_Pwd_When_Next_Login = Cvt.ToBoolean(dataRow["Change_Pwd_When_Next_Login"]); empInfo.AD_Account = Cvt.ToString(dataRow["AD_Account"]); empInfo._Status = (Status)Enum.Parse(typeof(Status), Cvt.ToString(dataRow["_Status"]), true); empInfo.Name = Cvt.ToString(dataRow["Name"]); empInfo.HashPassword = Cvt.ToString(dataRow["Password"]); empInfo.Language = Cvt.ToString(dataRow["Language"]); empInfo.Login_Attempt = Cvt.ToInt32(dataRow["Login_Attempt"]); empInfo.Update_Time = Cvt.ToDateTime(dataRow["Update_Time"]); //mysql数据库中此字段名为Gravatar,已更改 empInfo._Attachment_Gravatar = Cvt.ToInt64(dataRow["_Attachment_Gravatar"]); empInfo.Fullname = Cvt.ToString(dataRow["Fullname"]); empInfo.Description = Cvt.ToString(dataRow["Description"]); empInfo.Email_Address = Cvt.ToString(dataRow["Email_Address"]); empInfo.Telphone_Number = Cvt.ToString(dataRow["Telphone_Number"]); empInfo.Login_Time = Cvt.ToDateTime(dataRow["Login_Time"]); empInfo.lastLoginFrom_IP = Cvt.ToString(dataRow["From_IP"]); empInfo.lastLoginFrom_MAC = Cvt.ToString(dataRow["From_MAC"]); empInfo.lastLoginFrom_Host = Cvt.ToString(dataRow["From_Host"]); empInfo.lastLoginResult = (LoginResult)Enum.Parse(typeof(LoginResult), Cvt.ToNumString(dataRow["_Login_Result"], "1"), true);; return(empInfo); } return(null); }
private void AddFieldValue(changeStatus nStatus, Field Fld, Dictionary <string, object> row, EmployeeInfo emp, string HistoryForeignKey, ref string sSql, ref string sValList) { //if (Fld.editor == Editor.none) // return; string sVal = QuoteNull; object val = null; if ((Fld.editor & Editor.order) != Editor.none) { val = row["__index"]; } else if (row.ContainsKey(Fld) && row[Fld] != null) { val = row[Fld]; if (Fld.type == FieldType.Int && Cvt.IsNumerical(val) == false) { val = null; } } else if (nStatus == changeStatus.AddHistory) { if (sSql.Length > 0) { sSql += ","; } sSql += QuoteField(Fld); if (sValList.Length > 0) { sValList += ","; } if (Fld.name.Equals("Update_Time", StringComparison.OrdinalIgnoreCase) || Fld.name.Equals("Create_Time", StringComparison.OrdinalIgnoreCase)) { sValList += FuncCurrentTimestamp; } else { sValList += QuoteField(Fld); } return; } else if (nStatus == changeStatus.Where)//条件语句不关心没有给值的字段 { return; } if (val != null && val.GetType() == typeof(string)) { if (Cvt.IsNumerical(val)) { sVal = val.ToString(); } else { sVal = QuoteValue(val.ToString()); } } else if (Fld.name.Equals("_Employee_Update", StringComparison.OrdinalIgnoreCase)) { if (nStatus == changeStatus.Where) { return; } sVal = emp._Employee.ToString(); } //else if (val == null && Fld.name.Equals("_Site", StringComparison.OrdinalIgnoreCase)) //{ // sVal = emp._Site_Working.ToString(); //} //else if (val == null && Fld.name.Equals("_Project", StringComparison.OrdinalIgnoreCase)) //{ // sVal = emp._Project_Working.ToString(); //} else if (Fld.name.Equals(HistoryForeignKey, StringComparison.OrdinalIgnoreCase) && nStatus == changeStatus.Add) { sVal = "@nLastPrimaryID"; } else { try { if (val != null) { sVal = Convert.ToInt64(val).ToString(); } else if (nStatus != changeStatus.AddHistory) { return; } } catch (Exception) { } } if (nStatus == changeStatus.Add) { if (Fld.name.Equals("Update_Time", StringComparison.OrdinalIgnoreCase) == false && Fld.name.Equals("Create_Time", StringComparison.OrdinalIgnoreCase) == false) { if (sSql.Length > 0) { sSql += ","; } sSql += QuoteField(Fld); if (sValList.Length > 0) { sValList += ","; } sValList += sVal; } } else if (nStatus == changeStatus.Update) { if (sSql.Length > 0) { sSql += ","; } if (Fld.name.Equals("Update_Time", StringComparison.OrdinalIgnoreCase) || Fld.name.Equals("Create_Time", StringComparison.OrdinalIgnoreCase)) { sSql += QuoteField(Fld) + "=" + FuncCurrentTimestamp; } else { sSql += QuoteField(Fld) + "=" + sVal; } } else if (nStatus == changeStatus.Where) { if (Fld.name.Equals("Update_Time", StringComparison.OrdinalIgnoreCase) || Fld.name.Equals("Create_Time", StringComparison.OrdinalIgnoreCase)) { return;//条件语句不关心创建时间或更新时间 } else { if (sSql.Length > 0) { sSql += " AND "; } sSql += QuoteField(Fld) + "=" + sVal; } } else if (nStatus == changeStatus.AddHistory) { if (sSql.Length > 0) { sSql += ","; } sSql += QuoteField(Fld); if (sValList.Length > 0) { sValList += ","; } if (Fld.name.Equals("Update_Time", StringComparison.OrdinalIgnoreCase) || Fld.name.Equals("Create_Time", StringComparison.OrdinalIgnoreCase)) { sValList += FuncCurrentTimestamp; } else { sValList += sVal; } } }