休暇理由の Enum を作成しました。これを文字列に変換したいのですが、エラーが発生します。
実際には、データセットを使用してグリッドビューでデータをバインドしたいのですが、この目的のためにレイヤーで作業しています。
質問の回答が 1 行になることはわかっていますが、さまざまなサイトから正確な解決策が見つからなかったため、ここで質問することにしました
私はC#が初めてなので助けてください
カスタムタイプレイヤーの列挙型クラスは次のとおりです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sherserve.CustomTypeLayer
{
public enum LeaveReason
{
Sick,
Planned,
Other
}
}
最後に、ビジネス ロジック レイヤーを次に示します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sherserve.DataAccessLayer;
using Sherserve.CustomTypeLayer;
using System.Data;
namespace Sherserve.BusinessLogicLayer
{
public class LMSManager
{
LMSRepository objLMSRepository = new LMSRepository();
public void EmployeeLeave(EmployeeLeave LeaveInsert)
{
objLMSRepository.InsertLeave(LeaveInsert);
}
public List<CustomTypeLayer.EmployeeLeave> GetLeaveRecord(int emplid)
{
DataSet ds = objLMSRepository.GetLeaveRecord(emplid);
List<EmployeeLeave> leavelist = new List<EmployeeLeave>();
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
for (int a; a < ds.Tables[0].Rows.Count; a++)
{
DataRow dr = ds.Tables[0].Rows[a];
EmployeeLeave leave = new EmployeeLeave();
leave.DateFrom = Convert.ToDateTime(dr["dt_from"]);
leave.DateTo = Convert.ToDateTime(dr["dt_to"]);
leave.EmployeeId = Convert.ToInt32(dr["EmployeeID"]);
leave.Reason = Convert.ToString(dr["txt_reason"]);
//leave.LeaveType = Convert.ToString(dr["id_leave_type"]);
leavelist.Add(leave);
}
}
return leavelist;
}
}
}
私がコメントしたビジネスロジック層で見ることができます
leave.LeaveType = Convert.ToString(dr["id_leave_type"]);
実際には LeaveType は列挙型であり、今は文字列に変換したいので、エラーは表示されません....