Search This Blog

Thursday, May 14, 2015

C# simple atm system demo using csv file

Description
       Year: 2014
       Duration: 5 hours .
     

Technologies

  1.   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)


No comments:

Post a Comment