Description
Year: 2014
Duration: 5 hours .
Technologies
- Language - VS 2012 - C#.net.
SRS Document
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Configuration;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SqlServer.Server;
namespace ATM.CODES
{
public class UserBL
{
public static bool IsValied(string uname,string pin,out UserModel umodel)
{
try
{
bool isOK = false;
List<UserModel> lstUser = SelectUserModel();
var lst = from a in lstUser
where a.AccNo == uname && a.Pin == pin && a.IsEnable == EEnable.Yes
select a;
UserModel objec = new UserModel();
foreach (var item in lst)
{
objec.State = item.State;
objec.IsEnable = item.IsEnable;
isOK = true;
}
umodel = objec;
return isOK;
}
catch
{
umodel = null;
return false;
}
}
public static bool InsertUser(UserModel model,UserInfoModel objmodel)
{
List<UserModel> lst = SelectUserModel();
lst.Add(model);
bool ok = SaveUser(lst);
List<UserInfoModel> lst2 = SelectUserInfoModel();
lst2.Add(objmodel);
bool ok2 = SaveUserInfo(lst2);
return ok && ok2;
}
public static List<UserModel> SelectUser()
{
List<UserModel> lstUser = SelectUserModel();
IEnumerable<UserModel> lst = (from a in lstUser
where a.AccNo != "admin"
select a).ToList();
return lst.ToList();
}
public static List<UserInfoModel> SelectUserInfo()
{
List<UserInfoModel> lstUser = SelectUserInfoModel();
List<UserModel> lstBasic = SelectUserModel();
IEnumerable<UserInfoModel> lst = (from a in lstUser
where a.AccNo != "admin"
select a).ToList();
foreach (var userInfoModel in lstUser)
{
try
{
userInfoModel.IsEnable =
lstBasic.Where(p => p.AccNo == userInfoModel.AccNo).FirstOrDefault().IsEnable;
}
catch
{
continue;
;
}
}
return lst.ToList();
}
public static bool EnableDisableUser(string acc,EEnable objstate)
{
try
{
List<UserModel> lstInfo = SelectUserModel();
UserModel obj = lstInfo.Where(p => p.AccNo == acc).FirstOrDefault();
obj.IsEnable = objstate;
lstInfo.RemoveAll(p => p.AccNo == acc);
lstInfo.Add(obj);
return SaveUser(lstInfo);
}
catch
{
return true;
}
}
public static bool ChangePin(UserModel model)
{
UserModel obj = new UserModel();
if (!IsValied(model.AccNo, model.Pin, out obj))
{
return false;
}
else
{
List<UserModel> lst = SelectUserModel();
lst.RemoveAll(p => p.AccNo == model.AccNo);
lst.Add(new UserModel()
{
AccNo = model.AccNo,
IsEnable = EEnable.Yes,
Pin = model.NewPin,
State = EUser.Normal,
});
SaveUser(lst);
return true;
}
}
private static bool SaveUser(List<UserModel> lstModel)
{
List<string> lines = new List<string>();
foreach (var item in lstModel)
{
lines.Add(string.Format("{0},{1},{2},{3}", item.AccNo, item.Pin, (int)item.State,
(int)item.IsEnable));
}
String file = PATH.UserFolder;
if (File.Exists(file))
File.Delete(file);
File.WriteAllLines(file, lines.ToArray());
return true;
}
private static List<UserModel> SelectUserModel()
{
//admin,123,1,1
//uname,pin,state,ok
using (var reader = new StreamReader(File.OpenRead(PATH.UserFolder)))
{
List<UserModel> lstModel = new List<UserModel>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
lstModel.Add(new UserModel()
{
AccNo = values[0],
Pin = values[1],
State = (EUser) int.Parse(values[2]),
IsEnable = (EEnable) int.Parse(values[3])
});
}
return lstModel;
}
}
private static List<UserInfoModel> SelectUserInfoModel()
{
//123456,janson,0718920205,1,2005-05-05
using (var reader = new StreamReader(File.OpenRead(PATH.UserInfoFolder)))
{
List<UserInfoModel> lstModel = new List<UserInfoModel>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
lstModel.Add(new UserInfoModel()
{
AccNo = values[0],
Name = values[1],
Phone = values[2],
Gender = (EGender)int.Parse(values[3]),
DOB = values[4]
});
}
return lstModel;
}
}
private static bool SaveUserInfo(List<UserInfoModel> lstModel)
{
////123456,janson,0718920205,1,2005-05-05
List<string> lines = new List<string>();
foreach (var item in lstModel)
{
lines.Add(string.Format("{0},{1},{2},{3},{4}", item.AccNo, item.Name, item.Phone,
(int)item.Gender,item.DOB));
}
String file = PATH.UserInfoFolder;
if (File.Exists(file))
File.Delete(file);
File.WriteAllLines(file, lines.ToArray());
return true;
}
}
}
Budget: LK.Rs. 20000 ( USD 150.00)