Files

84 lines
2.8 KiB
C#

using DaireApplication.DataBase;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AvaloniaApplication1.DataBase
{
public class UserTable
{
public int Id { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public bool CanEdit { get; set; }
public bool IsAdmin { get; set; }
public bool IsActive { get; set; }
public List<UserTable> ReadUsers()
{
string filePath = DataPathManager.GetDataFilePath("Users.csv");
List<UserTable> users = new List<UserTable>();
if (File.Exists(filePath))
{
string[] lines = File.ReadAllLines(filePath);
for (int i = 1; i < lines.Length; i++) // Skip header
{
string[] columns = lines[i].Split(',');
users.Add(new UserTable
{
Id = int.Parse(columns[0]),
UserName = columns[1],
Password = columns[2],
CanEdit = columns[3] =="1" ?true:false,
IsAdmin=columns[4] =="1" ?true: false,
IsActive=columns[5] =="1" ?true: false,
});
}
return users;
}
else
{
return null;
}
}
public bool UpdateUser(UserTable updatedUser)
{
string filePath = DataPathManager.GetDataFilePath("Users.csv");
if (File.Exists(filePath))
{
string[] lines = File.ReadAllLines(filePath);
bool userFound = false;
for (int i = 1; i < lines.Length; i++)
{
string[] columns = lines[i].Split(',');
if (int.Parse(columns[0]) == updatedUser.Id)
{
columns[1] = updatedUser.UserName;
columns[2] = updatedUser.Password;
columns[3] = updatedUser.CanEdit ? "1" : "0";
columns[4] = updatedUser.IsAdmin ? "1" : "0";
columns[5] = updatedUser.IsActive ? "1" : "0";
lines[i] = string.Join(",", columns);
userFound = true;
break;
}
}
if (userFound)
{
File.WriteAllLines(filePath, lines);
return true;
}
}
return false;
}
}
}