Search This Blog

Wednesday, May 20, 2015

windows grid application with multiple cell types




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Disala
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            LoadInfo();
        }

        void LoadInfo()
        {
            dataGridView1.ColumnCount = 3;
            dataGridView1.Columns[0].Name = "Person ID";
            dataGridView1.Columns[1].Name = "Person Name";
            dataGridView1.Columns[2].Name = "DOB";

            var x = new PersonRepo().GetPerson();
            foreach (var item in x)
            {
                dataGridView1.Rows.Add(new string[] { item.Id.ToString(),item.Name,
                    item.Dob.ToShortDateString() });
            }

            DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
            cmb.HeaderText = "Select Gender";
            cmb.Name = "cmb";
            cmb.MaxDropDownItems = 4;
            cmb.Items.Add("Male");
            cmb.Items.Add("Female");
            dataGridView1.Columns.Add(cmb);

            foreach (DataGridViewRow item in dataGridView1.Rows) 
            {
                try
                {
                    DataGridViewComboBoxCell a = item.Cells[3] as DataGridViewComboBoxCell;
                    DataGridViewTextBoxCell id = item.Cells[0] as DataGridViewTextBoxCell;
                    a.Value = x.Where(p => p.Id == int.Parse(id.Value.ToString())).FirstOrDefault().Gender;
                }
                catch { break; }
            }
        }

        DateTimePicker oDateTimePicker = new DateTimePicker();
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 2)
            {
                dataGridView1.Controls.Add(oDateTimePicker);
                oDateTimePicker.Format = DateTimePickerFormat.Short;
                Rectangle oRectangle = dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);
                oDateTimePicker.Size = new Size(oRectangle.Width, oRectangle.Height);
                oDateTimePicker.Location = new Point(oRectangle.X, oRectangle.Y); 
                oDateTimePicker.CloseUp += new EventHandler(oDateTimePicker_CloseUp);
                oDateTimePicker.TextChanged += new EventHandler(dateTimePicker_OnTextChange);
                oDateTimePicker.Visible = true;
            }
        }

        private void oDateTimePicker_CloseUp(object sender, EventArgs e)
        {
            oDateTimePicker.Visible = false;
        }
        private void dateTimePicker_OnTextChange(object sender, EventArgs e)
        {
            dataGridView1.CurrentCell.Value = oDateTimePicker.Text.ToString();
        }

        private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            listBox1.Items.Add($@"row:{e.RowIndex} / col:{e.ColumnIndex} 
                        ==> {dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()}");
        }
    }


    public class PersonRepo {

        Random rd = new Random();
        List<Person> lstPerson = null;
        public PersonRepo()
        {
            lstPerson = new List<Person>();
            for (int i = 0; i < 100; i++)
            {
                lstPerson.Add(new Person {
                    Id = i,
                    Name = $"Name_{i}",
                    Dob = new DateTime(rd.Next(1990, 2010), rd.Next(1, 10), rd.Next(1, 20)),
                    Gender = (rd.Next(0,10)%2==0)?"Male":"Female"
                });
            }

        }

        public List<Person> GetPerson() {

            return lstPerson;
        }

    }

    public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public DateTime Dob { get; set; }
        public string Gender { get; set; }
    }


}

Thursday, May 14, 2015

kidney disease diagnosis (data mining and image processing)

Description

       Year: 2014
       Duration: 5 hours .
       Budget: LK.Rs. 75000 ( USD 560.00)

Technologies

  1.   Language - VS 2012 - C#.net.
  2. SQL server 2008 R2

SRS Document



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)


Wednesday, May 13, 2015

Simple Taxi Reservation system


Description
       Year: 2014
       Duration: 5 hours .
       

Technologies

  1.   Language - VS 2012 - C#.net.
  2.   SQL server Database
Budget: LK.Rs. 55,00 ( USD 42.00)