ahmed_sa Ответов: 1

Какой тип данных может принимать таблицу данных внутри класса ?


Проблема
какой тип данных может получать таблицу данных внутри класса в виде branchid и branchname ?
а как получить ?
У меня есть класс пользователи для входа в систему следующим образом :
public class Users
   {
       public string UserName { get; set; }
       public string Password { get; set; }
       public string MessageStatus { get; set; }
       public int StatusCode { get; set; }
       public string StatusText { get; set; }
       public string IpAddress { get; set; }
       public string BrowserInfo { get; set; }
       public ??? branches_datatable {get;set;}
   }

мне нужно получить свойство из класса может иметь значения ветвей datatable, но я не знаю, как написать тип данных внутри класса ?
datatable branches have the following
branchid  branchname
1         englandbranch
2         francebranch


Что я уже пробовал:

 public JsonResult PostUserLogins(Users user)
        {
            int LoginStatus = _AuthunticateService.PostUserLogin(user.UserName,user.Password ,out DataTable Branches,out string errorMessage, out int statusCode);
           
           if(LoginStatus == 1)
            {
                user.StatusCode = statusCode;
                user.StatusText = "failed";
                user.MessageStatus = "login failed, incorrect username or password";
Datatable dtGetBranches = DataAccess.ExecuteDataTable(
                           SqlFactory.Queries.Users_GetBranches(
                                                       DataAccess.Credentials.SystemUserID));
user.???? branches_datatable=dtGetBranches 
// how to assign datatable to property of class here and what property for class datatable 
            }
}

1 Ответов

Рейтинг:
1

Suvendu Shekhar Giri

Лучшим подходом было бы иметь отдельный класс со свойствами для Ветка и сделать его ребенка Пользователи Может быть, что-то вроде следующего-

public class Branch{
   public string BranchId { get; set; }
   public string BranchName { get; set;}
}

public class Users
   {
       public string UserName { get; set; }
       public string Password { get; set; }
       public string MessageStatus { get; set; }
       public int StatusCode { get; set; }
       public string StatusText { get; set; }
       public string IpAddress { get; set; }
       public string BrowserInfo { get; set; }
       public IList<Branch> Branches {get;set;}
   }

А чтобы преобразовать ваш datatable в IList ветви, вы можете попробовать сделать что-то вроде следующего-
var branches = from yourDataTable in YourDataTable.AsEnumerable()
                select new Branches
                {
                    BranchId = Convert.ToString(yourDataTable["BranchId"]),
                    BranchName = Convert.ToString(yourDataTable["BranchName"])
                };


Пожалуйста, дайте мне знать, если это не сработает.

Спасибо